Объявление

Внимание!
Данный форум предназначен только для радиолюбителей!
Никакие прочие объявления, реклама товаров либо услуг невозможны!


Любой спам на нашем форуме запрещён!
Разрешаются только ссылки по темам! 3а нарушения БАН.


Термометр на 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) Скачиваний: 213
DallasTemperature.rar
DallasTemperature
(13.92 KiB) Скачиваний: 176
admin
Администратор
 
Сообщений: 63
Зарегистрирован: 27 ноя 2016, 18:21
ТегиТермометр, Arduino UNO, DS18B20, LCD nokia 5110

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

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

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

/