U ovom projektu prikazan je način spajanja LCD-a od Nokia 6610 mobilnog telefona sa mikrokontrolerom PIC18F4550. MotorCycle Computer Board je ugrađen na motor Yamaha TDM850 iz ’99. godine. Cela elektronika je smeštena iza levog poklopca i spojena flat kablom sa Nokia 6610 LCD-om. Druga strana elektronike spojena je sa sklopom paljenja, DS18B20 temperaturnim senzorima i sa senzorom pozicije brzine.
Tehničke karakteristike:
- prikaz u kojoj se brzini nalazi motor (od 1. do 5. brzine plus neutralna pozicija);
- analogni i digitalni prikaz stanja akumulatora;
- pozicija otvorenosti gasa analogno i digitalno (u procentima);
- RPM – prikaz broja obrtaja, analogno i digitalno;
- merenje temperature vazduha;
- merenje temperature sistema za hlađenje;
- merenje temperature ulja u motoru.
Sa sklopa paljenja dobijamo napajanje za naš uređaj (+12 V), RPM signal za prikaz broja obrtaja i signal za poziciju otvorenosti gasa. Temperaturni senzori DS18B20 su spojeni sa 1 Wire bus konekcijom u "parasite power" modu i nije im potrebno dodatno napajanje.
Senzor za poziciju brzine smešten je iza levog poklopca na motoru. Taj senzor je izrađen iz dva optička senzora (i nije originalni Yamahin deo). Na donjim slikama možete videti tri stanja senzora za pozicije brzina. Na prvoj slici je stanje mirovanja (nije bitno da li je menjač u brzini ili u praznom hodu). Na drugoj slici možete videti stanje senzora u trenutku kada se menja brzina na niže, a na trećoj kada se menja brzina na više.
|
Kako sve funkcioniše?
Na šemi se vidi jednostavan spoj mikrokontrolera PIC18F4550 i Nokia 6610 LCD-a (132 x 132 pixel) preko SPI bus-a. Na mikrokontroleru imamo jednu 1wire input/output liniju za tri DS18B20 senzora, 3 ulaza za brzina/neutral poziciju, 2 analogna ulaza za merenje akumulatora i stanja otvorenosti gasa i 1 izlaz za LCD pozadinsko osvetljenje. USB konektor je korišćen samo za programiranje i testiranje.
DS18B20 senzori su spojeni zajedno na jednu liniju sa 1Wire protokolom, i u tom slučaju su vam potrebni njihovi jedinstveni (unique 64-bit cod) kodovi. U našem slučaju kodovi DS18B20 senzora su:
- "AIR" = 9300000078625728
- "Water" = D5000002061B2128
- "Oil" = 4600000206125A28
Ako koristite DS18B20 senzore sa drugačijim 64-bit kodovima, merenje temperature neće biti moguće. Jedinstvene 64-bit kodove DS18B20 senzora morate promeniti u programu, a možete i direktno u hex datoteci (kao na slici iznad), te isprogramirati mikrokontroler.
Šemu ovog uređaja u .pdf formatu možete preuzeti ovde.
Source code (uključujući hex datoteku) možete skinuti ovde. Za programiranje i kompajliranje će vam biti potreban MPLAB v.8.15A i HI-TECH C PRO za PIC18 MCU Family Compiler Version 9.63PL1.
Za programiranje mikrokontrolera preporučujem WinPic800. Možete koristiti mikrokontroler PIC18F4455 ili PIC18F4550 sa istom hex datotekom.
Više informacija o Nokia 6610 LCD-u možete naći ovde.
Ovaj projekat je preuzet sa sajta www.ivica-novakovic.from.hr