2013年5月13日 星期一

Arduino筆記(十一):繼電器控制風扇

[2013/05/11] 遙控器的應用在一般家電是常見的,如電視遙控器、冷氣開關等都是利用紅外線遙控的方式控制家電的開關或調整。如果使用Arduino該如何做呢?就需要使用紅外線接收的晶體,作為接收訊號用,如果要控制啟動12V的風扇,就需要外接12V電源,並使用繼電器來控制,如果把兩項功能結合,就可以透過紅外線遙控風扇開關,這項功能在一般的電扇中很常見,我們就來看看如何使用Arduino進行控制。

基礎知識
繼電器(Relay),也稱電驛,是一種電子控制器件,它具有控制系統(又稱輸入迴路)和被控制系統(又稱輸出迴路),通常應用於自動控制電路中,它實際上是用較小的電流去控制較大電流的一種「自動開關」。故在電路中起著自動調節、安全保護、轉換電路等作用。資料來源:維基百科

材料
•麵包板 x 1
•Arduino 主板 x 1
•直流 12V 風扇 x 1
•紅外線接收晶體 x 1
•一路或二路繼電器模組 x 1
•連接線 x N條
線路連接與電路圖
•將繼電器模組的接地GND連接Arduino主版的GND,5V接繼電器的VSS, n1接 Pin 2接腳,電扇的紅色線(正極)接12V的正極,負極接到繼電器的常閉一個接點,再將共極接到12V的負極。
•紅外線接收器有三隻接腳,我用的接收器因型號不明,我用實驗的方式測試出接腳的位置,兩隻腳接分別接5V及接地,第三隻接腳則接pin 4。







程式

/* 紅外線遙控+繼電器控制 12V風扇 */

#include <IRremote.h>     // 引用 IRRemote 函式庫

const int irReceiverPin = 4;    // 紅外線接收器 OUTPUT 訊號接在 pin 2
int motor = 2;

IRrecv irrecv(irReceiverPin);   // 定義 IRrecv 物件來接收紅外線訊號
decode_results results;   // 解碼結果將放在 decode_results 結構的 result 變數裏

void setup()
{
  Serial.begin(9600);      // 開啟 Serial port, 通訊速率為 9600 bps
  irrecv.enableIRIn();     // 啟動紅外線解碼
  pinMode(motor, OUTPUT);     
}

void loop() 
{
  if (irrecv.decode(&results)){ // 解碼成功,收到一組紅外線訊號
            Serial.print("Protocol: ");  // 印到 Serial port  
  
      // 判斷紅外線協定種類
            switch(results.decode_type) {
        case NEC:
          Serial.print("NEC");
          break;
        case SONY:
          Serial.print("SONY");
          break;
        case RC5:
          Serial.print("RC5");
          break;
        case RC6:
          Serial.print("RC6");
          break;
        default:
          Serial.print("Unknown encoding");  
    }  

    Serial.print("  irCode: ");            
    Serial.print(results.value);    // 紅外線編碼
         if (results.value == 16724175) {  //遙控器上的 0
        digitalWrite(motor, LOW);
    }  
    if (results.value == 16738455) {  //遙控器上的 1
        digitalWrite(motor, HIGH);
    }    
    Serial.print(",  bits: ");           
    Serial.println(results.bits);   // 紅外線編碼位元數
    delay(500);
  irrecv.resume();            // 繼續收下一組紅外線訊號        
  }  
}

實驗結果

video




1 意見:

  1. 不錯 支持,再來些特別點的動手玩吧!

    回覆刪除

 
Copyright © . 天花板隨記 - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger