Создание ЖК-термометра с Arduino и LM35 / 36
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Об этом проекте

Всем привет! Я собираюсь показать вам, как сделать ЖК-термометр с Arduino UNO и аналоговым датчиком температуры LM35 / 36 с перемычками и макетной платой.
Этот проект очень хорош для людей, начинающих с Arduino, он не требует каких-либо специальных инженерных навыков или навыков программирования, и вам понадобится меньше 10 минут, чтобы создать его, если, конечно, у вас есть все части.
Шаг 1. Сбор деталей




Это детали, которые вам понадобятся для изготовления термометра:
- 1x плата Arduino UNO
- 1x макет
- ЖК-дисплей 1x 16x2
- 1x аналоговый датчик температуры LM35 или LM36
- потенциометр 1x 10k - для регулировки яркости дисплея *
- 19 перемычек - для соединения всего
Они также встречаются в официальном стартовом наборе Arduino . которые вы можете заказать на официальной веб-странице Arduino здесь. Также вы можете купить их отдельно в следующих магазинах:Adafruit, SparkFun, Aliexpress, Banggood и др.
* Если у вас нет банка в 10 тысяч, вы можете использовать 50 тысяч, как я!
Шаг 2. Изготовление термометра

Следуя приведенной выше схеме Fritzing, подключите ЖК-дисплей к макетной плате, а затем подключите его к плате Arduino с помощью перемычек. После этого подключите потенциометр и датчик к макетной плате, подключите левый и правый контакты потенциометра к земле, а + 5 В и средний к ЖК-дисплею.
Затем подключите датчик к земле, к + 5V и к Arduino, но будьте очень осторожны, потому что, если вы подключите его неправильно, датчик нагреется до 280+ C (540 F) и может быть поврежден. После подключения все переходите к следующему шагу.
Шаг 3. Программирование Arduino

Чтобы он заработал, вы должны использовать один из двух приведенных ниже кодов. Загрузите его в свой Arduino, используя интегрированную среду разработки . , для краткости IDE, которую вы можете скачать с официальной страницы Arduino, и все готово!
Если вы ничего не видите на ЖК-дисплее или видите прямоугольники, поверните горшок по часовой стрелке / против часовой стрелки, пока не увидите, что буква светится. Теперь у вас есть термометр, и вы можете измерять температуру воздуха вокруг вас, внутри вашего дома или снаружи.
Первый код взят из Gaige Kerns, и его можно использовать для чтения из LM36 или LM35. Спасибо, Гэйдж! Также ознакомьтесь с моим новым проектом термометра здесь!
// включаем код библиотеки #include // инициализируем библиотеку номерами контактов интерфейса LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // инициализируем наши переменные int sensorPin =0; int tempC, tempF; void setup () {// настраиваем количество столбцов и строк ЖК-дисплея:lcd.begin (16, 2);} void loop () {tempC =get_tempera (sensorPin); tempF =celsius_to_fahrenheit (tempC); lcd.setCursor (0,0); lcd.print (tempF); lcd.print (""); lcd.print ((char) 223); lcd.print ("F"); delay (200);} int get_temperature (int pin) {// Нам нужно сообщить функции, к какому выводу подключен датчик. Мы используем // переменный вывод для этого выше // Считываем значение на этом выводе temperature =analogRead (pin); // Рассчитываем температуру на основе чтения и отправляем это значение backfloat Voltage =temperature * 5.0; Voltage =Voltage / 1024.0; return ((Voltage - 0.5) * 100);} int celsius_to_fahrenheit (int temp) {return (temp * 9/5) + 32;}
#include LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Цифровые выводы, к которым вы подключаете LCDconst int inPin =0; // A0 - это то место, где вы подключаете sensorvoid setup () {lcd.begin (16,2);} void loop () {int value =analogRead (inPin); // считываем значение с датчика lcd.setCursor (0,1); float милливольты =(значение / 1024,0) * 5000; float celsius =милливольт / 10; lcd.clear (); lcd.setCursor (0,0); lcd.print (по Цельсию); lcd.print ("C"); lcd.setCursor (0,1); lcd.print ((Цельсий * 9) / 5 + 32); // превращаем градусы Цельсия в fahrehait lcd.print ("F"); delay (1000);}
FJXZ51IHQAX1RR7.txt
Код
- Фрагмент кода №1
- Фрагмент кода №2
Фрагмент кода №1 Обычный текст
// включаем код библиотеки #include // инициализируем библиотеку номерами контактов интерфейса LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // инициализируем наши переменные int sensorPin =0; int tempC, tempF; void setup () {// настраиваем количество столбцов и строк ЖК-дисплея:lcd.begin (16, 2);} void loop () {tempC =get_tempera (sensorPin); tempF =celsius_to_fahrenheit (tempC); lcd.setCursor (0,0); lcd.print (tempF); lcd.print (""); lcd.print ((char) 223); lcd.print ("F"); delay (200);} int get_temperature (int pin) {// Нам нужно сообщить функции, к какому выводу подключен датчик. Мы используем // переменный вывод для этого выше // Считываем значение на этом выводе temperature =analogRead (pin); // Рассчитываем температуру на основе чтения и отправляем это значение backfloat Voltage =temperature * 5.0; Voltage =Voltage / 1024.0; return ((Voltage - 0.5) * 100);} int celsius_to_fahrenheit (int temp) {return (temp * 9/5) + 32;}
Фрагмент кода 2 Обычный текст
#includeLiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Цифровые выводы, к которым вы подключаете LCDconst int inPin =0; // A0 - это то место, где вы подключаете sensorvoid setup () {lcd.begin (16,2);} void loop () {int value =analogRead (inPin); // считываем значение с датчика lcd.setCursor (0,1); float милливольты =(значение / 1024,0) * 5000; float celsius =милливольт / 10; lcd.clear (); lcd.setCursor (0,0); lcd.print (по Цельсию); lcd.print ("C"); lcd.setCursor (0,1); lcd.print ((Цельсий * 9) / 5 + 32); // превращаем градусы Цельсия в fahrehait lcd.print ("F"); задержка (1000);}
Производственный процесс
- Создайте пожарный извещатель за считанные минуты с помощью Samsung SAMIIO, Arduino UNO и Raspberry Pi
- ЖК-панель с Arduino для симулятора полета
- Часы Arduino с исламским временем молитв
- ЖК-анимация и игры
- Отображение изображения на ЖК-экране TFT с помощью Arduino UNO!
- Управление серводвигателем с помощью Arduino и MPU6050
- u-blox LEA-6H 02 GPS-модуль с Arduino и Python
- Распознавание и синтез речи с помощью Arduino
- Простой будильник с DS1302 RTC
- 4-контактный ШИМ-контроль вентилятора, 25 кГц, с Arduino Uno