Remote switch - простое управление покупными радиорозетками.

dinamitch1
Offline
Зарегистрирован: 15.12.2013

там разный приёмник и разнный передачик, чистота разная

maxwell2010
Offline
Зарегистрирован: 12.09.2015

dinamitch1 пишет:

там разный приёмник и разнный передачик, чистота разная

ну так вроде обои на 315 Мгц и приемники показывют один и тот же сигнал, считал библиотекой одной и той же. может подстроечник покрутить на приемнике?

Если родной приемник в патроне, то с дуины работате максимум 20 см. Перепаиваю на свой - с дуины берет нормально, а вот с пульта максимум 20 см, тоесть получается наоборот. Интересно как то все закручено

 

dinamitch1
Offline
Зарегистрирован: 15.12.2013

Я тоже экспериментировал снял приёмник с чтото подобнное что у тебя только у меня на 2 каннала комутирует 220В ... и приёмник подкл. к ардуино и чтитал коды радио пульта, а с приёмником что с алиэкспресса коды он не принимал. Приёмник что с алиэкспресса удачно читал коды с пульта что от ворот гаража он какраз на 315

Попробуй покрутить катушку может чтото покажет, в моём случяее без результатов

"ну так вроде обои на 315 Мгц" - как ты это узнал? 

maxwell2010
Offline
Зарегистрирован: 12.09.2015

Самое смешное: взял другое устройство, на 433 Мгц:

Считал коды с пульта, залил в ардуино на RCSwitch библиотеке. И опять таже петрушка. Родной пульт берет на приличном расстоянии, а дуина максимум 20 см. Что делаю не так? Припаял паралельно свой модуль на 433 Мгц, результатов НОЛЬ. Как управляются радиорозетки? Неужели ни у кого таких проблем небыло? 

satelit
Offline
Зарегистрирован: 12.12.2015

заказал с али, передатчик при 9 вольтах бьет больше ста метров, а вот с приемником проблемы, толи библиотека не та толи он не рабочий

P.S. вместо передатчика подойдет соседский радиозвонок( я такого не говорил)

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

приемник там сверхач, и стоит компаратор который тупит гад..  он не успевает бустрие импульсы обрабатывать, нужно как минимум компаратор переделывать.  а  сами программы работают без проблем - я проверял.

кстати, никто не обьяснит мне как работает вот эта необычная прграмма с брелками???

http://arduino.ru/forum/programmirovanie/zaprogrammirovat-reagirovanie-n...

 

elf03
Offline
Зарегистрирован: 20.02.2016

Здравствуйте,

Купил такие же розетки в том же магазине, вот только у меня распберриПи2. Много уже перепробовал, пока не получается отловить сигнал от пульта.

Может кто-то знает альтернативу   https://bitbucket.org/fuzzillogic/433mhzforarduino/wiki/Home

под распберри ? Заранее спасибо

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

на форуме где только ардуино обсуждают? оригинальничаете..

elf03
Offline
Зарегистрирован: 20.02.2016

это единственное место что я нашел где пишут что получилось управлять этими розеткаим ...

извините (((

dbxdb
Offline
Зарегистрирован: 12.03.2016

evgen66 пишет:

 

..заказал такой набор (только 315мгц). Пришёл только пульт (китаец извинился и всё...)

решил переделать на 433мгц, замена кварца не помогла...  

У кого есть опыт переделки, посоветуйте пожалуйста   что ещё???

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

зачем заказывать на 315 было??

зачем потом переделывать, есть специальные приборы для проверки и настройки??
совет - закажите на 433 и не тратьте время и свое и других, никто такими глупостями по переделке не занимается.
есть знания и умения - идите например на VRTP ресурс и там подробно расписано как изготовить самостоятельно, как проверить. Ну а ваш путь похоже единственный - заказать новые.

axill
Offline
Зарегистрирован: 05.09.2011

Эта круглая хрень не кварц, а целый модуль

катушек снизу нет никаких? Если есть их надо перестраивать

по приемнику есть уверенность, что он работает на 433? Мне прислали 10шт из них по факту 6 оказались на 315мгц. Отличается только настройка катушки, сам перенастроил

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

круглая хрень на передатчике - PAW резонатор на поверхностных волнах, его только менять.

приемник перенастроить можно попытаться, но на  433 там два витка, на 315 - три витка.. может не настроится. и настройка очень тонкая, просто так не выйдет точно настроить.

axill
Offline
Зарегистрирован: 05.09.2011

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

dbxdb
Offline
Зарегистрирован: 12.03.2016

... приёмник я трогать не буду, он работает с другими датчиками на 433мгц...

Этот пульт я покупал давно, а тут он мне попался на глаза и я решил попробовать добавить его в свою схему,

перепаял кварц и на расстоянии 5см даже прочитал коды кнопок, это и вдохновило на поиски решений...

... а пропадание связи - это перестаёт читать код или какой-то другой признак?

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

это никакая мощность, нет нормального резонанса, там брелок без усилителя. петлю на плате вы не подстроите в резонанс.

krepton85
Offline
Зарегистрирован: 02.02.2016

Заметил одну интересную вещь:

RemoteReceiver::init(0, 3, showCode);//приемник вешаем на 2 пин(0 прерывание), 3-мин. количество повторов

 

параметр количество повторов очень сильно влияет на расстояние срабатывания пульта, чем выше это значение, тем меньше вероятность помех от дребезга контактов кнопки пульта, но и меньше расстояние  на котором работает пульт. Тут нужно что то придумать др. выставить 1 повтор и придумать защиту от дребезга контактов.

 

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

там "дребезг радиосигналов" а не кнопки. и это ничего не даст. если действительно интересно - то лезьте в библиотеку и разширяйте границы приема временных интервалов.

krepton85
Offline
Зарегистрирован: 02.02.2016

Short Circuit пишет:

там "дребезг радиосигналов" а не кнопки. и это ничего не даст. если действительно интересно - то лезьте в библиотеку и разширяйте границы приема временных интервалов.

Я кажись понял в чем дело, на расстоянии меняются тайминги и каждый код может при сравнении 3-х раз подрят иметь разный тайминг. Это я раньше еще заметил когда узнавал коды клавишь. И в скетче который для трансмиттера указывалось 3 различных тайминга, например:

#define PERIOD 237;  //(294) period duration: - полученные из (монитор порта)
#define PERIOD 238;
#define PERIOD 239;

интересно будут ли они работать для рессивера?

krepton85
Offline
Зарегистрирован: 02.02.2016

Вот наконец то разобрался, вот так сектчь работает почти так же стабильно как и с оригинальным RF контроллером реле.

#include <RemoteReceiver.h>
#include <RemoteSwitch.h>
/*
* Demo for RF remote switch receiver.
* For details, see RemoteReceiver.h!
*
* This sketch shows the received signals on the serial port.
* Connect the receiver to digital pin 2.
*/
const int ledPin_1 = 8;
const int ledPin_2 = 9;
unsigned long receivedCode;
unsigned int period;
int incomingByte;



//#define PERIOD 237;  //(294) period duration: - полученные из (монитор порта)
//#define PERIOD 238;
//#define PERIOD 239;
//#define PERIOD 240;

void setup() {
  Serial.begin(115200);
  
  //Initialize receiver on interrupt 0 (= digital pin 2), calls the callback "showCode"
  //after 3 identical codes have been received in a row. (thus, keep the button pressed
  //for a moment)
  //
  //See the interrupt-parameter of attachInterrupt for possible values (and pins)
  //to connect the receiver.
  RemoteReceiver::init(0, 0, showCode);

  pinMode(ledPin_1, OUTPUT);
  //pinMode(ledPin_1, LOW);
  pinMode(ledPin_2, OUTPUT);
  //pinMode(ledPin_2, LOW);
  
}

void showCode(unsigned long receivedCode, unsigned int period) {
  //Note: interrupts are disabled. You can re-enable them if needed.
  if (receivedCode == 272242) {
    RemoteReceiver::disable();
    interrupts();
    digitalWrite(ledPin_1, !digitalRead(ledPin_1));
    if (digitalRead(ledPin_1) == HIGH) {
      Serial.print("out1: ");
      Serial.println("ON");
      
    }
    if (digitalRead(ledPin_1) == LOW) {
      Serial.print("out1: ");
      Serial.println("OFF");
      }
     delay(500); 
     RemoteReceiver::enable(); 
  }
  
  if (receivedCode == 272268) {
    RemoteReceiver::disable();
    interrupts();
    digitalWrite(ledPin_2, !digitalRead(ledPin_2));
    if (digitalRead(ledPin_2) == HIGH) {
      Serial.print("out2: ");
      Serial.println("ON");
      
    }
    if (digitalRead(ledPin_2) == LOW) {
     Serial.print("out2 : "); 
     Serial.println("OFF"); 
    }
    delay(500);
    RemoteReceiver::enable();
  }
    
  
  //Print the received code.
  /*Serial.print("Code: ");
  Serial.print(receivedCode);
  Serial.print(", period duration: ");
  Serial.print(period);
  Serial.println("us.");
  */
}

void loop() {
  if (Serial.available() > 0)  //если есть доступные данные

      incomingByte = Serial.read();

    if (incomingByte == 'A') {
      digitalWrite(ledPin_1, HIGH);      
      if (digitalRead(ledPin_1) == HIGH) {
        Serial.print("out1: ");
        Serial.println("ON");
      }
    }
      if (incomingByte == 'B') {
      digitalWrite(ledPin_1, LOW);   
      if (digitalRead(ledPin_1) == LOW) {
         Serial.print("out1: ");
         Serial.println("OFF");     
      }
    }
    if (incomingByte == 'C') {
      digitalWrite(ledPin_2, HIGH);
      if (digitalRead(ledPin_2) == HIGH) {
        Serial.print("out2: ");
        Serial.println("ON");
      }
    }
    if (incomingByte == 'D') {
      digitalWrite(ledPin_2, LOW);
      if (digitalRead(ledPin_2) == LOW) {
      Serial.print("out2: ");
      Serial.println("OFF");      
      }
    }
}


//Callback function is called only when a valid code is received.

 

 

На остальную часть кода для сериал порта не обращайте внимания, я просто собираюсь туда подключить еще Wi-fi - Uart модуль, пока он в пути, я эксперементирую с bluetooth - uart адаптером.

satelit
Offline
Зарегистрирован: 12.12.2015

много пишут про пульты со статическим кодом, но не найду в какую сторону копать.

собираю пульт ду радиомашинки( только в проекте все еще) наткнулся на проблему в переменных(вместо кнопки газа джостик - плавная регулировка газа). ну это можно решить, а вот как решить проблему нажатия двух кнопок одновременно. 

пока думаю сделать код из кусков:

начала кода (постоянная для того что бы пеиемник убедился что коды с моего пульта)

вторая часть цыфрой от 0 до 255-движение вперед ( сразу передает коэфициент на шим приемника) 

третья, четвертая, пятая-состояние остальных кнопок

реально ли для новичка. поделитесь ссылками плиз

krepton85
Offline
Зарегистрирован: 02.02.2016

Возможно вас так же заинтересует радио-выключатель на ардуино: https://youtu.be/ZapINle-Wq0

satelit
Offline
Зарегистрирован: 12.12.2015
#include <RemoteTransmitter.h>
unsigned int period = 464;//period duration
unsigned long code;//code
unsigned long transmitCode;

void setup() {
transmitCode=123456;//реально ли вместо кода постаить переменную
//формируем код отправки
code = transmitCode & 0xFFFFF;
code |= (unsigned long)period << 23;
code |= 3L << 20;
}

void loop() {
RemoteTransmitter::sendTelegram(code,3);//3-пин к которому подключен передатчик
delay(2000);
}

 

7am
7am аватар
Offline
Зарегистрирован: 09.09.2015

Ребят, перекопал инет, хоть кто нибудь собирал простой пульт с одной кнопкой на Attiny 13? библиотека 

RCSwitch. 

Отзовитесь пожалуйста(((
Код загружается но не работает(( что не так? 

 

#include <RCSwitch.h>
#include <avr/io.h>
#include <util/delay.h>
int button = 3;
RCSwitch mySwitch = RCSwitch();
int main( void ) {
// Передатчик #0 (PB0)
mySwitch.enableTransmit(0);
pinMode(button, INPUT);
}
void loop() {
if(digitalRead(button) == LOW){mySwitch.send(11235377, 24);}
_delay_ms(500);
}

 

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

а на тини будет работать?

krepton85
Offline
Зарегистрирован: 02.02.2016

7am пишет:

Ребят, перекопал инет, хоть кто нибудь собирал простой пульт с одной кнопкой на Attiny 13? библиотека 

RCSwitch. 

Отзовитесь пожалуйста(((
Код загружается но не работает(( что не так? 

 

#include <RCSwitch.h>
#include <avr/io.h>
#include <util/delay.h>
int button = 3;
RCSwitch mySwitch = RCSwitch();
int main( void ) {
// Передатчик #0 (PB0)
mySwitch.enableTransmit(0);
pinMode(button, INPUT);
}
void loop() {
if(digitalRead(button) == LOW){mySwitch.send(11235377, 24);}
_delay_ms(500);
}

 

Наверное библиотека не совместима с attiny.