2019年11月19日 星期二

2019-11-16_Arduino&3D列印(7)

1.利用旋鈕零件,以 PWM 方式輸出旋鈕數值。旋鈕左下接 5V,中間接 A0,右下接GND。

 寫程式來看旋鈕輸出值,可以看到是從0~1023。

 可以引用範例程式,AnalogReadSerial 是輸入範例,Blink是輸出範例。

2.D11接上 LED 燈,用旋鈕做出「關」→「半亮」→「全亮」。利用中間值做半亮的判斷,要再調整,實際中間值(1023/2)亮度看起來並不是半亮。


3.利用旋鈕做出「無段」效果。燈的 PWM 數值是 0~255,而旋鈕是 0~1023,相差4倍。


4.接上藍芽裝置 HC-06,並使用 MIT Inverotr2 做安卓手機程式(請善用無痕模式登入Google)。

 藍芽裝置要先在手機上配對。預設密碼:0000


5.用 Inventor 做下拉式選單,測試藍芽連線是否成功。

 程式寫完輸出成 QRCode 下載到手機。




 連線成功時,藍芽上的 LED 燈會「恆亮」。

6.用藍芽控制 D13 燈號。手機上設定 2 個 Button。

 Inventor 程式內,Button1會送出「111」,Button2會送出「222」。

 Arduino程式內,收到 111 亮燈,收到 222 熄燈。

問題1:未先配對完成按到 Button 會有錯誤訊息。

 enable 可先關掉,以免未配對時誤觸。

 下拉式選單選擇後要把 Button 設回 Enable。

問題2:按了 3~5 下 Arduino 燈才會亮。
 
 傳送時利用迴圈多傳 3~5 次。


7.利用超音波偵測距離,判斷是否有人入侵果園。靠近值變小,距離 40~60 cm。


 Inventor 程式用 Clock 設定時間偵測。1000為1秒。


 增加 TextBox 做為文字提示。


 每秒偵測一次,假如偵測距離小於正常值,就在 TextBox 顯示「有人侵入果園」。

問題1:訊號輸出及收到的值不同步。因 Arduino 送出訊號快,手機來不及接收。可以將 Arduino 送出設或手機接收設

 利用旋鈕測試數值,Inventor 內 Clock 設定「10」時,訊號可以同步傳送。

問題2:送出訊號為 1 Byte (8 bits),但接收是 10 bits。

 訊號改善。先除 8 倍、收到後再乘 8 倍。用 4 倍效果沒有 8 倍的好(小數點被吃的比較多,影響還原值)。

8. 更好的距離偵測方式。
 (1)用四面鏡子,以1組雷射光及光感偵測光線是否遭屏避。紅光若功率不佳可改綠光。

 (2)利用超音波偵測會有灰塵卡在網子上的問題,可換更好的偵測設備。

9.機器人是採用伺服馬達以 PWM 控制 0~180 度。


沒有留言:

張貼留言