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


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(黑修斯),及附上原文連結,同時 禁止修改,禁止商業使用 。

張貼留言

11 留言

  1. 請問可以使用兩塊ARDUINO UNO 進行連接嗎?

    回覆刪除
  2. 問問Arduino出來的RX TX電壓會是多少阿???我能直接控制其它3.3V的MCU嗎?

    回覆刪除
  3. Arduino的TX RX 的電壓是多少???能直接對3.3V MCU TX RX 做溝通嗎??

    回覆刪除
    回覆
    1. UNO板 MEGA板是5v,至於新出的版本的arduino 有沒有3.3V的要請您去google查找。

      刪除
  4. 請問5V電壓源一定要一樣嗎?

    回覆刪除
    回覆
    1. 要一樣,訊號才能在同樣的電壓基礎去進行通訊

      刪除
  5. 您好請問能用arduino接收並且顯示來電通知或簡訊嗎

    回覆刪除
    回覆
    1. 可以,但是要加裝sim卡模組才能使用

      刪除
  6. 為甚麼我將數字換成字母後,無法在串列監視器中正常執行呢?

    回覆刪除

不一定能即時回覆問題,有時間會盡量答覆。