2020年3月10日 星期二

馬達驅動模塊L9110

馬達驅動模塊L9110

UNO的電力輸出最大5v0.5A
但數位腳的輸出電流不到0.2A圖↓

而大多的DC馬達都會超過0.2A
所以無法直接以UNO接腳輸出電力轉動馬達,
舊文有使用晶片及堆疊積木模塊的方式驅動,
https://ee543.blogspot.com/2016/03/arduino-uno450l293d.html
https://ee543.blogspot.com/2016/04/arduino-uno452l293d.html

這篇要使用小而方便的馬達驅動模塊L9110,
該單口輸出最大0.8A,足以轉動一般的小馬達,
綠色的端子口為輸出2個馬達共4接點,
針腳中間輸入正負電,A馬達有2控制腳,B馬達也有2控制腳,
該控制腳位需輸入低電位,來啟動馬達的正反轉,
圖↓

接好電源及馬達,只要引入低電位即可觸發馬達轉動,
圖↓

可接上發出低電平訊號的感應器,就可啟動馬達,
運用參考無程式的循跡車利用低電位訊號觸發馬達,
影片↓https://youtu.be/d4mvQgw1x3Q

電腦接上UNO直接上傳內建程式,可修改秒數或不改,
檔案>範例>Basics>Blink如圖↓

上傳後先離線斷電,再接上模塊及馬達配線,
由UNO的+5V和GND提供電力到模塊,
搭配程式P13腳位提供高電和低電訊號到馬達控制腳,
通電後查看內建燈號和馬達變化,
當燈亮時高電平馬達停止,
當燈熄時低電平馬達轉動,圖↓

延伸到控制4腳位,來達到2馬達的正反轉,
2腳位的其中一腳低電才會轉動,
而反之另一腳低電則轉另一方向,
注意馬達突然逆轉容易造成損壞,影片↓


運用在智慧車避障車軌跡車藍牙車等等
可參考另篇藍牙小車文,
https://ee543.blogspot.com/2019/04/a1903unobc6.html



https://www.ee543.com

2020年3月3日 星期二

藍芽模塊6針JDY

藍芽模塊6針JDY

Arduino加Android=雙A,要安卓控制UNO,藍牙模塊雙A必備,
手機平板透過藍芽通訊和Arduino連結,作無線控制,
此篇JDY和常見的HC05和HC06是相同的使用方式,可替代使用,
JDY模塊為從式Slave,無主式功能
圖↓藍芽模塊JDY

可先來了解AT指令,或跳過AT直接到一般模式使用,
以下為Win7+Arduino1.6.6+UNO及安卓測試
注意AT模式和使用模式接腳方式是不同的,
在AT設定模式下的腳位連接
RXD接UNO的RX-P0
TXD接UNO的TX-P1
GND接UNO的GND
Vcc接UNO的5v
圖↓藍芽AT接線

接好線路後UNO與電腦連結,此時JDY板燈為慢閃,
開啟電腦IDE程式,打開監控視窗,
調整鮑率為9600,此為原廠預設,
選擇NL&CR顯示方式,
於輸入欄打入以下指令,注意需為大寫,
若輸入後無回覆顯示,請檢查RX及TX接線是否勞固正確,
或上傳空程式確認設定,若出現錯誤請電腦重新開機,
圖↓藍芽AT指令

AT指令需大寫
AT+RESET 重開
AT+LADDR 通信位址
AT+VERSION 查詢版本
AT+DISC 斷開藍牙連線
AT+PIN 配對密碼,預設1234
AT+BAUD 鮑率,預設9600
AT+NAME 配對名稱,預設JDY-?
AT+DEFAULT 回復原廠設定

試著修改
改名稱為ABC,則輸入AT+NAMEABC
查詢名稱輸入AT+NAME

改密碼為8899,則輸入AT+PIN8899
查詢密碼輸入AT+PIN

改鮑率為38400,則輸入AT+BAUD6
編號    鮑率
BAUD1    1200
BAUD2    2400
BAUD3    4800
BAUD4    9600出廠預設
BAUD5    19200
BAUD6    38400
BAUD7    57600
BAUD8    115200
注意修改鮑率後的視窗不需調整,
uno斷電重啟後,則需使用新的鮑率,
試完AT指令後,可調回原廠設定,
準備以下的一般使用,注意接線不一樣,


--------一般使用模式------------
由於藍牙會一直發訊號給uno,
所以上傳程式經常會有失敗的情形,
建議先移除接線,上傳程式再接線,
以下程式透過手機藍牙控制UNO的內建燈P13,
開啟電腦執行介面程式,上傳程式,
圖↓

#include <SoftwareSerial.h> // 引用程式庫
SoftwareSerial BT(0, 1); // 0,1接藍牙TX,RX
char tx; // 接收字元

void setup() {
Serial.begin(9600); //電腦鮑率
BT.begin(9600); // 藍芽鮑率
pinMode( 13 , OUTPUT); //被控燈號
}

void loop() {
if (BT.available()) {
tx = BT.read();
Serial.print(tx); //收到藍牙資料顯示在監控視窗

if ((tx) == ('X') ) //收到X亮燈,Y熄燈
digitalWrite( 13 , HIGH );
if ((tx) == ('Y') )
digitalWrite( 13 , LOW );
}
}

上傳後記得先斷電,再接各腳位線路,
AT模式和一般模式的RX/TX腳位不同,
藍牙RXD接UNO的P1TX
藍牙TXD接UNO的P0RX
接好硬體線路後通電,此時藍牙燈號慢閃待機,
圖↓藍牙一般接線

再來手機部分,先開啟藍牙功能,
搜尋JDY開頭點擊配對輸入密碼1234,
APP可自行編寫或商城有很多藍芽對Arduino用的程式,
以下使用Arduino bluetooth controller,
圖↓

下載安裝執行後,會要求選擇對應的藍牙設備,
此APP有4種功能,遊戲控制,開關,調光,字串,
選用Switch開關模式後,先點選設定,
例將開關設為X和Y,回到控制模式
圖↓
 
點擊開關,觀察UNO的內建P13燈的亮熄,
影片~


另搭配繼電器就可以控制家電或燈具了,
可試著用該APP其他控制方式搭配程式修改使用,
進階控制馬達小車等,可參考另篇藍牙小車文,
https://ee543.blogspot.com/2019/04/a1903unobc6.html


https://www.ee543.com