步驟1:控制器電路
控制器在引腳2和3中具有BT模塊,在引腳4和2中具有開關由引腳11和12驅動的LED。
已保留LED,以表明交換機正在執行其工作。
步驟2:小工具電路
電路中顯示了Arduino Uno,因為它更易于測試,但它可能是另一種類型,例如Nano對于移動小工具會更好。引腳連接將相同。
BT模塊位于2和3中,和以前一樣。
H橋從8,9和10驅動。
LED分別在11和12上。
電機應該有一個小電容來順利完成操作,H橋連接應具有1K電阻器以幫助保護Arduino。
步驟3:通信
現在可以設計命令了
數據需要有一種固定的格式,以便可以識別命令并知道它是正確的命令,而不僅僅是一些隨機數據。這本身就是一個整個行業,但是可以發明一個簡單的“協議”來完成這項工作。
每個命令的長度正好為6個字符,并且參數最多為6個字符。/p》
每個命令將以“ @”符號開頭,并以“#”符號結尾。該命令本身當然不能包含‘@’或‘?!?。
因此,現在有效的命令如下所示:
@SPEED 150#
該命令以‘@’開頭,后6個字符為‘SPEED’,然后最多6個字符‘150’以‘?!Y尾。
此項目有四種命令類型,它們的類型分別為可能的參數:
速度,0到255,設置電動機速度
LEDRED ,打開或關閉,變成紅色LED開啟或關閉
LEDGRN ,打開或關閉,打開或關閉綠色LED
從控制器發送的數據如下:
@SPEED 0#@ LEDREDON#@ LEDGRNOFF#@ DIRECTFORWRD#@ SPEED 120#
依此類推。
步驟4:控制器程序
程序的開頭設置了一些引腳分配,并啟動了串行監視器和BT模塊。
程序的其余部分圍繞讀取開關和電位器值并將它們發送到BT模塊。
字符串變量用于構建“打印”到BT模塊的命令行。每次發送命令都會施加延遲。
通信中的重要考慮因素是定時。如果Controller發送數據的速度超過了Gadget接收數據的速度,則會丟失信息,并且遙控器將無法正常工作。
程序會循環循環并每次發送所有輸入值,因此4每個循環發送命令。這些的總時間可以使用延遲來調整。程序其他部分所需的時間最少,因為像這樣的簡單指令將在微秒內執行。
應該有一套完整的控制值,每秒大約發送3次,這將非??鞂τ谖覀兊暮唵慰刂祈椖縼碚f足夠了。如果傳輸速度太慢,則可以提高BT模塊的UART速度。在更復雜的項目中可能會發生這種情況。兩個模塊都需要設置為相同的UART值,例如38400。請注意,這與串行監視器的9600通訊速率無關。
第5步:小工具程序
小工具
定義中包含用于保存命令的字符串以及命令的兩個部分“命令類型”和“命令參數”。
應避免延遲在這個程序中。如果程序運行太慢,則可能會丟失一些命令。
程序循環將執行以下步驟:
從BT模塊獲取命令
識別命令類型
執行命令
重復
程序的結構是這樣的,以便主循環識別該命令,然后調用一個函數來對其進行處理。這樣可以輕松地將新命令添加到主循環中,并具有單獨的代碼塊來執行該命令。例如,可以添加伺服器。良好的程序結構也使查找錯誤變得更加簡單。
創建了一個名為GetDataFunction的函數,用于從BT模塊讀取命令。
(該函數調用等效于BASIC中的gosub GetDataFunction)。
然后將命令分為cmdtype和cmdpara。
該命令必須位于要執行的“ if”語句列表。任何無效的命令都將被忽略。例如,無效的命令可能是由于數據損壞或通信時序錯誤造成的。
執行命令的功能與電機控制程序中的功能完全一樣。
責任編輯:wv
-
Arduino
+關注
關注
188文章
6478瀏覽量
188287 -
藍牙遙控器
+關注
關注
0文章
6瀏覽量
7590
發布評論請先 登錄
相關推薦
我的DIY遙控器——小擺件遠程控
OM6621E 低功耗BLE5.1協議Soc芯片 藍牙語音遙控器原理應用
技術再進化——工業遙控器技術要求更高
數字遙控器

定制遙控器主要分為哪些步驟?
RF遙控器廠家:射頻遙控器將成為未來的控制主流
如何選購適合的拷貝遙控器——增配遙控器教程來啦

OM6621E 低功耗BLE5.1協議Soc芯片 藍牙語音遙控器原理應用
遙控器解碼器怎么使用
藍牙語音遙控器方案

基于國民技術N32WB031的藍牙語音遙控器解決方案

評論