Witam serdecznie!
Chciałbym uzyskać pomoc, od kogoś kto potrafi programować w języku C/C++ i ew. w Arduino.
Misja do wykonania wygląda następująco.
Projekt: Centralka alarmowa, służąca do kontrolowania jednego pomieszczenia (ilość drzwi: 1)
Chciałbym oprogramować µ-kontroler Atmega328P (na płytce Arduino UNO R3), w ten sposób, by program został napisany w języku C, i później skompilowany do Arduino (i ew. przetłumaczony, jeśli było by to potrzebne).
Dodam, iż jestem świeżakiem w branży programowania i nie znam się na tym na tyle, by poczynić program, którego funkcjonalność zaraz szerzej opiszę.
Centralka alarmowa:
1) SKŁAD ELEMENTÓW:
^okablowanie
^Zasilacz z wewnętrznym akumulatorkiem, zapewniającym zasilanie po wyłączeniu prądu AC)
^ indukcyjny czujnik ruchu lub kontaktron, (montowany w wewnętrznej części drzwi. (aktywuje się po otwarciu drzwi)
^sygnalizator optyczny (pasek czerwonych diod LED), [Sopt]
^sygnalizator akustyczny (syrena z alarmu samochodowego) [Saku]
^moduł arduino UNO R3
^ czujka ruchu (ze stykiem anty sabotażowym) [Cruh]
^ dioda mocy LED (czerwona 1W, zasilana napięciem 1,8-3V). [Lled]
^przycisk do załączania, który będzie ukryty (nie trzeba będzie go oprogramować) [Pzal]
^przycisk do uzbrojenia i uśpienia alarmu (mogą być 2 różne, lub ten sam, ew. przełącznik dźwigienkowy) -
ten też będzie ukryty w tle, lub zamaskowany. [Pusp i Pcuw]
^ przycisk do restartu (sprawia, że dioda Led nie świeci ciągle, tylko mruga co 2 sekundy) {Prst}
* proszę dopisać, jeśli coś będzie potrzebne ponad to
2) ZASADA FUNKCJONALNOŚCI:
Układ na być ciągle zasilany. Może znajdować się w 3-ech stanach:
I. Uśpienia
II. Czuwania
II'. Alarmu.
III. Naruszenia
! NA CZYM POLEGA DZIAŁANIE W KAŻDYM ZE STANÓW:
I. czujniki mogą być aktywne, ale centralka to ignoruje. Dioda Led 1W - nie świeci, sygnalizatory są wyłączone.
II. czujki są aktywne, centrala reaguje na to po 10 sekundowym opóźnieniu, Dioda Led miga cyklicznie (5 s nie świeci, 1 s świeci).
Sygnalizatory wyłączone.
II'. Dioda LED świeci ciągłym światłem, syg, opt miga cyklicznie (2 sek świeci, 2 sek nie), syg aku jest aktywny ciągle (syrena wyje)
III. Układ działa tak jak w trybie czuwania, z tą różnicą, że dioda LED świeci światłem ciągłym, do momentu, aż układ zostanie zrestartowany przyciskiem (Prst)
Działanie:
Pierwsze uruchomienie, lub przywrócenie zasilania:
Po załączeniu zasilania, licznik (timer) rusza i odlicza CZAS NA DECYZJĘ PO URUCHOMIENIU = 30 SEKUND.
Po tym czasie, układ uzbraja się (przechodzi w stan czuwania). Dla t>30 s
Przed tym czasem (dla t=<30 s), możliwe jest załączenie trybu Uśpienia.
Jak załącza się tryb alarmu i ile trwa:
Gdy UKŁAD ZNAJDUJE SIĘ W STANIE CZUWANIA i pojawi się impuls na czujniku indukcyjnym lub/i czujce ruchu, centralka ma uruchomić licznik CZASU NA WEJŚCIE = 10 s i uruchomić ALARM po tym czasie, JEŻELI NIE ZOSTANIE WŁĄCZONY TRYB UŚPIENIA szybciej niż w 10 sekund.
CZAS TRWANIA ALARMU: ustawiony cyklicznie: 180 s-Alarm, 30 s- Przerwa, 120 s-Alarm, 30 s przerwa, 60 s- A i wyłaczenie alarmu (układ przechodzi w tryb czuwania, ale dioda LED
Jak załączyć tryb czuwania:
Włączyć zasilanie i poczekać 30 sekund, lub przyciskiem (Pcuw), JEŻELI CENTRALA JEST W STANIE UŚPIENIA.
Jak uruchomić tryb uśpienia:
Naciskając przycisk (Pusp) w czasie =<10s w przypadku aktywowania czujników (syt. gdy wchodzimy)
lub =<30s licząc od momentu włączenia zasilania.
! chciałbym, aby układ posiadał możliwość rozbudowy o taką rzecz, jak wysyłanie wiadomości SMS z telefonu, lub zadzwonienie, w przypadku załączenia alarmu.
(wyglądało by to tak,
że stale podłączony do zasilania, stary telefon komórkowy, np legendarna nokia, lub motorolla, jest połączony jakąś linią do arduino i po pojawieniu się stanu wysokiego np.: na syg. akustycznym, została by wykonana interakcja w postaci SMS lub wykonania połączenia)
Jeżeli ktoś podjąłby się napisania takiego programu, będę bardzo wdzięczny!
Mile widziane komentarze, przy funkcjach realizowanych przez program.
(Wówczas mógłbym się czegoś nauczyć po zapoznaniu się z kodem)
Z góry dziękuję za wszelkie wskazówki !
Pozdrawiam gorąco.
Chciałbym uzyskać pomoc, od kogoś kto potrafi programować w języku C/C++ i ew. w Arduino.
Misja do wykonania wygląda następująco.
Projekt: Centralka alarmowa, służąca do kontrolowania jednego pomieszczenia (ilość drzwi: 1)
Chciałbym oprogramować µ-kontroler Atmega328P (na płytce Arduino UNO R3), w ten sposób, by program został napisany w języku C, i później skompilowany do Arduino (i ew. przetłumaczony, jeśli było by to potrzebne).
Dodam, iż jestem świeżakiem w branży programowania i nie znam się na tym na tyle, by poczynić program, którego funkcjonalność zaraz szerzej opiszę.
Centralka alarmowa:
1) SKŁAD ELEMENTÓW:
^okablowanie
^Zasilacz z wewnętrznym akumulatorkiem, zapewniającym zasilanie po wyłączeniu prądu AC)
^ indukcyjny czujnik ruchu lub kontaktron, (montowany w wewnętrznej części drzwi. (aktywuje się po otwarciu drzwi)
^sygnalizator optyczny (pasek czerwonych diod LED), [Sopt]
^sygnalizator akustyczny (syrena z alarmu samochodowego) [Saku]
^moduł arduino UNO R3
^ czujka ruchu (ze stykiem anty sabotażowym) [Cruh]
^ dioda mocy LED (czerwona 1W, zasilana napięciem 1,8-3V). [Lled]
^przycisk do załączania, który będzie ukryty (nie trzeba będzie go oprogramować) [Pzal]
^przycisk do uzbrojenia i uśpienia alarmu (mogą być 2 różne, lub ten sam, ew. przełącznik dźwigienkowy) -
ten też będzie ukryty w tle, lub zamaskowany. [Pusp i Pcuw]
^ przycisk do restartu (sprawia, że dioda Led nie świeci ciągle, tylko mruga co 2 sekundy) {Prst}
* proszę dopisać, jeśli coś będzie potrzebne ponad to
2) ZASADA FUNKCJONALNOŚCI:
Układ na być ciągle zasilany. Może znajdować się w 3-ech stanach:
I. Uśpienia
II. Czuwania
II'. Alarmu.
III. Naruszenia
! NA CZYM POLEGA DZIAŁANIE W KAŻDYM ZE STANÓW:
I. czujniki mogą być aktywne, ale centralka to ignoruje. Dioda Led 1W - nie świeci, sygnalizatory są wyłączone.
II. czujki są aktywne, centrala reaguje na to po 10 sekundowym opóźnieniu, Dioda Led miga cyklicznie (5 s nie świeci, 1 s świeci).
Sygnalizatory wyłączone.
II'. Dioda LED świeci ciągłym światłem, syg, opt miga cyklicznie (2 sek świeci, 2 sek nie), syg aku jest aktywny ciągle (syrena wyje)
III. Układ działa tak jak w trybie czuwania, z tą różnicą, że dioda LED świeci światłem ciągłym, do momentu, aż układ zostanie zrestartowany przyciskiem (Prst)
Działanie:
Pierwsze uruchomienie, lub przywrócenie zasilania:
Po załączeniu zasilania, licznik (timer) rusza i odlicza CZAS NA DECYZJĘ PO URUCHOMIENIU = 30 SEKUND.
Po tym czasie, układ uzbraja się (przechodzi w stan czuwania). Dla t>30 s
Przed tym czasem (dla t=<30 s), możliwe jest załączenie trybu Uśpienia.
Jak załącza się tryb alarmu i ile trwa:
Gdy UKŁAD ZNAJDUJE SIĘ W STANIE CZUWANIA i pojawi się impuls na czujniku indukcyjnym lub/i czujce ruchu, centralka ma uruchomić licznik CZASU NA WEJŚCIE = 10 s i uruchomić ALARM po tym czasie, JEŻELI NIE ZOSTANIE WŁĄCZONY TRYB UŚPIENIA szybciej niż w 10 sekund.
CZAS TRWANIA ALARMU: ustawiony cyklicznie: 180 s-Alarm, 30 s- Przerwa, 120 s-Alarm, 30 s przerwa, 60 s- A i wyłaczenie alarmu (układ przechodzi w tryb czuwania, ale dioda LED
Jak załączyć tryb czuwania:
Włączyć zasilanie i poczekać 30 sekund, lub przyciskiem (Pcuw), JEŻELI CENTRALA JEST W STANIE UŚPIENIA.
Jak uruchomić tryb uśpienia:
Naciskając przycisk (Pusp) w czasie =<10s w przypadku aktywowania czujników (syt. gdy wchodzimy)
lub =<30s licząc od momentu włączenia zasilania.
! chciałbym, aby układ posiadał możliwość rozbudowy o taką rzecz, jak wysyłanie wiadomości SMS z telefonu, lub zadzwonienie, w przypadku załączenia alarmu.
(wyglądało by to tak,
że stale podłączony do zasilania, stary telefon komórkowy, np legendarna nokia, lub motorolla, jest połączony jakąś linią do arduino i po pojawieniu się stanu wysokiego np.: na syg. akustycznym, została by wykonana interakcja w postaci SMS lub wykonania połączenia)
Jeżeli ktoś podjąłby się napisania takiego programu, będę bardzo wdzięczny!
Mile widziane komentarze, przy funkcjach realizowanych przez program.
(Wówczas mógłbym się czegoś nauczyć po zapoznaniu się z kodem)
Z góry dziękuję za wszelkie wskazówki !
Pozdrawiam gorąco.