Радиоуправление

mag155
Offline
Зарегистрирован: 21.12.2017

Отслеживание сигнала передатчика

mag155
Offline
Зарегистрирован: 21.12.2017
#include <SoftwareSerial.h>
SoftwareSerial radio(6, 7); // RX, TX
void setup() {
Serial.begin(9600); 
 radio.begin(9600);
pinMode(13, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
 
 
}

void loop() {
  static unsigned long prevMillis;
       if (millis() - prevMillis == 1000 ) {  // если с приема предыдущей команды прошло больше 2 сек
        digitalWrite( 9, 1);           // выключаем диод
         digitalWrite( 8, 1); 
             digitalWrite( 13, 1); 
            prevMillis = millis();    
       }
    
   
   
   char val = radio.read();
   switch (val) {
   case '2':
      digitalWrite(8, 1);
      break;
   case '1':
      digitalWrite(8, 0);
      break;
   
   }
  char val1 = radio.read();
   switch (val) {
   case '4':
      digitalWrite(13, 1);
      break;
   case '3':
      digitalWrite(13, 0);
      break;
   }
   char val2 = radio.read();
   switch (val) {
   case '5':
      digitalWrite(9, 1);
      break;
   case '6':
      digitalWrite(9, 0);
      break;
     prevMillis = millis();
   }
 
   }            

 

mag155
Offline
Зарегистрирован: 21.12.2017

Всем привет есть такой код приемника. Все работает но при удержании кнопки на передатчика реле счелкает с промижутком в 1 секунду. Нужно чтоб не счелкало а было вкл либо выкл а припотере сигнала с передатчика реле выкл . Подскажите как это исправить ??

mag155
Offline
Зарегистрирован: 21.12.2017

Код пер

#include <SoftwareSerial.h>
SoftwareSerial radio(6, 7); // RX, TX
 int buttonPin = 14; 
 int buttonPin1 = 15; 
 int buttonPin2 = 16; 
int buttonState = 0; 
int buttonState1 = 0; 
int buttonState2 = 0; 
void setup() {
 Serial.begin(9600);
  radio.begin(9600);
  pinMode(13, OUTPUT);
 pinMode(buttonPin, INPUT); 
 pinMode(buttonPin1, INPUT);
 pinMode(buttonPin2, INPUT);

}
void loop() {
  buttonState = digitalRead(buttonPin); 
   buttonState1 = digitalRead(buttonPin1); 
    buttonState2 = digitalRead(buttonPin2);  
   if (buttonState == 1) {
    radio.print('1');
         }
   else
   {
   radio.print('2');
   }
 if (buttonState1 == 1) {
    radio.print('3');
         }
   else
   {
   radio.print('4');
   }
    if (buttonState2 == 1) {
    radio.print('6');
         }
   else
   {
   radio.print('5');
}

едатчика

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

Велосипед пробовали(дорогой)? 

mag155
Offline
Зарегистрирован: 21.12.2017

Нет.подскажите где именно в велосипеде ?