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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于Arduino开发的智能蓝牙小车

發布時間:2024/4/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Arduino开发的智能蓝牙小车 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于Arduino的智能藍牙小車

材料準備:

Arduino開發板一塊、四驅小車底板及相關配件一套、L298N驅動模塊一個、HC-05/06藍牙模塊一塊,九伏電源一塊(用于主板供電)、12V鋰電池一塊(帶充電器,供驅動器電源)。

?

L298N使用方法

?

如圖所示,外接一個12V電源,將Logic Input上四個輸入口分別接到控制板對應位置。(外接12V電源,還需從GND處接一根電源至控制板)

HC-05/06 藍牙模塊

HC-06 ? ? ? ? ? ? ? Arduino UNO

VCC? ? ? ? ? ? ? ? ? ? VCC

GND ? ? ? ? ? ? ? ? ? GND

TXD ? ? ? ? ? ? ? ? ? ?RXD

RXD ? ? ? ? ? ? ? ? ? ?TXD

?

代碼如下

#define IN1 5 ??// 定義開發板5口為IN1(L298N驅動器)

#define IN2 6 ??//定義開發板6口為IN1(L298N驅動器)

#define IN3 9 ??//定義開發板9口為IN1(L298N驅動器)

#define IN4 10 ?//定義開發板10口為IN1(L298N驅動器)

#include<SoftwareSerial.h>? //添加這個庫文件,可調用庫函數

SoftwareSerial BT(3,4); ??// 定義開發板3,4為RX,TX

char val;? //定義參數接收藍牙的值

#define LEFT '3' ??//左轉編碼

#define RIGHT '4'? //右轉編碼

#define GO '1'? //前進編碼

#define BACK '2'? //后退編碼

#define STOP '0'? //停止編碼

void setup() {

? BT.begin(9600);?? //藍牙波率設置為9600

? Serial.begin(9600);? //設置串口波特率

? pinMode(IN1,OUTPUT);? //設置為輸出口

? pinMode(IN2,OUTPUT);? //設置為輸出口

? pinMode(IN3,OUTPUT); ?//設置為輸出口

? pinMode(IN4,OUTPUT); ?//設置為輸出口

? initCar();??? //調用,停車,下文有

}

//開始判斷是否接收數據,數據為多少

void loop() {

if(BT.available()){

??? val=BT.read();

??? if(val == GO){

????? //前進

????? go();

??? }else if(val == BACK){

????? //后退

????? back();

??? }else if(val == LEFT){

????? //左轉

????? turnLeft();

??? }else if(val == RIGHT){

????? //右轉

????? turnRight();

??? }else if(val=='0'){

????? //停車

????? stopCar();

??? }

? }

}

void initCar(){

? //默認全是低電平 停止狀態

? digitalWrite(IN1,LOW);

? digitalWrite(IN2,LOW);

? digitalWrite(IN3,LOW);

? digitalWrite(IN4,LOW);

}

void turnLeft(){

//左轉

? digitalWrite(IN1,HIGH);

? digitalWrite(IN2,LOW); //右輪前進

? digitalWrite(IN3,LOW);

? digitalWrite(IN4,LOW); //左輪不動

}

void turnRight(){

//右轉

? digitalWrite(IN1,LOW);

? digitalWrite(IN2,LOW); //右輪不動

? digitalWrite(IN3,HIGH);

? digitalWrite(IN4,LOW); //左輪前進

}

void go(){

//前進

? digitalWrite(IN1,HIGH);

? digitalWrite(IN2,LOW); //右輪前進

? digitalWrite(IN3,HIGH);

? digitalWrite(IN4,LOW); //左輪前進

}

void back(){

//倒車

? digitalWrite(IN1,LOW);

? digitalWrite(IN2,HIGH); //右輪后退

? digitalWrite(IN3,LOW);

? digitalWrite(IN4,HIGH); //左輪后退

}

void stopCar(){

//停車

? initCar();

}

?

接線如下:

Arduino UNO??????????????????? 藍牙HC-05/06

5V???????????????????????????? VCC

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

PWM 3????????????????????????? RXD

PWM4????????????????????????? GND

??????????????????????????????? L298N

PWM5????????????????????????? IN1

PWM6????????????????????????? IN2

PWM9????????????????????????? IN3

PWM10???????????????????????? IN4

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

?

L298N????????????????????????? 電源

+12V??????????????????????????? 電源正

GND??????????????????????????? 電源負

?

轉載于:https://www.cnblogs.com/fqhy/p/11372620.html

總結

以上是生活随笔為你收集整理的基于Arduino开发的智能蓝牙小车的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。