Ten prosty, dedykowany początkującym, projekcik powstał gdy potrzebowałem jednoczesnego pomiaru temperatury w 2 punktach innego układu elektronicznego. Jak to się mówi "potrzeba jest matką wynalazków" - i tak też było w tym przypadku.
Zmontowanie układu, napisanie programu i uruchomienie zajęło ok. 2h. Z tego względu program powstał w Bascomie, chociaż osobiście za nim nie przepadam... Nie obyło się bez drobnego problemu - początkowo chciałem użyć w układzie kwarcu 4,19MHz, ale Bascom wypiął się na mnie i stwierdził, że to za mało aby pogadać sobie z czujnikami przez 1WIRE. Ten sam program w C byłby objętościowo ze 3 razy mniejszy i działałby na niższym taktowaniu (mniejszy pobór prądu przy niższym zegarze), ale tu miałem gotowe procedury obsługi 1WIRE.
Ogólnie układ to nic odkrywczego, użyłem tego co miałem pod ręką: mikrokontrolera AT89C2051, stabilizatora napięcia 78L05, 2 czujników DS18B20 i wyświetlacza LCD 16x1. Całość zmontowałem na małym kawałku płytki uniwersalnej, przylutowanej później bezpośrednio do wyświetlacza.
Magistrala 1WIRE została zabezpieczona przed przepięciami przy użyciu diod Schottky'ego, a całość zasilana jest z baterii 9V. Dzięki wykorzystaniu instrukcji IDLE procesora pobór prądu wynosi około 5mA, dla porównania bez oszczędzania energii układ pobierał 10mA. Pomiar temperatury odbywa się co 1 sekundę.
W załączeniu zamieszczam schemat, program z komentarzami i kilka fotografii układu.
Edycja 2009-07-02:
Zamieściłem wersję 2.1 programu z poprawnym wyświetlaniem ujemnych temperatur.
Fajne? Ranking DIY
