Listwa oświetleniowa LED z czujnikiem ruchu PIR HC-SR505. Oświetlenie kredensu w kuchni. Mam 4 moduły diod po 3 diody led na 12V,zasilacz z 12V na 2,5A z routera netgear,czujnik PIR HC-SR505 i Attiny2313. Diody podłączone do zasilacza świecą mocnym białym światłem.Jak do tego podłączyć czujnik i mikro kontroler ? Żeby zaświeciło się światło przy wchodzeniu do kuchni a po wyjściu zgasło powiedzmy po 5 sekundach? Na razie zrobiłem taki program:
Przycisk ma załączać i wyłączać program działania czujnika.Dioda led RGB dwu kolorowa- czerwona nie działa,zielona działa.Jak zrobić żeby świeciła się na zielono przy wyłączeniu i odwrotnie ?Do mikro kontrolera podłączyć tranzystor z rezystorem?Jaki?Dioda RGB - wspólna anoda w środku, zielony i czerwony po bokach.Wszystkie trzy podłączyć do digital?NP.13- Red przez rezystor 220 om,12-Green przez rezystor 220 om i 4-anoda?Bez czujnika ładnie wszystko świeci. Mocne biała światło.Program mi częściowo działa. Dioda Led jako światło zapala się z czujnika i i gaśnie po zadanym czasie.Tylko dioda sygnalizacji stanu- coś nie tak. Wyłączone świeci się zielona a załączony nic się nie świeci.
Co źle w programie? Brakło na końcu }. Poprawilem.
Kod:
[syntax=c]define PRZYCISK 2
#define SWIATLO 3
#define PIR 5
#define LED 13 //Czerwona
#define LED 12 //Zielona
#define CZAS_SWIECENIA 1000
boolean uzbrojony = false;
unsigned long przycisk_czas, uzbrojenie_czas;
void setup() {
pinMode(LED, OUTPUT);
pinMode(SWIATLO, OUTPUT);
digitalWrite(SWIATLO, LOW);
pinMode(PIR, INPUT);
pinMode(PRZYCISK, INPUT_PULLUP);
}
void zmiana()
{
digitalWrite(SWIATLO, LOW);
uzbrojenie_czas = millis() + CZAS_SWIECENIA;
przycisk_czas = millis() + 1000;
uzbrojony = !uzbrojony;
detachInterrupt(digitalPinToInterrupt(PRZYCISK));
}
void loop() {
digitalWrite(LED, uzbrojony);
if (przycisk_czas < millis())
attachInterrupt(digitalPinToInterrupt(PRZYCISK), zmiana, FALLING);
if (digitalRead(PIR))
{
if (uzbrojony && uzbrojenie_czas < millis())
digitalWrite(SWIATLO, HIGH);
}
else
digitalWrite(SWIATLO, LOW);
}
[/syntax]
Przycisk ma załączać i wyłączać program działania czujnika.Dioda led RGB dwu kolorowa- czerwona nie działa,zielona działa.Jak zrobić żeby świeciła się na zielono przy wyłączeniu i odwrotnie ?Do mikro kontrolera podłączyć tranzystor z rezystorem?Jaki?Dioda RGB - wspólna anoda w środku, zielony i czerwony po bokach.Wszystkie trzy podłączyć do digital?NP.13- Red przez rezystor 220 om,12-Green przez rezystor 220 om i 4-anoda?Bez czujnika ładnie wszystko świeci. Mocne biała światło.Program mi częściowo działa. Dioda Led jako światło zapala się z czujnika i i gaśnie po zadanym czasie.Tylko dioda sygnalizacji stanu- coś nie tak. Wyłączone świeci się zielona a załączony nic się nie świeci.
Co źle w programie? Brakło na końcu }. Poprawilem.