Arduino | 序列練習(1):兩個Arduino通訊---使用TX0、RX0

關鍵字:Serial port、arduino 序列通訊、UART

實驗前的注意事項

黑修斯先前實驗時發現,若是Arduino開發板已經透過USB通訊線與電腦連接,將無法使用TX0、RX0進行通訊。
為什麼不能使用,黑修斯的猜測為晶片衝突或是與電腦連接時佔用Arduino通訊埠的TX0、RX0,導致於無法額外引出使用。


實驗器材:


  1. Arduino UNO 開發板
  2. Arduino MEGA 2560 開發板


實驗項目


  1. 兩個Arduino通訊---使用TX0、RX0


動作設定

主從端設定
Arduino UNO主端(Master)
Arduino MEGA 2560從端(Client)


動作說明

藉由兩個Arduino 開發板互傳指令,分別為主端發送訊息,從端接收訊息再回傳訊息。

主端(Arduino UNO)動作:
發送數字0,進入副程式 reback_blink(),等待回應並做出對應動作,再發送數字1,進入副程式 reback_blink(),等待回應並做出對應動作。

從端(Arduino MEGA 2560)
一開始等待指令,當有指令(數字0或1)進入,判斷指令,並做出對應動作。


實際動作

藉由黑修斯紀錄的影片觀看實際的動作效果,其實動作非常容易,只是將開發板上的LED燈開關。


實驗電路配置圖

此實驗的電路配置圖,接法非常容易,電源提供5V即可,而從黑修斯影片或照片中可以發現,黑修斯是使用USB連接線的5V電源進行電源供應。



實驗程式碼

程式碼可以透過黑修斯的github下載。

主端(Arduino UNO)程式:
從端(Arduino MEGA 2560)程式:


最後附上一張,亂亂的成品圖。



Reference

  1. 【Maker進階】認識UART、I2C、SPI三介面特性 | Building Maker Economy:自造達人社群/媒體/平台 
  2. arduino | 疑難雜症:Arduino Serial port 中的Tx0、Rx0無法使用 
  3. 黑修斯的GitHub 

轉貼本文時,需註明來自黑修斯隨手札記原創作者 hughes chen(黑修斯),及附上原文連結,同時 禁止修改,禁止商業使用 。