Объявление

США начнут предпринимать меры экономического и военного характера, если Россия не прекратит нарушать Договор о ракетах средней и меньшей дальности (ДРСМД)

Решение главы Национального Объединения "Новая Россия - Великая Россия" Rommstaina: http://russianew.ru/viewtopic.php?f=120&t=4039

Термометр на Arduino UNO, DS18B20 и LCD nokia 5110

Правила форума
Внимание! Любой спам на нашем форуме запрещён!
Коммерческая реклама сайтов, ссылки, спам запрещены. Так же запрещены ссылки на сайты в профилях новичков.
Бан без предупреждений.

Термометр на Arduino UNO, DS18B20 и LCD nokia 5110

Сообщение admin » 03 дек 2016, 22:41

Изображение

Подключение LCD к Ардуино:

PIN1 on LCD ==>> PIN 12 on Arduino

PIN2 on LCD ==>> PIN 11 on Arduino

PIN3 on LCD ==>> PIN 10 on Arduino

PIN4 on LCD ==>> PIN 9 on Arduino

PIN5 on LCD ==>> PIN 8 on Arduino

PIN6 on LCD ==>> PIN 3.3 Volt on Arduino

PIN7 on LCD ==>> PIN 5 volt on Arduino

PIN8 on LCD ==>> PIN Ground on Arduino

Понадобятся:

1. Arduino Uno
2. DS18b20 Temperature Sensor.
3. Nokia 5110 LCD
Провода папы/мамы для соединений.

Библиотеки:

LCD5110_Graph_Library

DallasTemperature_Library

Скетч:

Код: выделить все
/*
Проект для DS18b20 и Nokia 5110 LCD дисплея.
 */

#include <OneWire.h>
#include <DallasTemperature.h>
#include <LCD5110_Graph.h>
#define ONE_WIRE_BUS 2

LCD5110 lcd(8,9,10,12,11);

extern unsigned char SmallFont[];
extern unsigned char BigNumbers[];
extern uint8_t borderRoundedIcon[];

char TempCelciusFahrenheit[6];

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

float tempC = 0;
float tempF = 0;

void setup(void)
{
  lcd.InitLCD();
  sensors.begin();
}

void loop(void)
{
  lcd.clrScr();
  lcd.drawBitmap(0, 0, borderRoundedIcon, 84, 48);
  sensors.requestTemperatures();
  tempC = sensors.getTempCByIndex(0);
  tempF = sensors.toFahrenheit(tempC);
//  convertToString(tempF); //Фаренгейт, раскомментировать для отображения.
  convertToString(tempC);  //Градусы, закомментировать при использовании шкалы Фаренгейта.
  lcd.setFont(BigNumbers);
  lcd.print(TempCelciusFahrenheit,22,14); // Выводим доли градуса после нуля.
  lcd.setFont(SmallFont);
  lcd.print("Temp.Celc.",17,5); //Закомментировать для отображения шкалы Фаренгейта
//  lcd.print("Temp.Fahr.",17,5); //Раскомментировать для отображения шкалы Фаренгейта
  lcd.update(); 
  delay(1000);
}
void convertToString(float number)
{
   dtostrf(number, 3, 1, TempCelciusFahrenheit);
}
Вложения
LCD5110_Graph_Library.zip
LCD5110_Graph_Library
(408.52 KiB) Скачиваний: 397
DallasTemperature.rar
DallasTemperature
(13.92 KiB) Скачиваний: 341
admin
Администратор
 
Сообщений: 79
Зарегистрирован: 27 ноя 2016, 18:21
ТегиТермометр, Arduino UNO, DS18B20, LCD nokia 5110

Вернуться в Для новичков. Азы.

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

/