2016年1月12日 星期二

mBot 感測器 Port 問題

今天第一次試著自己寫一個讓mBot避免撞到東西的程式,也就是透過超音波感測器來測量距離,但將寫好的程式載入到Arduino uno 的板子後,mBot卻不是照程式的寫法動作,所以用Scratch的場景來測試距離的數值是否正確,但距離的數值竟然也不會變動,後來發現了兩個問題 :

一. mBot不照載入的程式跑.
原因 : 如果Arduino 板子已經有載入的程式,要再進行場景測試,必須Reset Default Program,如第二張圖,這樣角色才會照著程式執行.
將程式載入到Arduino板子

Scratch的場景測試(圖形程式開頭是有綠色的旗子)

二. 場景角色無法正確顯示感測器偵測到的數值.
原因 : 要顯示感測器偵測到的數值,必須設定感測器連接Arduino板子的接口(port)是幾號或是已經在Arduino板子上,而不是設定電腦連接Arduino板子的port號,下圖範例是光度感測器的設定,看到最後一張圖的光度感測器是已經在Arduino板子上,所以設定光度感測器是light sensor on board,而超音波感測器是在此範例是設定Port 3.

setting light sensor is light sensor on board


setting ultrasonic sensor is port 3

此圖的超音波感測器的連接線是連在Arduino板子的port 3

沒有留言: