Odbiornik IR- powiadomienia diodami LED - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Odbiornik IR- powiadomienia diodami LED (/watek-odbiornik-ir-powiadomienia-diodami-led) |
Odbiornik IR- powiadomienia diodami LED - chesjo - 28-12-2023 Cześć, Robię projekt odbierania sygnałów przez piloty posiadające nadajnik IR. Prawidłowo odbieram kody, lecz chciałem dodać powiadomienia diodami. Czerwona dioda sygnalizuje otrzymany już kod, natomiast zielona dioda sygnalizuje nowy kod. Sygnał jest podawany na wyjścia, lecz diody się nie świecą, sprawdzałem przykładając + z buzzera czy w ogóle podaje sygnał. Dodam, że dopiero zaczynam przygodę z Arduino. Dołączam kod oraz schemat. #include <IRremote.hpp> int RECV_PIN = 10; IRrecv irrecv(RECV_PIN); decode_results results; int redPin = 6; int greenPin = 3; void setup() { Serial.begin(9600); IrReceiver.begin(RECV_PIN, ENABLE_LED_FEEDBACK); // Start the receiver irrecv.blink13(true); pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); irrecv.enableIRIn(); } void loop() { if (IrReceiver.decode()) { Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX); // Print "old" raw data /* USE NEW 3.x FUNCTIONS */ IrReceiver.printIRResultShort(&Serial); // Print complete received data in one line IrReceiver.printIRSendUsage(&Serial); // Print the statement required to send this data IrReceiver.resume(); // Enable receiving of the next value switch(&results){ case 0xFB020707: //Keypad button "5" digitalWrite(redPin, HIGH); delay(2000); digitalWrite(redPin, LOW); } switch(&results){ case 0xFB040707: //Keypad button "2" digitalWrite(greenPin, HIGH); delay(2000); digitalWrite(greenPin, LOW); } irrecv.resume(); } } Dziękuję za pomoc RE: Odbiornik IR- powiadomienia diodami LED - oscarX - 28-12-2023 (28-12-2023, 20:11)chesjo napisał(a): switch(&results) Dlaczego tam używasz & ? To jest adres zmiennej - wartość stała. No i jakoś nie widze byś ustawiał zmienną results. RE: Odbiornik IR- powiadomienia diodami LED - chesjo - 29-12-2023 (28-12-2023, 21:48)oscarX napisał(a):Coś pozmieniałem i mam takie coś, lecz teraz przy każdym nadanym sygnale przez pilot zapala się zielona dioda(28-12-2023, 20:11)chesjo napisał(a): switch(&results) Kod: #include <IRremote.h> RE: Odbiornik IR- powiadomienia diodami LED - kaczakat - 29-12-2023 Kod wstawiaj w znaczniki kod: [attachment=1403] [attachment=1404] Nie oczekuj, że ktoś będzie próbował oglądać taki obrazek i go odczytywać np. siedząc z telefonem, albo przepisywać z obrazka by zweryfikować jak to działa na innym sprzęcie. RE: Odbiornik IR- powiadomienia diodami LED - oscarX - 30-12-2023 (29-12-2023, 21:15)chesjo napisał(a): Coś pozmieniałem i mam takie coś, lecz teraz przy każdym nadanym sygnale przez pilot zapala się zielona dioda W swoim poprzednim poście zwracałem uwagę, że zmienna results nie jest nigdzie ustawiana - zakładasz że pojawia się tam jakaś wartość, ale nigdzie nie widać podstawienia pod tą zmienną lub przekazania jej do jakiejs funkcji by ona wpisała tam wartość. Poszukałem przykładu podobnego do twojego kodu i znalazłem następującą konstrukcję: Kod: if (irrecv.decode(&results)) { Tutaj adres zmiennej results jest przekazywany do wywołania funkcji/metody decode - i to jest zrozumiałe - metoda ma wpisać swoje wyniki do zmiennej results. Chyba tego brakuje w twoim kodzie. RE: Odbiornik IR- powiadomienia diodami LED - chesjo - 31-12-2023 Dzięki za pomoc, wystarczyło zmienić bibliotekę na starszą i jak na razie działa w miarę prawidłowo. |