Prezentarea pe scurt a proiectului :
Ce face ?
Dispozitivul detecteaza orice fel de miscare intr-o incapere. In cazul in care alarma este “On”, la detectarea miscarii, aceasta scoate un sunet puternic.
Care este scopul lui ?
Scopul proiectului este de a asigura securitatea unui apartament, cu un cost redus.
Listă de piese
1. Placuta etapa 1
2. 1 x LCD: http://syscomelco.ro/ProdusDetaliu.asp?ID=8083
3. 1 x Keypad: http://syscomelco.ro/ProdusDetaliu.asp?ID=6953
4. 1 x Buzzer: http://syscomelco.ro/ProdusDetaliu.asp?ID=6448
5. 1 x Senzor: http://www.robofun.ro/senzori/pir/senzor_pir
Schema Proteus:
* * API LCD * */ <file> void LCD_init(); Initializare modul LCD.Trebuie apelata inainte de a se face orice operatie cu LCD-ul void LCD_writeInstruction(unsigned char _instruction); Trimite o instructiune catre lcd (vezi datasheet) void LCD_writeData(unsigned char _data); Trimite date catre LCD pentru afisare void LCD_write(unsigned char _byte); trimite un bute catre LCD la modul general (nu conteaza daca e instructiune sau date) void LCD_waitNotBusy(); Asteptam pana cand lcd-ul devine disponibil pt o noua comanda void LCD_waitInstructions(unsigned char _instructions); Asteapta un numar de cicli de ceas. void LCD_print(char* _msg); Afiseaza imformatia pe LCD (doar 1 linie, primele 16 caractere) void LCD_print2(char* _msg1, char* _msg2); Afisare pe 2 lini pe LCD void LCD_printDecimal2u(unsigned int _n); Afisare numar in baza 10 pe LCD void LCD_printHexa(unsigned int _n); Afisare numar in baza 16 pe LCD </file> <file> void key_init(void); Initialize ports and Keypad. unsigned char get_key(void); To read key from the keypad </file>
unsigned char decodeKey(unsigned char); // decodifica codul intors de functia get_key() void set_new_password_function(void); // realizeaza setarea unei noi parole void alarm_on_function(void); // functie care se ocupa de operatiile realizate de alarma atunci cand aceasta este On
“ALARM OFF”
“ALARM OFF”
“SET NEW PASSWORD”
“*”
“PASSWORD WAS SET”
“ALARM ON !!!”
“Buzzz!!!”
“Remaining 2 sec…”
==== Concluzii ====
=== Concluzii ===
Partea Hardware
Este de preferat ca pinii oricarei componente sa fie lipiti direct (printr-un fir) pe pinii microcontrolului. Astfel se pot salva cateva ore bune de debug.
Partea Software
Nu mereu codul care merge in Proteus merge si in realitatea (cel putin la mine nu a mers).
Rezultate Obtinute
Per ansamblu a fost un proiect interesant.
Recomandari**
Cei care vor alege acest proiect sa se astepte sa lucreze aproximativ 30 ore pentru realizarea sa. (Asa a fost la mine)