Тема: Датчик давления BMP180 и микроконтроллер Atmega16
Давно не хватало мне фактического давления в мм.рт.ст для калибровки своих датчиков температуры.
Решил восполнить данный пробел.
Купил датчик давления и температуры BMP180 - 140 рублей.
Микроконтроллер atmega16 уже давно валялся в полке - 75 рублей.
Вырвал семисегментный индикатор со старой микросхемы и принялся за работу. (Можно и даже лучше, наверное, будет передавать значения через uart прям на компьютер через terminal- это не проблема, но у меня в наличие пока нет второго отладчика, он подключен к колонне)
Сперва я сделал mapping индикатора и разрядность по видеоурокам на youtube.
Затем скачал библиотеку на си к датчику давления.
В данной библиотеке есть три уровня точности замера давления. Влияет на энергопотребление, ну и конечно на точность. Датчик цифровой и отдает значения по протоколу i2c (TWI).
Все это соединил и вывел на семисегментный индикатор значение давление в мм.рт.ст. Сама библиотека отдает значения в паскалях. Пришлось делить на //13.33224. В результате - первые три разряда это целое число, а четвертый - десятые.
Получилось следующее:
https://youtu.be/3KWoQslgWhs
Проект делал в AtmelStudio 6. Программа распространяется бесплатно.
Выкладываю проект:
https://drive.google.com/open?id=0B2mnV … ko0RGZGcW8
Прошивать программу лучше программой AVRDUDEPROG33, выбрав из папки проекта файл *.hex
В будущем могу добавить кнопки, чтобы показывать температуру или давление.
Подключение к МК: