06-03-2022, 19:53
Witam,
chce zbudowac selektor wejsc, na przekaznikach, sterowany pilotem. Sketch wkleje ponizej. Z pilota wszystko dziala poprawnie. Dodatkowo chce dodac Button, ktory bedzie zmienial stany logiczne przekaznikow. Probowalem juz na wiele sposobow, ale zaden nie zadzialal poprawnie. Juz sam nie wiem gdzie robie blad
chce zbudowac selektor wejsc, na przekaznikach, sterowany pilotem. Sketch wkleje ponizej. Z pilota wszystko dziala poprawnie. Dodatkowo chce dodac Button, ktory bedzie zmienial stany logiczne przekaznikow. Probowalem juz na wiele sposobow, ale zaden nie zadzialal poprawnie. Juz sam nie wiem gdzie robie blad
Kod:
#include <IRremote.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
const int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
int led1 = 4;
int led2 = 5;
int led3 = 6;
int led4 = 7;
void setup(){
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(led1, OUTPUT);
pinMode(pin2, INPUT_PULLUP);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
lcd.begin(20,4);
lcd.backlight();
lcd.setCursor(0,0);
lcd.print(" INPUT SELECTOR");
lcd.setCursor(6,2);
lcd.print("CD ");
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.print(" DEC: ");
Serial.println(results.value, DEC);
if (((results.value) == (3073854602))||((results.value) == (1069224589)))
{
lcd.setCursor(6,2);
lcd.print("CD ");
Serial.println("CD");
cd();
}
else
if (((results.value) == (3754691388))||((results.value) == (4218592207)))
{
lcd.setCursor(6,2);
lcd.print("DVD ");
Serial.println("DVD");
dvd();
}
else
if (((results.value) == (517694878))||((results.value) == (4041752253)))
{
lcd.setCursor(6,2);
lcd.print("TAPE ");
Serial.println("TAPE");
tape();
}
else
if (((results.value) == (2604307852))||((results.value) == (1349377433)))
{
lcd.setCursor(6,2);
lcd.print("AUX ");
Serial.println("AUX");
aux();
}
irrecv.resume();
}
}
void cd()
{leds(0,1,1,1,0) && (pin2 == LOW);}
void dvd()
{leds(1,0,1,1,0);}
void tape()
{leds(1,1,0,1,0);}
void aux()
{leds(1,1,1,0,0);}
void leds(int le1,int le2,int le3,int le4, int pin2,)
digitalWrite (led1, le1);
digitalWrite (led2, le2);
digitalWrite (led3, le3);
digitalWrite (led4, le4);
}