裝置間的溝通-遙控車子

裝置間的溝通-遙控車子

以micro:bit 的 BLE功能討論 ,當遙控端的裝置為何?

  • micro:bit車 對  micro:bit
  • micro:bit車 對  行動裝置

當 micro:bit車上有紅外線接收器,用家電常見的遙控器


micro:bit車 對  micro:bit

有控制器按鈕擴充板 gamer:bit gamepad KSB045遙桿 ...

.

gamer:bit 案例

gamer:bit 規格說明官網頁

gamer:bit 官網說明手冊

micro:bit 添加套件以 gamer:bit 搜索
或 網址: 
https://github.com/sparkfun/pxt-gamer-bit
https://github.com/d1runberg/pxt-gamerbit
建議用搜索方式的添加套件

funtion import gamerbit

二個功能積木

gamer:bit funtion

案例1:

gamer:bit remove car

程式<<下載 線上分享:  https://makecode.microbit.org/_CrU08DJuKTyf

目前是BLE廣播模式,定義 傳送 0為停止、1前進、 2後退、 3左轉、 4右轉

車子端以BLE傳送方式對應接受數字碼做該做動的程式

bit:bot小車版案例:

ble bit:bot

程式<<下載 線上分享: https://makecode.microbit.org/_CeyAEpCVbKwE

在 bit:bot 亮燈 程式<<下載 線上分享: https://makecode.microbit.org/_cHt97cgczYVD

.

DFRobot 麥昆小車版案例:

BLE 麥昆小車程式

程式<<下載 線上分享: https://makecode.microbit.org/_fMt41Jcp7et6

智高 micro:bit系列積木 巡跡車

gigo micro:bit 車 程式

程式<<下載 線上分享: https://makecode.microbit.org/_MDYJbqJWd6DC

.

python 參考資料: https://github.com/MrYsLab/gamerbit

.

.

.

gamepad 案例

官網教學網(英文)

黃輝聲大師分享: https://github.com/mymell2003/DFRobot-pxt-gamePad 繁中版

這物件 [添加積木]  網址: https://github.com/DFRobot/pxt-gamePad 

gamePad add

增加積木

gamePad blocklys list

micro:bit 車 與 gamePad 案例-官網案例(英文)

案例:

gamePad blockly 程式

程式<<下載 線上分享: https://makecode.microbit.org/_MaC0U84rv8yU

.

這物件將 micro:bit A B 二按鍵 接 出上方左右二側

gamePad

wiki 教學網址: http://wiki.dfrobot.com.cn/index.php?title=(SKU:DFR0536)_micro:bit%E6%B8%B8%E6%88%8F%E6%89%8B%E6%9F%84%E6%89%A9%E5%B1%95%E6%9D%BF

 p0 接 無源蜂鳴器=內建[音效]功能使用,p12 接 振動小馬達, p16 接 一個小小 發光二極體(LED)

.

增加 會出聲音及振動功能 的遙控器

gamePad blockly 程式2

程式<<下載 線上分享: https://makecode.microbit.org/_Vguc1w4aK9pD

.

.

KSB045遙桿<<點選 凱斯官網

ksb045 物件 開箱

腳位定義 

描述

主板腳位

功能

A

Pin5

按鍵A

B

Pin11

按鍵B

C

Pin15

按鍵C

D

Pin14

按鍵D

E

Pin13

按鍵E

F

Pin12

按鍵F

X

Pin2

搖桿X方向

Y

Pin1

搖桿Y方向

P

Pin8

搖桿按下

Buzzer

Pin0

蜂鳴器

V_Motor

P16

震動馬達

IR_TX

P16

紅外線發射

馬達和紅外線發射共用P16 腳位,由開關選擇使用

凱斯官網說明文件<< 下載

佳倫 師開發,這物件於 添加套件 網址: https://github.com/crouse12/JoyStick9

凱斯搖桿用blockly

正吉大師: https://github.com/lioujj/pxt-KSB045

micro:bit 與 紅外線訊號 = 正吉大師說明 

正吉大師 紅外線套件安裝網址 https://github.com/lioujj/pxt-IR

正吉師 說明文件URL << 請點選參考

.

左側類比遙桿對應5x5LED :使用原生積木

makecode 線上分享 / hex程式 <<下載

.

美觀強化物件:

ksb045加強版

上蓋板: FreeCAD原始檔DXF格式  <<請下載 ,個人使用 厚 2mm 壓克力為雷切材料

下底板: FreeCAD原始檔DXF格式  <<請下載

墊高8.1mm套 FreeCAD原始檔 / 3D列印STL格式   <<請下載 列印x4

墊高9.5mm套 FreeCAD原始檔 / 3D列印STL格式   <<請下載 高一些按鍵比較不會卡住

五金零件:

半圓頭十字 M3 長 20-25mm左右 螺絲 x 4

M3螺帽 x 8

.


直接用 micro:bit 傾斜角功能 案例

相關背景知識教學請參見 運算思維-水平面夾角<<請點選

makecode 上這二數值 取得方式? 與辨讀為日後程式解讀?

 makecode Rotation funtion

旋轉感測值說明網頁

rotation pitch - Y垂直方向變動

rotation roll - X水平方向變動

.

相關背景知識教學請參見 資料流傳送-運算思維<<請點選

.

控制點位置與入門車子二馬達控制轉換

.

.

車子端接收後動作 for Bitbot

努力中...

.

車子端接收後動作 for 麥昆

努力中...

.

車子端接收後動作 for 智高

努力中...

.

.


micro:bit車 對  行動裝置

APP  micro:bit Blue 運用案例:

文玉師教學文1

文玉師教學文2

文耀師教學文

micro:bit 與行動裝置連線

行動裝置APP:micro:bit Blue 與 micro:bit =〉遙控器為本則要點

makecode 由 [藍牙廣播] 改 [藍牙連線]

添加套件→選bluetooth 

擴充積木選bluetooth

set bluetooth linkline mode

change bluetooth funtion

藍牙連線程式測試,進階>控制>當事件發生bluetooth test p1

程式<<下載 線上分享: https://makecode.microbit.org/_esqDUyD4iXo7


左側4按鈕與右側上下2按鈕

control 6buttom

上列程式經測試,按1 - 2 按鍵後,micro:bit 上即 當機! 

猜想當機原因:顯示圖示是有內定延時,藍牙傳遞訊息衝突可能當機,所以改由變數轉到顯示,程式如下:

變數轉秀法

訊息由變數值得知

程式<<下載 線上分享: https://makecode.microbit.org/_h5c42uc7fg79

左、右二側 共 8功能鍵
程式<<下載 線上分享: https://makecode.microbit.org/_d1uDRzHy2ijr

.

.

APP  Kitronik Move 運用案例:均為 MES_DPAD_CONTROLLER 方式,所以目前這二類類同。

接收端:車子的程式

bit:bot car BLE

bit:bot car BLE ob A

bit:bot car BLE fw

bit:bot car BLE stop

經變數狀態來減少重覆宣告,降低接收端[當機]機率。

bit:bot car BLE

程式<<下載 程式分享: https://makecode.microbit.org/_M7Wb802PkYJX

.


GPbit (yahboom 精巧版游戲手柄)

https://www.yahboom.com/study_module/GPbit  提取碼: lftw 存於ctFile 碼:123456

左側搖桿接線 及 阻值方向同 凱斯KS-045,按鍵就有所不同。

背面即有印接腳說明表

IO FUNTION
P0 BEEPCTS 蜂鳴器 及 震動馬達 (S3切到BUTTON=連通)
P1 Y
P2 X
P8 KEY-ROCKER
P13 BUTTON-B1 紅(左)
P14 BUTTON-B2 綠(上)
P15 BUTTON-B3 藍(下)
P16 BUTTON-B4 黃(右)

.

依 yahboom 資料 擴展積木網址: https://github.com/lzty634158/GHBit

Last modified: Thursday, 25 June 2020, 12:50 PM