Arduino 藍芽
Arduino 藍芽
前言
Arduino,我將它理解為一個嵌入式裝置,只是因為這學期有一門這個課,就叫嵌入式。
這是一個開源硬體。
開源軟體大家都很清楚,那開源硬體是啥呢?
意思就是這個東西怎做會在網上說的很清楚,會做的人都能自己做一個出來。
我剛上大學時買了一個。買回來3個月之後就沒碰過了,因為並不知道能幹什麼。而現在,重見天日。
開發環境
下載 Arduino IDE
下好了可能需要裝驅動,也有可能自己本身就裝好了。
插上USB線。
這個USB既可以傳資料,又可以供電。
開啟IDE,先跑個Hello World.
錯!
一個沒有顯示屏的硬體Hello給誰看?所以第一個程式是,閃爍。
學數電實驗也是亮燈,學嵌入式實驗也是亮燈,沒別的花樣?
那就來亮燈好了。
開啟IDE。找到檔案→示例→01.Basics→Blink
然後
除去大部分註釋後的程式碼
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
兩個函式。一個是初始化的。另外一個是死迴圈的。高電平是亮,低電平是不亮。
delay就是字面意思,延遲。
上傳到板子上之後,板子上的LED燈就會閃爍了。不需要外接。至於是哪一個,看看就知道了。
可能需要配置一些埠。
藍芽
Arduino並沒有自帶藍芽,你需要自己購買。
我知道的有HC05和HC06。據說HC05厲害一點。我當時並不知道,買了一個HC06。
HC06就需要接線了。
總共需要4根。
- VCC供電的,連到板子上的5V引腳。
- GND接地的,連到板子上的GND引腳。
- RXD收,連到板子上的TX。
- TXD發,連到板子上的RX。
這個就是自收自發模式,至於還有什麼別的模式,我就不清楚了。
你可以直接拿線接或者使用麵包板。
void setup()
{
Serial.begin(9600);
}
void loop()
{
while(Serial.available())
{
char c=Serial.read();
if(c=='A')
{
Serial.println("hello");
}
else if (c == 'B') {
Serial.println("hahaha");
}
}
}
程式首先是設定波特率。
然後每次從串列埠中讀取一個位元組,然後做相應操作。
串列埠監視器在Arduino IDE裡工具選單裡有。
連線手機
最後的問題是怎麼拿手機連這個了。
事實上有非常多的APP都能實現這個功能。
我推薦這個:
Bluetooth-Terminal
因為這個還開源了,所以還可以參考程式碼。
然而一千個程式設計師就有一萬種寫法,所以我看了一下程式碼後放棄了,只參考了UI。
在APP裡輸入’a’或者’b’就可以看到回顯了。
至於Android端怎麼自己山寨一個,下一篇來講述。