Statie Meteo

Descriere Generala

Mi-am propus realizarea unei “Statii Meteo”. Mai exact, masurarea temperaturii, umidității și afisarea acestora pe un ecran LCD. În plus de asta, vreau să afișez orice text primit pe serială (Proiectul meu să fie de fapt un ecran care afișează stream de știri și din când în când afișează și temperatura + umiditate)

Componente

- Senzot Temperatura/Presiune Maxdetect RHT03

- Hitachi 44780

- Rezistente 16K

- Conectori

Hardware Design

Software Design

statie-meteo.zip

/* Initializare modul LCD. Trebuie apelata inainte de a se face orice operatie cu LCD-ul */
 
void LCD_init();
 
/* Trimite o instructiune catre lcd (vezi datasheet) */
 
void LCD_writeInstruction(unsigned char _instruction);
 
/* Trimite date catre LCD pentru afisare	*/
 
void LCD_writeData(unsigned char _data);
 
/* Trimite un byte catre LCD la modul general (nu conteaza daca e instructiune sau date) */
 
void LCD_write(unsigned char _byte);
 
/* Asteptam pana cand lcd-ul devine disponibil pt o noua comanda	*/
 
void LCD_waitNotBusy();			
 
/* Asteapta un numar de cicli de ceas	*/
 
void LCD_waitInstructions(unsigned char _instructions);	
 
/* Afiseaza imformatia pe LCD (doar 1 linie, primele 16 caractere)	*/
 
void LCD_print(char* _msg);
 
/* Afisare pe 2 lini pe LCD	*/
 
void LCD_print2(char* _msg1, char* _msg2);
 
/* Afisare numar in baza 10 pe LCD	*/
 
void LCD_printDecimal2u(unsigned int _n);
 
/* Afisare numar in baza 16 pe LCD	*/
 
void LCD_printHexa(unsigned int _n);	
 
/* Transformare temperatura in in intreg + afisare */
 
void convert( unsigned int a[COUNT]);	
 
/* Afisare ultimele citiri */
 
void afisareUltimeCitiri();
 
/* Afisare mesaj alerta meteo */
 
void afisareMesajAlerta();
 
/* Afisare curs valutar - nefunctional */
 
void afisareCursValutar(double eur, double usd);
 
/* Initializare vectori ultimele citiri */
 
void initUltimele(int a[4]);

Rezultate Obtinute

Am obtinut un aparat de masura a parametrilor de mediu.

Video

Probleme aparute

- Scurturi pe placa (mult debug)

- Senzorul scoate 4 int8_t, probleme cu bitul de semn, datasheet defectuos

- Ecranul nu merge chiar cu codul de la laborator, trebuie mici modificari

- Am avut si o lipitura care era de fapt o intrerupere

Concluzii

Proiectul mi s-a parut interesant, și cu ocazia lui am acumulat experiență în lipituri și legături.

A implicat aplicarea cunoștintelor dobândite la laboratorul de Proiectarea Microprocesoarelor. În acelasi timp, este un proiect simplu căruia nu îi trebuie alocat prea mult timp.

Lipitul/făcutul/găuritul plăcuței după ce am avut toate componentele mi-a luat aproximativ 10 ore. Scrierea codului a luat aproximativ 3 ore.

Bibliografie

* Scheletele de cod din laboratoare

pm/prj2012/pbara/1.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0