Celé zařízení je postaveno na LCD displeji z mobilního telefonu Nokia 3310, mikrokontroléru PIC12F629 a OneWire teplotním čidlu DS18B20 od firmy Dallas Semiconductor. Mobilní telefon Nokia 3310 má LCD displej s rozlišením 84*48 bodů, není těžké ho sehnat a může být velmi užitečný v DIY (Do It Yourself – udělej si sám) elektronice.
Tento článek měl být spíše jenom zamyšlením nad tím, jakým způsobem se dají využít staré mobilní telefony, ale ukázalo se, že výsledná aplikace je vcelku užitečná věc, a jsem rád, že se o ni mohu podělit. Motto autora této konstrukce je jednoduchost, s malou součástkovou základnou se dá zhotovit relativně přesný a vizuálně zajímavý teploměr. Autor se jmenuje Ivica Novakovic (kontakt je uveden v sekci Odkazy).
Technická specifikace:
- Napětí - 3 - 3.3 V
- Teplotní rozsah (1) -55 do 125' C
- Min. krok - 0,1 ' C
- Max. odchylka - +/- 0,5 ' C
- Max. rozlišení - 0,0625 ' C
- Frekvence měření - 1,2s
- Rozměry – 40 * 38 mm
- 2 módy - normální/inverzní
- Rozlišení displeje - 84*48pix
- Proudový odběr (2) - 0,2 mA - 0,8 mA
- Uvedený teplotní rozsah se vztahuje pouze na samotné čidlo teploty (na prostor, ve kterém se nachází), nikoliv na kompletní zařízení.
- Proudový odběr není konstantní. Může za to systém měření a odečtu naměřené teploty. MCU zpracovává údaj z teplotního čidla DS18B20 po cca 700 ms, kde si zařízení bere kolem 0,8 mA. Po dalších 500 ms je zařízení v režimu se sníženou spotřebou (sleep) a bere si cca 0,2 mA. Průměrně je to tedy něco kolem 0,6 mA.
Schéma celého obvodu je vcelku jednoduché (ostatně je to patrné z následujícího obrázku).
Na dalším obrázku je vidět návrh DPS, který je také velmi jednoduchý (návrh vznikl v Protelu 99SE). V sekci Odkazy najdete kvalitní PDF s návrhem DPS.
LCD podporuje dva módy provozu (normální a inverzní), jaký bude aktivní, o tom rozhoduje jumper umístěný na zadní straně zařízení.
Záporná teplota je zobrazena stejně, pouze je přidán znak „mínus“, a to i na obrázku teploměru.
Na tomto obrázku je patrné, že celé zařízení je napájeno z 3,6V lithiové baterie. Nepoužívejte větší napětí než toto, protože LCD displej Nokie pracuje pouze s napětím 2,7 až 3,3 V.
Instrukce ke stavbě:
LCD:
Jako první musíme sehnat samotný přístroj a z něj opatrně vyjmout displej. Během této procedury buďte velmi dbalí a trpěliví. Displej je velmi tenký a, jak jistě víte, celý ze skla, takže opatrnost je namístě.
Na zadní straně displeje je 8pinový konektor, který je v našem případě přilepen ke sklu (Nokia 3210 má gumový konektor, takže tento je pro naši aplikaci daleko vhodnější). Jedná se o LCD displej Phillips PCD8544, pokud budete potřebovat nějaké dodatečné informace, na internetu je jich pod tímto heslem více než dostatek.
PCB:
Dalším krokem je vytvoření desky plošných spojů, která je dostatečně malá a snadná na výrobu. Důležité je na okraje desky nalepit plastové proužky, na kterých bude „sedět“ LCD displej (z důvodu dobrého kontaktu s konektorem displeje a kvůli ochraně samotného displeje).
Rozložení součástek:
Na zadní straně naší konstrukce můžeme vidět rozložení součástek. Na první pohled je jasné, že se nejedná o žádné složité zapojení, je zde opravdu velmi málo součástek. Autor umístil senzor teploty DS18B20 do pinové lišty pro testovací účely. Samozřejmě toto řešení můžete nahradit svým vlastním (např. umístit čidlo na kabel aj.).
Úprava kontrastu:
Pokud by kontrast displeje nebyl dle vašich představ, můžete ho během programování obvodu PIC12F629 změnit na adrese D2h. Autor nastavil hodnotu na A9h, ale to může být u jiných displejů jiné. Povolený rozsah je od 80h do FFh (80h je minimální kontrast).
Závěr:
Tento mininávod měl opravdu sloužit jen jako motivace, co vše se dá udělat s nepoužívaným hardwarem a trochou toho času. Nakonec celé zařízení nevypadá tak zle a jistě může sloužit jako jednoduchý informátor o teplotě v obývacím pokoji, na ústředním topení a spoustě dalších míst, kde je potřeba zjistit jednoduchým způsobem stávající teplotu.
Odkazy & Download:
- Datasheet k teplotnímu čidlu DS18B20 (*.pdf, 223kB)
- Datasheet k MCU PIC12F629 (*.pdf, 1,8MB)
- Přeložený program pro PIC12F629 (*.zip, 2,25kB)
- Přeložený program pro PIC12F675 (*.zip, 2,25kB)
- Dokument PDF s návrhem DPS (*.pdf, 4,5kB)
- Domovská stránka autora projektu - http://free-vz.htnet.hr/Ivica-Novakovic/eng-index.html
Komentáře
Rozlíšenie displeja
Chybička sa vloudila. Rozlíšenie displeja má byť 48*84pix. Dúfam, že sa nemýlim.
Rozlišení
Ano skutečně je to tak. Správné rozlišení je 84*48pix.
Tomáš Coufal
Ine displeje
Zdravim.
Privital by som clanok napr. o novsich displejoch, ktore sa pouzivaju v mobilnych telefonoch. Mnohe z nich sa daju relativne lacno zohnat ako nahradne diely na mobily a urcite by sa dali velmi dobre pouzit na taketo elektronicke konstrukcie. Problem je v tom, ze som nevedel nikde zohnat specifikaciu k tymto displejom. Mozno to niekto z vas tu ma, alebo vie zistit pomocou reverse engineering (pripadne sledovanim datovej zbernice).
Pekne
Hezky to funguje. Bohuzel pouze s 3310 LCD.
3410 to neumi. :(
U 3410 se musí navíc použít
U 3410 se musí navíc použít jeden příkaz na nastavení kontrastu, čili vlastně zapnutí displeje. Samozřejmě pak bude dole nevyužité místo. 3410 má totiž větší rozlišení
DS18B20 alebo DS18S20
Mam taky dotaz, nevie niekto ci sa da pouzit aj cidlo 18S20+ lebo nemozem zohnat to 18B20?
pouzit muzes jakykoliv z te
pouzit muzes jakykoliv z te rady 18x20xx - rozdil mezi nimi je jen v pouzdre. cili pokud si upravis DPS tak tam neni problem pouzit i tu SMD verzi co pises...
DS18S20 ani 1820 nejde
DS18S20 ani 1820 nejde pouzit lebo maju len 9bitovy prevod, 18B20 ma 12bitovy. Teplomer nasledne ukazoval blbosti (odskusane). Originalne 18B20 zozenies na http://www.alextronic.sk/ cena je 40sk.
D_O_T_A_Z_!!!!
Rozhodl jsem se že si toto zalojení postavím a vyskouším. Ikdyž někdo tady psal že to funguje skvěle ta já jsem asi vyjímka jelikož mě se nadaří dostat HEX do picu. Ten PIC mám 12F629. Používám WinPic na paralal. Jaké jsou nastavení oscilátoru ?? pořád mi to totiž hází chybu u oscilátoru. Už jsem zkoušel veškeré možnosti ,ale marně :-(
dotaz
Chci se zeptat jestli si můžu nějak ověřit funkci LCD z 3310
PIC
Je možno použít PIC12F629 místo PIC12F675??
PIC
Je možno použít PIC12F629 místo PIC12F675??
Zobrazení
Ahoj.
Potřeboval bych,aby mi displey ukazoval to chci já. Nevíte o někom kdo by přepsasl program podle mě?
Děkuji.
Tak si to přeprogramuj
Tak si to přeprogramuj sám! Povedlo se mi rozchodit ten LCD, stačí k tomu jen pár instrukcí. Pokud ovšem chceš použít celý LCD spotřebuješ 3/4 flash paměti na tabulku a s tím zbytkem se už toho moc udělat nedá. Musíš si pomoct externí EEPROM.
Tak to zkus mně to chodí.
Tak to zkus mně to chodí.
Ahoj Potřeboval bych
Ahoj
Potřeboval bych poradit. Ať dělám co dělám pořád mi to nechodí. Po naprogrmování provedu kontrolu a vše je OK.
Předem díky
úprava R1
Při odporu 10K mě velmi často vypadávalo čidlo DS18B20 a někdy nepracovalo vůbec!(na displeji svítily nuly +00.0). Po úpravě hodnoty odporu R1 na 4K7 vše začalo 100% fungovat v rozpětí napětí 2,7-3,3V.
LCD Teploměr
Ahoj.
Postavil jsem si teploměr podle návodu s PIC12F675 a chodí hezky.
Ahoj. Chodí to hezky
Ahoj.
Chodí to hezky .Použil jsem PIC12F675.
PIC12F675
Zdravím, našla by se tu nějaká dobrá duše, která by za malou úplatu naprogramovala pár těch PIC12F675? Chtěl to zkusit postavit pro děcka do školy pro měření teploty při laborkách. Za každou zprávu, dík;-) Honza H.
Jasně kolik jich chceš
Jasně kolik jich chceš naprogramovat a nebo si to mužeš naprogramovat sám, mě to chodí na pic 12f629 super.
naprogramovanie PIC 12F675
Prajem dobrý deň!
Prečítal som si so záujmom článok, pojednávajúci o tomto jednoduchom teplomeri, pretože by som ho chcel použiť na meranie teploty v teplovzdušnom rozvode v dome. Samozrejme ako väčšina ľudí, nemám možnosť akýmkoľvek spôsobom naprogramovať si potrebný procesor, preto Vás chcem týmto požiadať o naprogramovanie a prípadné zaslanie predmetného procesora. Ešte pred samotnou realizáciou by som si dovolil Vás požiadať o zaslanie prípadnej celkovej ceny ( procesor + práca - programovanie + doručenie - zaslanie na slovensko do Prešova) na môj uvedený mail. Vopred Vám srdečne ďakujem za akúkoľvek odpoveď a ostávam s pozdravom. Ing. Pavlík
Je to šikovný a jednodchý
Je to šikovný a jednodchý teploměr za málo peněz doporučuju nebudete litovat
Něco je špatně
Zdravím po připojení na zdroj se na LCD nic nezobrazí ale po vypnutí zdroje se zobrazí celí odraz ale jenom na 0,5s. Poradí mi někdo co stím můžu mít??
Chyba
Zdarec, po připojení napětí LCD nic neukazuje ale při odpojení se na kokamžik ukáže celí obraz. Poradí mi někdo co stím mám??
Program
Ahojte v jakém programu se píše ten hex pro PIC?
Zdravím
Zdravím
Snažím se naprogramovat v PIC KIT 2 programmer a píše mi to OSSCAL:Invalid value a nejde program do 16f629 nahrát.
Nevím co s tím
Poradí mi někdo
Díky
problém s řadičem LCD
Chlapi, mám klasiku :-/ Objednal jsem si LCDčko, bohužel jsem neměl při ruce tento telefon na kuchnutí. A bohužel jsem zjistil, že ten prevít, co mám obsahuje nový řadič ST7548T oproti původnímu philipsáckému.. Ve výsledku mi to zobrazí rozhozené řádky a pixely, takže je to nepoužitelné. Nevíte někdo o vhodné úpravě programu či verzi pro tyto řadiče?? Dík moc za každou radu