цифровая электроника
вычислительная техника
встраиваемые системы

 




Высокоточный термометр на основе Arduino и BME280 своими руками

Автор: Mike(admin) от 12-05-2022, 03:55

В рамках данного проекта мы создадим довольно точный термометр, который основан на датчике температуры BME280. Многие для создания простого термометра на Arduino используют датчик температуры LM35. Но с ним температура может быть весьма неточной, поэтому можно повторить проект с более точным датчиком, таким как BME280. Здесь Arduino использует датчик BME280 для получения показаний температуры (в градусах Цельсия), а затем постоянно выводит это значение на ЖК-экран.


Высокоточный термометр на основе Arduino и BME280 своими руками

Итак, для начала подключите провода от Arduino UNO к ЖК-экрану. Используйте цифровые контакты 12, 11, 5, 4, 3. Если вы не подключаете его к этим цифровым контактам, обязательно измените номер контакта в верхней части кода.


Далее подключите к Arduino датчик BME280. Вывод «VIN» должен подключаться к питанию, «GND» — к земле, вывод «SCK» — к A5, а вывод «SDI» — к A4. Если датчик подключен неправильно, вы получите сообщение об ошибке на экране.


Вся схема подключения представлена далее.


Высокоточный термометр на основе Arduino и BME280 своими руками

Загрузите предоставленный код программы Arduino.



#include<LiquidCrystal.h>
#include<Adafruit_BME280.h>
LiquidCrystal lcd(12,11,5,4,3,2);
Adafruit_BME280 bme;

byte degree_symbol[8] =
{
0b00111,
0b00101,
0b00111,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
//m это для символа градуса
};

void setup() {
lcd.begin(16,2);
lcd.createChar(1, degree_symbol);
lcd.setCursor(0,0);
lcd.print(" Digital ");
lcd.setCursor(0,1);
lcd.print(" Thermometer ");
delay(4000);
lcd.clear();
if (!bme.begin(0x76)) { /*оператор if используется для проверки правильности подключения проводов*/ 
  lcd.print("Could not find a valid BME280 sensor, check wiring!");
  while (1); 
}
}
void loop() {
lcd.setCursor(0,0);
lcd.print("Temperature in Celsius"); /*печатает кавычки в первой строке*/
float temperature = bme.readTemperature();/*получает показания температуры по Цельсию*/
lcd.setCursor (5,1);
lcd.print(temperature);// выводит температуру в центре
lcd.write(1);// выводит символ градуса после температуры
}

После загрузки кода у вас должен быть работающий термометр.


Высокоточный термометр на основе Arduino и BME280 своими руками



© digitrode.ru


Теги: Arduino, датчик температуры, BME280




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий