2015年5月25日 星期一

課程27-繼電器模組實驗

目的:

使用Arduino 透過Serial 通訊傳送訊號來控制繼電器模組,繼電器模組特性可以用來控制大電流的電燈,傳送訊號讓電燈動作(開 or 關)。

電子元件:
麵包板 x 1
Arduino 主板 x 1
繼電器模組 x1
燈泡 x 1

電路圖:



程式碼:

  1. int control_pin = 7;
  2. void setup() {           
  3.  Serial.begin(9600);  
  4.  pinMode(control_pin, OUTPUT);     
  5. }
  6. void loop() {
  7.  if(Serial.available()){
  8.    char read_cmd=Serial.read();
  9.    Serial.println(read_cmd);
  10.    if (read_cmd=='1'){
  11.       Serial.println("open");
  12.       digitalWrite(control_pin,HIGH);
  13.    }else{
  14.      Serial.println("close");
  15.       digitalWrite(control_pin,LOW);
  16.    }
  17.  }
  18.  delay(300);
  19. }

程式說明:

第一行 宣告control_pin 腳位為Pin7。
第二行~第五行 初始設定
第三行 打開Serial 通訊,並設定頻率為9600。
第四行 宣告告control_pin腳位為輸出腳位。
第六行~第十六行 為主程式。
第七行 使用IF判斷式查看Serial 通訊是否有資料,如果有資料執行下面程式。
第八行 把Serial 的資料讀取進來,並儲存在字元變數 read_cmd。
第九行 在Serial 上面印出讀進來的資料。
第十行~第十三行 使用IF判斷式查看read_cmd 是否為1,如果是執行下面程式。
第十一行 在Serial 上面印出"open"。
第十二行 告control_pin腳位設定高電為。
第十三行~第十六行 如果看read_cmd不是1,執行下面程式。
第十四行 在Serial 上面印出"close"。
第十五行 告control_pin腳位設定低電為。
第二十行 延遲0.3秒。

實驗影片:





1 則留言:

Arduino、Raspberry Pi、System Integration,如有問題或建議,可以互相討論喔~