用arduino制作雷達
關于這個用Arduino做超聲波雷達的項目,我在Create Arduino上見過很多次,這里就自己做出來試試。
主要原理是利用超聲波測距,然后使用Processing在屏幕上繪制出雷達圖,總體比較簡單。
成品
準備
- 舵機
- 超聲波模塊 HC-SR04
- Arduino
- 杜邦線若干
- 其它材料
軟件
Arduino IDE
Processing(下載地址:Download Processing)
接線和安裝
接線主要分兩大部分:超聲波模塊和舵機。
超聲波模塊的針腳旁的標注很清晰,小心不要把GND和Vcc接反,否則可能會燒壞模塊。
舵機有的沒有標注接線方式,一般來說是:橙色-信號,紅色-正極,棕色-接地。
接線很簡單,有一點是Arduino上只有一個5v供電的插腳,可以借助面包板擴展。舵機有可能會因為電壓不足轉動比較吃力,可以考慮給Arduino接9v電源貨給舵機單獨供電。
最終要實現掃描功能,所以需要把超聲波模塊固定在舵機上,具體的實現就見仁見智了,這是我自己用木條+膠槍做的效果:
安裝軟件
先安裝好前面提到的兩款軟件。
所有代碼已經打包到網盤:百度網盤(代碼來自:https://www.instructables.com/id/Arduino-RadarUltrasonic-Detector/)
解壓后分別找到Arduino_Radar.ino和Arduino_Radar_Processing.pde。
在Arduino_Radar.ino里前一部分定義針腳等信息,里面的針腳是和前面的接線圖對應的,如果你連到其它針腳上,需要在這里改一下。
#include《Servo.h》 const int soundTriggerPin = 2; //Trig const int soundEchoPin = 3; //Echo const int motorSignalPin = 12; //舵機信號線 const int startingAngle = 15; //初始角度 const int minimumAngle = 15; //最小角度 const int maximumAngle = 165; //最大角度 const int rotationSpeed = 1; //旋轉速度 …………
編譯刷寫到Arduino中,然后打開端口監視器,如果看到以下輸出且舵機轉動,說明代碼工作正常:
接下來打開Arduino_Radar_Processing.pde,在Arduino_Radar_Processing.pde里需要修改一下串口的端口號,修改為Arduino正在使用的串口。
import processing.serial.*; import java.awt.event.KeyEvent; import java.io.IOException; Serial myPort; PFont orcFont; int iAngle; int iDistance; void setup() { size(1350, 760); smooth(); myPort = new Serial(this, “COM5”, 9600); //修改此處 myPort.clear(); myPort.bufferUntil(‘ ’); orcFont = loadFont(“OCRAExtended-30.vlw”); } void draw() …………
修改完后點擊左上方的開始鍵,啟動程序,如果一切沒有錯誤,可以看到:
如果白屏的話,需要切到編輯器,點擊左上角的終止鍵,此時一般會在下方的紅條上給出錯誤信息,按照錯誤信息修改(一般是串口錯誤導致)。
-
雷達
+關注
關注
50文章
2930瀏覽量
117465 -
Arduino
+關注
關注
188文章
6468瀏覽量
186956
發布評論請先 登錄
相關推薦
評論