17 Ocak 2016 Pazar

ARDUINO ile 433 mhz alıcı verici




ARDUINO ile 433 mhz alıcı verici kodlu çok ihtimalli.

TX VERİCİ

#include <Manchester.h>
#define TX_PIN 5  //transmitter hangi bacağa bağlı D5
#define LED_PIN 13 //gönderme ledi
uint8_t transmit_data = 0;   // data

void setup() {
  pinMode(LED_PIN, OUTPUT);
  man.setupTransmit(TX_PIN, MAN_1200);
}
void loop() {
  man.transmit(man.encodeMessage(1,10));   //kanal 1 data 10
  digitalWrite(LED_PIN, HIGH);
  delay(1000);
  digitalWrite(LED_PIN, LOW);
  man.transmit(man.encodeMessage(2,4));   //kanal 2 data 4
  digitalWrite(LED_PIN, HIGH);
  delay(1000);
  digitalWrite(LED_PIN, LOW);
}



RX ALICI

#include <Manchester.h>

#define RX_PIN 4  // alıcı arduino pini D4
#define LED_PIN 13  // led pini
#define LED_PIN1 12  // led  pini
uint8_t data;
uint8_t id;

void setup() {
  pinMode(LED_PIN, OUTPUT);  
pinMode(LED_PIN1, OUTPUT);  
  man.setupReceive(RX_PIN, MAN_1200);
  man.beginReceive();
}

void loop() {
  if (man.receiveComplete()) {    //dinleme alma baslat
    uint16_t m = man.getMessage(); // m mesajını al
    man.beginReceive();     //  almaya basla
    if (man.decodeMessage(m, id, data)) {   // m=mesaj  //id=kanal // data=data
      if (id==1 && data==10){      // eger id 1 ve data 10 ise ledi yak
        digitalWrite(LED_PIN, HIGH);   // led yanık
        delay(500);                    // yarım saniye bekle    
      }
      else{    // eger id 1 ve data 10 degil ise ledi söndür
        digitalWrite(LED_PIN , LOW);  // led sönük
      }
   if (id==2 && data==4){        // eger id 2 ve data 4 ise ledi yak
        digitalWrite(LED_PIN1, HIGH);   // led yanık
        delay(500);                     // yarım saniye bekle
      }
      else{   // eger id 2 ve data 4 degil ise ledi söndür
        digitalWrite(LED_PIN1 , LOW);  // led sönük
      }
    }
  }
}

basit çalışan örnektir alıcıyı ikiye bölüp led pin ve led pin1 ayrı alıcılarda tek vericiden ayrı işler için kullanılabilir  iki buton koyulup ör: biri bahçe kapısı biri garaj kapısı açılısında kullanılabilir.
veya iki vericiden  bir alıcıdaki iki röleyi tek tek kullanabilirsiniz.
ör: garaj kapısı açıldı. bahçe kapısı açıldı. tek alarm panosuna girebilirsiniz.

id , data ve  hız " MAN_1200" aynı olmadan çalışmaz.

kütüpane ; https://github.com/mchr3k/arduino-libs-manchester

1 yorum:

UGUR OCAKSIZ dedi ki...

MAN_300 0
MAN_600 1
MAN_1200 2
MAN_2400 3
MAN_4800 4
MAN_9600 5
MAN_19200 6
MAN_38400 7
HIZ TABLOSU