導航:首頁 > APP軟體 > 智能小車藍牙app

智能小車藍牙app

發布時間:2024-12-05 07:22:54

1. 藍牙控制51單片機智能小車

我簡單說一下原理吧,晶元需要慢慢來挑選,這個你可以自己去找,有很多;回
首先需要解決的是單片機控制答小車的問題,要想解決這個問題,首先需要解決智能小車的操作和功能;小車必須要有前後左右控制功能、加速、減速、剎車、左轉向、又轉向和倒車功能,有了這幾種功能之後 小車才能行動自如;

解決小車的問題,就要將小車的控制功能轉於到單片機來實現(一般小車內部也會有單片機),實現了這一步,下面就需要做藍牙的通信;

藍牙通信IC非常多,速率從幾十KB~幾MB不等,根據數據流的需求來選擇一款藍牙IC,進行IC-IC的通信,一般IC的DATASHEET裡面都會詳細的說明該器件的使用方法以及相關軟體配置和操作步驟等;重點在於調試,硬體電路搭建完成之後,最重要的是軟體調試;

藍牙通信方式是串列數據無線發送/接收,我們一般使用的控制位一般是多位的,那麼你需要自己寫一個小的並串轉換程序;當然現在的藍牙IC也有8BIT並行數據介面,如果選用類似的晶元,則更便於操作;

用藍牙控制小車,重點還是在於用單片機控制小車,只要實現了這一步,通信方面就比較簡單了;

祝你成功;

2. 手機控制智能小車的問題:單片機對藍牙傳過來的數據不反應

#include<reg52.h>//聲明頭文件
#define uchar unsigned char//宏定義
#define uint unsigned int//宏定義
sbit deng=P2^0;//定義車燈的控制引腳
sbit z=P2^1;//定義左轉向燈的控制引腳
sbit y=P2^2;//定義右轉向燈的引腳
sbit BEEP=P2^3;//定義蜂鳴器的引腳
sbit zuo1=P0^0;//定義控制左邊電機的單片機引腳
sbit zuo2=P0^1;//定義控制左邊電機的單片機引腳
sbit you1=P0^2;//定義控制右邊電機的單片機引腳
sbit you2=P0^3;//定義控制右邊電機的單片機引腳
uchar a=0;//定義一個變數a,用來讀取串口的數據
void delay(uint z)//一個帶參數的延時程序
{
int i,j;//定義兩個變數
for(i=10;i>0;i--)
for(j=z;j>0;j--);//將參數z賦值給j
}
void init()//初始化子程序
{
TMOD=0x20;//設置定時器T1為工作方式2
TH1=0xfd;
TL1=0xfd;//T1定時器裝初值
TR1=1;//啟動定時器T1
REN=1;//允許串口接收
SM0=0;
SM1=1;//設置串口工作方式1
EA=1;//開總中斷
ES=1;//開串口中斷
}
void go()//前進子程序
{
zuo1=0;
zuo2=1;//左邊輪子正轉
delay(25);//pwm有用值,越大左邊方向的輪子越快
zuo1=1;//關閉左邊輪子
you1=0;
you2=1; //右邊輪子正轉
delay(24);//pwm有用值,越大右邊的輪子越快
you1=1;//關閉右邊輪子
delay(100);//pwm無用值,越大,小車跑的越慢
z=1;
y=1;//關閉轉向燈
}
void hui()//小車後退的子程序
{
zuo1=1;
zuo2=0;//左邊輪子倒轉
delay(25);//pwm有用值,越大左邊方向的輪子越快
zuo2=1;//關閉左邊輪子
you1=1;
you2=0; //右邊輪子倒轉
delay(24);//pwm有用值,越大右邊的輪子越快
you2=1;//關閉右邊輪子
delay(100);//pwm無用值,越大,小車跑的越慢
z=1;
y=1;//關閉轉向燈
}
void turnleft()//小車左轉彎子程序
{
zuo1=1;
zuo2=1;//左邊輪子停止轉動
you1=0;
you2=1; //右邊輪子正轉
delay(24);//pwm有用值,越大右邊的輪子越快
you1=1;//右邊輪子停止
delay(100);//pwm無用值,越大,小車跑的越慢
z=1;
y=1;//關閉轉向燈
z=~z;//左轉向燈打開
}
void turnright()//小車右轉彎子程序
{
zuo1=0;
zuo2=1;//左邊輪子正轉
delay(25);//pwm有用值,越大左邊方向的輪子越快
zuo1=1;//左邊輪子停止
you1=1;
you2=1; //右邊輪子停止
delay(100);//pwm無用值,越大,小車跑的越慢
z=1;
y=1;//關閉轉向燈
y=~y;//右轉向燈打開
}
void down()//停止子程序
{
zuo1=1;
zuo2=1;
you1=1;
you2=1; //左右輪全部停止
z=1;
y=1;//關閉轉向燈
}

void main()//主程序
{
init();//調用初始化子程序
while(1)//死循環
{
switch(a)//判斷a從串口讀取到的數據
{
case 0x1f://如果是0x1f就前進
go();
break;
case 0x2f://如果是0x2f就後退
hui();
break;
case 0x3f://如果是0x3f就左轉
turnleft();
break;
case 0x4f://如果是0x4f就右轉
turnright();
break;
case 0x00://如果是0x00就停止
down();
break;
case 0xa0://如果是0xa0車燈打開
deng=0;
break;
case 0xb0://如果是0xb0車燈關閉
deng=1;
break;
case 0xc0://如果是0xc0蜂鳴器鳴響
BEEP=0;
break;

case 0xd0://如果是0xd0蜂鳴器關
BEEP=1;
break;
}
}
}
void chuan() interrupt 4//串口中斷服務程序
{
RI=0;//軟體清除串口響應
a=SBUF;//讀取單片機串口接受的藍牙模塊發送的數據
}用著個程序試試

閱讀全文

與智能小車藍牙app相關的資料

熱點內容
微信登陸失敗4106 瀏覽:7
javac不顯示警告 瀏覽:326
慧博app 瀏覽:896
哪吒寶貝app是什麼軟體 瀏覽:523
文件名最多可以用多少個漢字 瀏覽:609
usb驅動文件怎麼安裝 瀏覽:572
ted演講如何電腦編程 瀏覽:445
u盤中病毒顯示內存里沒有文件了 瀏覽:650
四九九網路公司是什麼公司 瀏覽:481
企業基本人事文件都有哪些 瀏覽:885
iphone6s激活可以退換么 瀏覽:756
word裡面的背景圖片怎麼去掉 瀏覽:687
有什麼貼紙app 瀏覽:710
linux強行刪除文件 瀏覽:625
win10誤刪c盤文件無限重啟 瀏覽:283
為什麼手機打不開數據連接到伺服器失敗 瀏覽:818
mac怎麼把文件隱藏的文件夾圖標 瀏覽:29
手機yy進頻道要密碼 瀏覽:985
下載的網頁怎麼打開pdf文件怎麼打開 瀏覽:625
excel表格文件刷新不了 瀏覽:285

友情鏈接