Arduino Yun_無線網路遙控車(一)

今天要使用Arduino Yun 來做一台無線網路遙控車。我們可以在網頁上製作一個遙控器,控制車體前後左右移動,還能透過超音波感測器來偵測距離,今天是要把書上的專題所提供的硬體做替換,讓車體也能順利地使用

20141109_225801

這次的專題參考的是碁峯出版:實戰物聯網開發-使用ArduinoYun

這本書是由本團隊的阿吉老師所翻譯的~~~

20141109_225818

這本專題在第四章提到使用無線網路遙控車體,使用的材料有:

  • ArduinoYun開發板
  • ArduinoUno開發板
  • DFRobot馬達擴充板:DFRduino
  • DFRobot超音波感測器:URM37
  • DFRobot:miniQ二輪平衡車機組
  • DFRobot

今天,為了增加我們入手這些裝備的方便性、減少製作成本,我們會把ArduinoUno開發板(台幣:800元)、馬達擴充板(美金10元,不含運費)、超音波感測器(美金15元,不含運費)做替換。

替換的零件為:超音波感測器HS-SR04  (台幣100元,光華商場購得)

20141110_000733

ArduinoUno + 馬達擴充板=motoduino 2.0 ,(台幣600元,官方網站購得)

20141109_225148

接下來要疊上 Arduino Yun開發板

20141109_225125

遙控車本身不一定要購入指定的車體,只要準備是左右輪胎透過獨立的直流馬達來驅動(共兩個)的車體即可。本範例為左右輪胎各一個直流馬達(miniQ二輪平衡車機組)

20141110_000701

接著開始撰寫程式了~~

如果您使用的硬體跟書中使用的硬體相同的話,範例檔案可以由此下載

如果您想使用這次分享的硬體製作的話,範例檔案可以由此下載

這是這次我所製作出來的遙控車,為了方便日後加裝其他的感測器,使用了比較高的銅柱

20141109_225032

這個遙控車與書中的遙控車有什麼地方需要注意呢?

最大的不同在於motoduino與arduinoyun接線的腳位不同,以及超音波感測器的程式碼撰寫不同

首先請到我們的檔案庫下載範例

接著將範例中的資料夾”HCSR04Ultrasonic”複製到ArduinoIDE的library當中,

請注意!ArduinoYun使用的IDE最少要1.5.6以上的版本!!

yun_sonic01

接著打開檔案”motoduino_sketch.ino”,這個檔案請燒錄在Motoduino上,畫黃線的部分是ArduinoYun與Motoduino的連接方式

還有宣告馬達的腳為5、6、7、8

yun_sonic02

圖中使用的函式庫<wire.h>是motoduino與ArduinoYun溝通(I2C)的方式

motoduino與ArduinoYun的溝通

1、將motoduino的A4腳與ArduinoYun的D2腳相連

2、將motoduino的A5腳與ArduinoYun的D3腳相連

 

Motoduino的馬達連接方式

1、將右邊馬達的正極接在M1+,負極接在M1-

2、將左邊馬達的正極接在M2+,負極接在M2-

 

接著我們來連接超音波感測器,超音波感測器的接線請接在ArduinoYun上。

首先打開檔案”HC-SR04_yun_sketch.ino”,這個檔案請燒錄在AduinoYun上,

畫黃線的部分是ArduinoYun與超音波感測器使用的函式庫、宣告的腳位為10、11

yun_sonic03

連接超音波感測器

1、感測器Vcc接腳與Yun的5V接腳相連

2、感測器Trig接腳與Yun的D10接腳相連

3、感測器Echo接腳與Yun的D11接腳相連

4、感測器GND接腳與Yun的GND接腳相連

將線連好之後,我們來測試ArduinoYun與motoduino受否能溝通成功,讓車子順利行走

將程式”HC-SR04_yun_sketch.ino”燒入ArdunioYun的程式之前,我們首先開啟測試的程式碼,

這個程式碼不需要網路連線就會對motoduino下達轉動馬達的指令

將下圖的程式碼”/*”、”*/”去除後,再進行燒入

yun_sonic04

 

燒入後你的ArduinoYun,就會一直傳送資料250,0,0,0給motoduino。

可以輸入的馬達馬力為0-255

控制馬達前進後退則為0、1

 

打開Serial monitor可以確認指令是否成功傳送

yun_sonic05

如果要確認motoduino是否有收到資料

將程式””motoduino_sketch.ino””燒入motoduino的程式之後

打開Serial monitor,就可以進行確認

yun_sonic06

超音波感測器測試

打開程式”HC-SR04_yun_sketch.ino”,接著將程式72行  //measure_distance(1);的註解刪除

yun_sonic07

接著將程式”HC-SR04_yun_sketch.ino”燒入到ArdunioYun的程式,打開Serial monitor就可以看到超音波感測器偵測時使用的時間,以及與障礙物之間的距離

yun_sonic08

今天的分享就到此為止,下篇教學將告訴您如何架設網站,透過網頁按鈕來控制這台機器人,再見囉~~~

 

 

 

3 thoughts on “Arduino Yun_無線網路遙控車(一)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *