Skocz do zawartości

Sterowanie oświetleniem - utknąłem


Tomeksz104

Pomocna odpowiedź

Witam,

Staram się zrobić sterowanie oświetleniem które miało by działać i ręcznie i z pilota do Tv. Wpadłem na pomysł by włącznik swiatla podłączyć do arduino i odczytywać stan przełącznika za pomocą pinu i otrzymuje wartości 1 lub 0 w zależności od stanu włącznika. Jednak nie potrafię połączyć dwóch funkcji na raz. Albo działa z pilota albo z przełącznika.

Mam taki kod:

Usunięty

Prosiłbym o podpowiedzi, być może dobrze kombinuje ale nie wiem jak to dobrze Ugryźć aby działało.

Pozdrawiam

//// EDIT

Kombinując dalej, udało mi się wykonać sterowanie pilotem oraz ręcznie. Ostatnim problemem jest to że przycisk trzeba wcisnąć dwa razy żeby światło zgazło/zaświeciło. Na pilocie działa dobrze - jedno wcisniecie, jedna zmiana. Oto kod:

#include <IRremote.h>
#define irPin 11
IRrecv irrecv(irPin);
decode_results results;

int switchPin = 2;
int ledPin = 13;

boolean currentButton = LOW;
boolean lastButton = LOW;
boolean ledOn = false;

boolean debounce(boolean last)
{
 boolean current = digitalRead(switchPin);
 if (current != lastButton)
 {
   delay(5);
   current = digitalRead(switchPin);
 }
 return current;
}

void setup()
{
 Serial.begin(9600);
 irrecv.enableIRIn();

 pinMode(switchPin, INPUT_PULLUP);
 pinMode(ledPin, OUTPUT);
}

void loop()
{
 sterowanieReczne();
 sterowaniePilotem();
}

void sterowanieReczne() {
 currentButton = debounce(lastButton);

 if (currentButton == HIGH && lastButton == LOW) ledOn = !ledOn;

 lastButton = currentButton;

 digitalWrite(ledPin, ledOn);
}
void sterowaniePilotem() {
 if (irrecv.decode(&results)) {

   switch (results.value) {
     case 0x803F00FF:
       Serial.println("Nacisnieto klawisz nr. 1");
       digitalWrite(ledPin, ledOn);
       if (lastButton == LOW) {
         lastButton = HIGH;
       } else {
         lastButton = LOW;
       }
       lastButton = LOW;
       break;
   }

   irrecv.resume();
 }
}

Co może być nie tak?

received_1306418832772952.thumb.jpeg.0de94d018d12344ad4cc45f1db2f64f5.jpeg

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.