其實就是我們常在電腦中用的RS232通訊
電壓為準為5V或是3.3V,不過基本上協定是相同的
在Digispark如果可以接收串列(UART)的訊號,其實就有很多用處了
比方說您如果想製作一個無線的環境偵測器(可以接收溫度、濕度、陽光等外部資訊)
就可以簡單的利用UART搭配藍芽模組來實現
溫度或濕度感測器 >> Digispark >> UART(通訊協定) >> 藍芽模組 >> 由電腦或手機接收相關資訊
又或者你想要做一個無線的遙控器,遙控家裡的窗簾或是門的開關
手機APP >> 藍芽模組 >> UART(通訊協定) >> Digispark >> 開關控制電路
本章用軟體的方式實現UART的傳輸,電腦端透過有線的UART to USB的模組接收訊號
當Digispark收到電腦傳來的命令時,回傳對應的字串
如下是我的實驗設備
1.Digispark
2.USB to TTL模組(USB to UART)(紅)
3.杜邦對接線*3條
範例程式碼:
1
2 #include <SoftSerial.h>
3
4 SoftSerial Serialport(2, 1); //設定Rx/Tx對應的PIN
5 char Serialdata[32];
6 int Serial_num;
7
8 void setup() {
9 Serialport.begin(9600); //設定Baudrate為9600
10 Serialport.write("SoftSerial Test \r\n"); //傳送字串
11 delay(1000);
12 }
13
14 void loop() {
15 if (Serialport.available())
16 {
17 Serialdata[0] = Serialport.read(); //接收Serial資料
18 // 判斷接收的資料如果是文字A,就回傳字串"DATA: A \r\n"
19 if( Serialdata[0] == 'A' ){ Serialport.write("DATA: A \r\n"); }
20 if( Serialdata[0] == 'B' ){ Serialport.write("DATA: B \r\n"); }
21 }
22 }
23
相關接線方式:
電腦端用AccessPort作為接收軟體,設定好對應的COM port與baudrate
就可以測試功能是否正常
這個小實驗成功後,可以換成藍芽模組,做出其他非常多的變化
沒有留言:
張貼留言