Передача команды по 433mhz. Ложное двойное нажатие.

kadlk
Offline
Зарегистрирован: 23.05.2019

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

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


#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();
byte val;
void setup() 
{
  Serial.begin(9600);
  
  // Transmitter is connected to Arduino Pin #10  
  mySwitch.enableTransmit(10);
  
  // Optional set protocol (default is 1, will work for most outlets)
  // mySwitch.setProtocol(2);

   // Optional set pulse length.
   //mySwitch.setPulseLength(320);
  
  // Optional set number of transmission repetitions.
  // mySwitch.setRepeatTransmit(15);
  
}

void loop() 
{

if(Serial.available()) 
{
  val = Serial.parseInt();
  
  if(val == 1)
  {
    mySwitch.send(8148272, 24);
    delay(1000);
  }
}
}

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Добавьте кнопку на выключение, например val = 2. В программе ошибки не вижу.

kadlk
Offline
Зарегистрирован: 23.05.2019

mykaida пишет:

Добавьте кнопку на выключение, например val = 2. В программе ошибки не вижу.


Спасибо, добавлю. А от чего может быть "двойное нажатие".
Может помехи или антенну надо прикрутить?

kadlk
Offline
Зарегистрирован: 23.05.2019

Что-то ничего не выходит, все равно проскакивают "двойные" нажатия.

 

Пробовал менять mySwitch.setPulseLength(320) и mySwitch.setRepeatTransmit(15);

В чем может быть отличие сигнала с кнопки и сигнала с передатчика?

Вот код кнопки.

11:50:08.611 -> Decimal: 8148272 (24Bit) Binary: 011111000101010100110000 Tri-State: F110FFFF0100 PulseLength: 319 microseconds Protocol: 1
11:50:08.611 -> Raw data: 9920,248,1056,908,448,912,396,944,412,924,388,944,428,236,1064,236,1048,244,1040,944,428,228,1064,908,436,236,1056,944,384,264,1032,944,416,244,1060,236,1068,884,428,916,432,244,1056,228,1060,232,1068,232,1060,
11:50:08.645 -> 
11:50:09.221 -> Decimal: 8148272 (24Bit) Binary: 011111000101010100110000 Tri-State: F110FFFF0100 PulseLength: 319 microseconds Protocol: 1
11:50:09.221 -> Raw data: 9940,244,1056,912,436,904,432,916,424,908,424,936,416,256,1028,252,1056,224,1072,916,428,236,1056,920,436,232,1060,924,432,232,1072,908,440,224,1072,228,1056,892,428,924,428,224,1072,244,1060,220,1072,228,1060,
11:50:09.254 -> 
11:50:10.332 -> Decimal: 8148272 (24Bit) Binary: 011111000101010100110000 Tri-State: F110FFFF0100 PulseLength: 319 microseconds Protocol: 1
11:50:10.332 -> Raw data: 9920,244,1052,924,424,916,412,924,424,908,424,920,420,244,1056,248,1044,248,1056,916,424,236,1064,920,420,244,1052,924,428,236,1052,924,428,236,1064,236,1060,900,416,928,420,236,1060,240,1052,240,1056,244,1048,
11:50:10.332 -> 
11:50:10.877 -> Decimal: 8148272 (24Bit) Binary: 011111000101010100110000 Tri-State: F110FFFF0100 PulseLength: 320 microseconds Protocol: 1
11:50:10.877 -> Raw data: 9928,240,1060,920,428,908,416,920,428,908,420,924,424,240,1060,244,1056,240,1060,920,428,236,1056,924,428,236,1064,916,428,240,1060,920,424,236,1068,232,1060,896,420,920,428,240,1068,228,1064,232,1060,236,1048,
11:50:10.877 -> 
11:50:12.328 -> Decimal: 8148272 (24Bit) Binary: 011111000101010100110000 Tri-State: F110FFFF0100 PulseLength: 320 microseconds Protocol: 1
11:50:12.328 -> Raw data: 9992,168,1060,936,420,900,404,928,432,920,400,904,460,212,1128,164,1108,192,1068,932,400,248,1080,892,440,224,1064,928,420,244,1048,920,428,236,1068,240,1064,888,420,932,428,244,1100,176,1072,244,1052,228,1096,
11:50:12.328 -> 
11:50:15.376 -> Decimal: 8148272 (24Bit) Binary: 011111000101010100110000 Tri-State: F110FFFF0100 PulseLength: 319 microseconds Protocol: 1
11:50:15.376 -> Raw data: 9948,244,1076,888,456,956,364,936,420,912,428,908,480,184,1084,216,1056,356,952,916,436,236,1044,940,432,232,1064,924,428,240,1064,924,432,216,1088,212,1068,908,404,932,416,240,1076,232,1088,196,1116,168,1072,
11:50:15.376 -> 
11:50:16.123 -> Decimal: 8148272 (24Bit) Binary: 011111000101010100110000 Tri-State: F110FFFF0100 PulseLength: 320 microseconds Protocol: 1
11:50:16.123 -> Raw data: 9936,268,1068,884,468,924,400,944,412,936,412,912,448,224,1064,248,1072,208,1076,916,460,216,1076,904,424,236,1088,908,412,256,1080,888,476,188,1064,236,1068,900,420,928,436,224,1104,196,1096,196,1104,204,1080,
11:50:16.123 -> 
11:50:16.664 -> Decimal: 8148272 (24Bit) Binary: 011111000101010100110000 Tri-State: F110FFFF0100 PulseLength: 320 microseconds Protocol: 1
11:50:16.664 -> Raw data: 9964,228,1088,884,464,944,388,940,400,928,416,928,452,216,1096,188,1080,224,1056,948,400,288,1040,936,392,272,1024,940,424,252,1048,928,436,216,1076,208,1076,892,424,920,440,236,1064,224,1084,216,1084,224,1052,
11:50:16.664 -> 
11:50:17.103 -> Decimal: 8148272 (24Bit) Binary: 011111000101010100110000 Tri-State: F110FFFF0100 PulseLength: 319 microseconds Protocol: 1
11:50:17.136 -> Raw data: 9952,240,1096,920,460,876,432,928,456,860,460,908,416,244,1100,200,1080,216,1112,940,364,256,1052,932,424,232,1088,900,464,200,1100,896,432,224,1096,232,1100,872,384,944,424,220,1088,220,1060,240,1052,256,1064,
11:50:17.136 ->