Незвичайний термометр на ATtiny13 та DS18B20

В інтернеті можна знайти велику кількість схем термометрів різної складності: від найпростіших, т.н. "показометри", до "просунутих" систем, здатних не тільки вимірювати температуру/вологість/швидкість вітру, але й відстежувати китайські супутники вести логи, будувати графіки, з подальшою завантаженням на конкретний сервер і т.д. У цій статті йтиметься про простенький пристрій з першої згаданої категорії - "показометрі". Мене спонукало на створення такого пристрою нещодавно опублікована на сайті стаття з назвою RGB індикатор. Прочитавши цю статтю, теж захотів зібрати щось з категорії "світяться бесполезні красиві сувеніри". В результаті, вийшло те, що описано нижче.

Схема зібрана на мікроконтролері ATtiny13, датчику температури DS18B20, RGB - світлодіоді та ще на кількох компонентах. Було обрано саме цей мікроконтролер, так як в даному випадку розміри плати дуже критичні. Датчик для вимірювання температури - DB18B20. Він використовує виключно 1-Wire протокол – при цьому формується з'єднання, яке здійснює комунікацію на шині, використовуючи всього один керуючий сигнал. Таким чином, у мікроконтролера залишилося цілих 4 вільних виходи (PB5, він же RESET, використовується за своїм прямим призначенням).

Схема приладу представлена нижче:

Програма для мікроконтролера написана на C в середовищі розробки Atmel Studio 7. В архіві, прикріпленому до статті, є всі необхідні файли, а також вже скомпільована прошивка.

Fuse-біти необхідно виставити відповідно до скріншота, представленого нижче:

Зовнішній вигляд пристрою (3D модель):

Дякую за увагу!

Список радіоелементів

Обозначення Тип Номінал Кількість Примітка
U1 МК AVR 8-біт
ATtiny13
1 SO8
U2 Датчик температури
DS18B20
1
R1-R3 Резистор
510 Ом
1 0805
R4 Резистор
4.7 кОм
1 0805
D1 Світлодіод RGB 1 5050
BT0 Кнопка 1 3 x 6 x 2.5мм

Прикреплені файли:

Top