Есть небольшая проблемка. Сделал термостат. Все работает, даже вполне успешно. Но мне, как стороннику идеализма не нравится как это работает. Хотелось бы доработать.
Выкладываю все как есть, сильно не пинайте. Библиотеку (УРЕЗАННУЮ) для DS18B20 писал сам, хотел понять как работает 1Wire.
Программа реализует:
- Двумя кнопками выбор значения температуры
- Автоматическое сохранение его в ЭСППЗУ Tiny2313
- Включение нагрузки при падении температуры ниже заданной
- Выключение нагрузки при повышении температуры выше заданной
- Измерение с погрешностями (показывает только целые, дробную часть просто отрезает)
- Остальное на схеме видно.
Что мне не нравится:...
- Кнопки работают, но знаю, что я их хреново написал в обработке (короче, говняно работают)
- Индикация тоже через раз лажу дает (на модели видно, что промыргивает минус и т.д.) Однако, в реальной жизни так только на одном экземпляре, остальные нормально себя ведут, но уверен, что это кривой код...
- Реализовать бы выбор приделов регулирования (гистерезис)
- Чего еще можно добавить для надежности?
- Дописать бы библиотеку до конца, чтобы можно было пару датчиков прикрутить, или в этом сделать выбор вариантов точности измерений.
З.Ы. Уточню. Транзистор для управления стоит BC817 у него до 0,8 А. А Индикатор KEM5461AG (общий катод вроде, не помню).
Если кому надо, могу выложить и плату, но не знаю найдете ли индикатор.