Март 28

Arduino — Это курто: 433 Датчики и пульты от GSM сигнализации ARDUINO

Сначала я скачал несколько библиотек которые не дали мне ровным счётом ничего, прочитал немного форумов которые рассказали о страшном кодирование таких датчиков через кодер декодер pt2262 \ pt2272 я уже начал подыскивать приемник передатчик с этой микросхемой, но все же залез в внутрь сигнализации я не обнаружил данные чипы хоть инструкция уверяла меня что они есть в ZC-GSM012 и вот мои успехи, все заработало без дополнительного железа.

итак

библиотека rcswitch   прямо внутри есть примеры которые помогут как считать коды так и отправить

для считывания используем ReceiveDemo_Simple

/*
  Simple example for receiving
  
  http://code.google.com/p/rc-switch/
*/

#include 

RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available()) {
    
    int value = mySwitch.getReceivedValue();
    
    if (value == 0) {
      Serial.print("Unknown encoding");
    } else {
      Serial.print("Received ");
      Serial.print( mySwitch.getReceivedValue() );
      Serial.print(" / ");
      Serial.print( mySwitch.getReceivedBitlength() );
      Serial.print("bit ");
      Serial.print("Protocol: ");
      Serial.println( mySwitch.getReceivedProtocol() );
    }

    mySwitch.resetAvailable();
  }
}

в мониторе мы увидим

Received 1******4 / 24bit Protocol: 1

при нажатии на кнопки пультов и на срабатывание датчиков.

с помощью

SendDemo

#include 

RCSwitch mySwitch = RCSwitch();

void setup() {

  Serial.begin(9600);
  
  // Transmitter is connected to Arduino Pin #10  
  mySwitch.enableTransmit(10);

  // Optional set pulse length.
  // mySwitch.setPulseLength(320);
  
  // Optional set protocol (default is 1, will work for most outlets)
  // mySwitch.setProtocol(2);
  
  // Optional set number of transmission repetitions.
  // mySwitch.setRepeatTransmit(15);
  
}

void loop() {



  mySwitch.send(1******4, 24); // сигналка выключена
  delay(1000);  



  delay(20000);
}

mySwitch.send(1******4, 24);

это строка в которую мы добавили код кнопки.

ЖЕЛЕЗО

сама плата Arduino UNO  (клон) 10$

Радиоудлинитель 433Мгц 2$

пару строк и вы как минимум можете считывать датчики и управлять сигнализацией с ПК