本文章的目的是用手機連接藍牙模塊,給藍牙模塊發送簡單的命令,控制Pico板上的LED燈的開關,
從某多平臺買了一個藍牙模塊HC-06,它的模樣:

這種藍牙芯片應該是比較舊的型號,但學習技術原理,用它應該夠了,從網上看了HC-05和HC-06模塊的主要區別,好像HC-05支持主從機,而HC-06只能用作從機,也就是只能用手機或PC連接這個藍牙模塊,基本符合我的需求,
HC-06有六個引腳,商家說最左、最右的引腳好像無效,只看中間的4根,VCC接3.3V,GND接地,TXD是發送,RXD是接收,標準的串口連接方式,
再來看樹莓派Pico的引腳官方圖:

樹莓派Pico只支持2組串口連接,為了面包板上連線方便,我準備用GP16和GP17,這里GP16(TX)接藍牙的RXD,GP17(RX)接藍牙的TXD,

突然發現芯片上面一排字,Power:3.6V-6V,我接到了3.3V輸出口,也能作業,實際連線:

現在可以給Pico加電了,HC-06背后的一個小燈開始閃爍,現在需要在手機上安裝“藍牙串口助手”APP,用手機連接到藍牙模塊,發送指令,

在APP的Dashboard里搜索藍牙設備,可以發現附近的所有藍牙設備,我這里顯示的名稱為“HC-05”,連接它,
我定制了幾個按鈕,“開”按鈕的發送命令是on,“關”按鈕的發送命令是off,還測驗了一下中文情況,
可以開始寫MicroPython程式了:
import machine
import utime
uart = machine.UART(0, baudrate=9600, tx=machine.Pin(16), rx=machine.Pin(17))
print(uart)
led = machine.Pin(25, machine.Pin.OUT)
while True:
if uart.any():
cmd = uart.readline().decode()
print(cmd)
if cmd == 'on':
led.value(1)
if cmd == 'off':
led.value(0)
utime.sleep(0.1)
程式里輸出了串口資訊,我這里的顯示是:
UART(0, baudrate=9600, bits=8, parity=None, stop=1, tx=16, rx=17, txbuf=256, rxbuf=256, timeout=0, timeout_char=2, invert=None)
如果對異步串口的基本概念不了解,還要補一下課,感覺這個視頻教程講得還不錯,
現在拿起手機,點擊螢屏上自己設定的幾個按鈕,就可以控制Pico板上的LED亮、滅了,
最后的視頻:https://v.qq.com/x/page/c3303ouulgi.html
手機連接藍牙,樹莓派Pico連接藍牙模塊,用手機控制LED小燈的開關
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/335301.html
標籤:其他
