日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

arduino nano 简单实现蓝牙模块与手机进行通信

發(fā)布時(shí)間:2024/1/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arduino nano 简单实现蓝牙模块与手机进行通信 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、背景

? ? ? ? 目前很多通信方式都需要外附手柄,控制器,接收器,體積比較大,用起來(lái)不夠方便。那么,對(duì)于距離要求不高的控制小項(xiàng)目,藍(lán)牙通信一定是不二之選。

2、需要預(yù)備了解的內(nèi)容

? ? ? ? 基礎(chǔ)的編程思想和基礎(chǔ)的C語(yǔ)言或Python語(yǔ)言知識(shí),單片機(jī)原理的基礎(chǔ)知識(shí)。

3、藍(lán)牙模塊與arduino nano的連線

? ? ? ? 一般藍(lán)牙模塊需要連接Vcc,GND,TXD,RXD四個(gè)引腳。那么連接方式為:

藍(lán)牙模塊:Vcc? ? ? ? ? ? ? ? ? ? ?arduino:5V

? ? ? ? ? ? ? ? ? GND? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?GND

? ? ? ? ? ? ? ? ? TXD? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? RX(0)

? ? ? ? ? ? ? ? ? RXD? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TX(1)

? ? ? ? 藍(lán)牙模塊與arduino nano 的連接按照以上對(duì)應(yīng)關(guān)系相對(duì)應(yīng)連接即可。

4、藍(lán)牙模塊與手機(jī)藍(lán)牙的連接

? ? ? ? 首先,連接好電路后,給開(kāi)發(fā)板供電,可以看到藍(lán)牙模塊的指示燈在閃爍(表示沒(méi)有連接)。

? ? ? ? 在這里,老牛也進(jìn)行了簡(jiǎn)單的嘗試,發(fā)現(xiàn)直接通過(guò)手機(jī)藍(lán)牙是無(wú)法進(jìn)行串口通信的,也是連接失敗了。那怎么辦嫩,就建議小伙伴們?nèi)ハ螺d一個(gè)支持藍(lán)牙通信的小軟件,經(jīng)過(guò)嘗試,也是成功連接上了,而且效果也比較好。

? ? ? ? 下載好軟件之后,打開(kāi)手機(jī)藍(lán)牙,打開(kāi)藍(lán)牙串口軟件,檢測(cè)藍(lán)牙信號(hào),找到藍(lán)牙模塊的信號(hào),點(diǎn)擊配對(duì),一般密碼是:0000或者1234,大家可以自己嘗試一下,查一下也行。連接成功后,藍(lán)牙模塊指示燈停止閃爍,保持常亮狀態(tài)。這個(gè)時(shí)候就連接上了。

5、arduino nano內(nèi)部程序的撰寫(xiě)

? ? ? ? 首先,定義一個(gè)變量(LanYa(這里老牛定義的是char型))用來(lái)存放我們所發(fā)送的數(shù)據(jù)。

然后對(duì)串口進(jìn)行初始化,初始化波特率為9600,LED燈復(fù)用引腳為輸出模式。至此就基本完成了,廢話不多說(shuō),直接上程序,注釋詳細(xì),小伙伴們自己看就行。

/*****************************************This program just belong to Niu Lao.Don't spread it on website casually. Auther: Niu LaoFunction:1、實(shí)現(xiàn)手機(jī)藍(lán)牙與arduino nano通信2、實(shí)現(xiàn)手機(jī)藍(lán)牙連接藍(lán)牙模塊與arduino nano實(shí)現(xiàn)數(shù)據(jù)收發(fā)3、實(shí)現(xiàn)LED燈的亮滅控制 ******************************************/ char LanYa; void setup() {Serial.begin(9600); //藍(lán)牙模塊默認(rèn)波特率為9600(有的小伙伴的模塊可能有型號(hào)差別,如果沒(méi)有收到消息,建議試一試115200,38400等等)pinMode(13, OUTPUT);//板載LED燈引腳 } void loop() {LanYa = Serial.read();//讀取串口緩沖區(qū)的數(shù)據(jù)if ( LanYa == 'l') //當(dāng)接收到的數(shù)據(jù)為n時(shí){digitalWrite(13, HIGH); //點(diǎn)亮LED燈Serial.println("LED ON!"); //串口輸出“LED ON!”(懵懂小新記得打開(kāi)串口監(jiān)視器哦!(記得串口波特率與初始化波特率也要一致哦!))}else if (LanYa == 'm') {//當(dāng)接收到的數(shù)據(jù)為f時(shí)digitalWrite(13, LOW);//熄滅LED燈Serial.println("LED OFF!");//串口輸出“LED OFF!”} }

6、總結(jié)

? ? ? ? 使用藍(lán)牙模塊可以使整個(gè)硬件系統(tǒng)的控制變得簡(jiǎn)化,在老牛沒(méi)有使用藍(lán)牙模塊之前,是一直在使用Ps2手柄進(jìn)行通信控制的(老牛之前已經(jīng)寫(xiě)過(guò)Ps2手柄與arduino的通訊實(shí)例,有需要的小伙伴可以自行到老牛的主頁(yè)去找)。

? ? ? ? 整個(gè)過(guò)程也只用到了串口初始化函數(shù),實(shí)現(xiàn)通信比較簡(jiǎn)單,主要是幫助新手小白理解,為大家創(chuàng)造例程模板,方便大家開(kāi)發(fā)。

????????最后,藍(lán)牙模塊雖然方便,四根線一塊板就可以通信了,但是控制的距離比較受限制,想要遠(yuǎn)距離的控制的小伙伴可以參考Ps2手柄通信和航模遙控器控制。老牛也會(huì)繼續(xù)為大家開(kāi)發(fā)模塊例程。

? ? ? ? 新手小白記得關(guān)注老牛哦!

總結(jié)

以上是生活随笔為你收集整理的arduino nano 简单实现蓝牙模块与手机进行通信的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。