12-03-2021, 18:03
Witam
Jestem nowy na forum dlatego witam wszystkich serdecznie.
Po przeczytaniu nieskończonej ilości stron internetowych oraz przetestowaniu większości przykładów z ArduinoISP
postanowiłem skonstruować coś co może mi się przydać.
Znalazłem starego pilota od sterownika zamka centralnego pracującego na częstotliwości 433MHz. Odczytałem wysyłany
kod i skleciłem program który zapala i gasi leda po jego otrzymaniu.
Działa bez zarzutu ale chciałbym aby urządzenie sygnalizowało swój stan. Coś a`la zamek centralny w samochodzie.
Czyli np: naciskam "zamknij" a urządzenie wysyła 3 krótkie sygnały świetlne i dźwiękowe oraz cały czas pulsuje czerwona dioda, naciskam "otwórz" i otrzymuję sygnał ciągły 1-sekundowy i zaświeca się dioda zielona.
Nie mam pojęcia jak to zrobić. Proszę o poradę i oczywiście wyrozumiałość. Dopiero zaczynam.
Mój kod:
Jestem nowy na forum dlatego witam wszystkich serdecznie.
Po przeczytaniu nieskończonej ilości stron internetowych oraz przetestowaniu większości przykładów z ArduinoISP
postanowiłem skonstruować coś co może mi się przydać.
Znalazłem starego pilota od sterownika zamka centralnego pracującego na częstotliwości 433MHz. Odczytałem wysyłany
kod i skleciłem program który zapala i gasi leda po jego otrzymaniu.
Działa bez zarzutu ale chciałbym aby urządzenie sygnalizowało swój stan. Coś a`la zamek centralny w samochodzie.
Czyli np: naciskam "zamknij" a urządzenie wysyła 3 krótkie sygnały świetlne i dźwiękowe oraz cały czas pulsuje czerwona dioda, naciskam "otwórz" i otrzymuję sygnał ciągły 1-sekundowy i zaświeca się dioda zielona.
Nie mam pojęcia jak to zrobić. Proszę o poradę i oczywiście wyrozumiałość. Dopiero zaczynam.
Mój kod:
Kod:
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup()
{
pinMode(8, OUTPUT); //Pin 8 jako wyjście
digitalWrite(8, LOW); //Pin 8 w stanie niskim po włączeniu
mySwitch.enableReceive(0); // Pin 2 (INT0) jako wejście sygnału z odbiornika
}
void loop()
{
if (mySwitch.available())
{
int value = mySwitch.getReceivedValue();
if ( mySwitch.getReceivedValue() == 11858321)
digitalWrite(8, HIGH);
if ( mySwitch.getReceivedValue() == 11858322)
digitalWrite(8, LOW);
}
}