倒車雷達已經非常普遍,這個專案做一個倒車雷達系統。將這個倒車雷達系統整合到遙控車里,就可以實現自動倒車的功能。
硬件方面,我們使用的開發板是webduino,webduino的優點是可以因為web的開發模式簡單達成跨平臺的需求,亦可以因為網絡聯機而能遙控操作,缺點則是也受限于網絡聯機,若無網絡則無法運作。
開發工具
Ameba 8195AM
N條連接線蜂鳴器*1
超音波模塊*1
超音波鏈接庫(library)
面包版
系統連接如下圖
程序代碼如下
#include
#define TRIGGER_PIN 12 //定義模塊triger端為數字接腳12
#define ECHO_PIN 13 //定義模塊echo端為數字接腳11
int spk=8; //定義揚聲器為數位接腳13
Ultrasonic ultrasonic(TRIGGER_PIN,ECHO_PIN); //設定HC-SR04初始化參數
void setup()
{
Serial.begin(9600);
pinMode(spk, OUTPUT);
}
void loop()
{
float cmMsec; //定義浮動數
long microsec = ultrasonic.timing(); //測距,返回的是一個時間單位(microsec)
cmMsec =ultrasonic.convert(microsec,Ultrasonic::CM); //將測得的時間單位計算為距離單位
Serial.print(" CM: ");
Serial.println(cmMsec);
if( cmMsec >= 80 && cmMsec <=100){ //假設距離介于80~100之間
for(int i = 0; i < 12000; i++) //循環重復
digitalWrite(spk, 0);
digitalWrite(spk, 1);
delay(300);
}
else if (cmMsec >= 60 && cmMsec<= 79){ //假設距離介于60~79之間
for(int i = 0; i < 12000; i++) //循環重復
digitalWrite(spk, 1);
digitalWrite(spk, 0);
delay(100);
}
else if (cmMsec >= 40 && cmMsec<= 59){ //假設距離介于40~59之間
for(int i = 0; i < 12000; i++) //循環重復
digitalWrite(spk, 1);
digitalWrite(spk, 0);
delay(50);
}
else if (cmMsec >= 30 && cmMsec<= 39){ //假設距離介于30~39之間
for(int i = 0; i < 12000; i++) //循環重復
digitalWrite(spk, 1);
digitalWrite(spk, 0);
delay(20);
}
else if (cmMsec >= 20 && cmMsec<= 29){ //假設距離介于20~29之間
for(int i = 0; i < 6000; i++) //循環重復
digitalWrite(spk, 1);
digitalWrite(spk, 0);
delay(10);
}
else if (cmMsec<19){ //假設距離小于19
digitalWrite(spk, 1);
delay(10);
}
else
digitalWrite(spk, 0);
}
下載程序到Ameba板,完成
-
雷達
+關注
關注
50文章
2904瀏覽量
117348 -
蜂鳴器
+關注
關注
12文章
890瀏覽量
45874
原文標題:提上褲子就走的TI
文章出處:【微信號:xinpianlaosiji,微信公眾號:芯世相】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論