В данной статье пойдет речь о том, как подключить датчик температуры DS18B20 к ATtiny2313 и отображать данные на ЖКИ-дисплее 16×1 на базе HD44780. Для проверки работоспособности программы и схемы я использовал эмулятор Proteus 7 (ISIS 7 Professional). Код программы (проект в Atmel Studio 7 целиком) вы сможете скачать по ссылке в конце статьи. Прошивку (.hex файл) можно установить и на реальный микроконтроллер ATtiny2313, программа будет работать нормально, главное не забыть менять фьюзы: CKSEL3…0 = 0100 – Внутренний тактовый генератор — частота 8 МГц и поставить галочку на SCKDIV8 – деление тактовой частоты на 8.
- 1 Цифровой датчик температуры DS18B20
- 2 Пример программы в Atmel Studio 7
- 3 Схема подключения LSD дисплея на базе HD44780 и датчика температуры DS18B20 к ATtiny2313 в ISIS 7 Professional — Proteus. Симуляция.
- 4 Купить ATTINY2313A на Aliexpress
- 5 Купить LCD1602 HD44780 на Aliexpress
- 6 Купить DS18B20 на Aliexpress
- 7 Похожие записи
Цифровой датчик температуры DS18B20
DS18B20 цифровой датчик температуры (термометр) с программируемым разрешением, от 9 до 12–bit, которое может сохраняться в EEPROM памяти прибора. DS18B20 обменивается данными по 1-Wire шине и при этом может быть как единственным устройством на линии так и работать в группе. Все процессы на шине управляются центральным микропроцессором: AVR, PIC, Arduino, STM, Raspberry Pi и др..
Диапазон измерений от –55°C до +125°C и точностью 0.5°C в диапазоне от –10°C до +85°C. В дополнение, DS18B20 может питаться напряжением линии данных («parasite power»), при отсутствии внешнего источника напряжения.
Каждый DS18B20 имеет уникальный 64-битный последовательный код, который позволяет, общаться с множеством датчиков DS18B20 установленных на одной шине. Такой принцип позволяет использовать один микропроцессор, чтобы контролировать множество датчиков DS18B20, распределенных по большому участку.
Смотрите также:
Подключение LCD на базе HD44780 к ATmega16 (LM016L LCD 16×2)
Мигание светодиодом на ATmega16/32
Atmel Studio 7 — Создание нового проекта
Характеристики
| Диапазон измеряемых температур | −55…+125 °C |
| Точность | ±0,5°C (в пределах −10…+85 °C) |
| Время получения данных | 750 мс при 12-битном разрешении; 94 мс при 9-битном разрешении |
| Напряжение питания | 3–5.5 В |
| Потребляемый ток при бездействии | 750 нА |
| Потребляемый ток при опросе | 1 мА |
Подключение
Герметичный датчик на основе микросхемы DS18B20 можно подключить двумя способами:
- По трём проводам: питание (красный), земля (чёрный) и сигнал (белый).

- По двум проводам: земля и сигнал. В этом случае датчик изредка может давать неверные показания, которые легко исключить из конечного результата фильтрацией.

Независимо от способа подключения, сигнальный провод необходимо соединить с питанием через резистор 4,7 кОм. При подключении только одного датчика, подойдёт и резистор на 10 кОм.
Назначение выводов
| SO* | SOP* | TO-92 | СИМВОЛ | ОПИСАНИЕ |
|---|---|---|---|---|
| 5 | 4 | 1 | GND | Общий. |
| 4 | 1 | 2 | DQ | Вывод данных ввода/вывода (Input/Output pin). Open-drain 1-Wire interface pin. По этой линии подается питание в режиме работы с паразитным питанием. |
| 3 | 8 | 3 | VDD | VDD ножка питания. Для режима работы с паразитным питание VDD необходимо соединить с общим проводом. |
*Все остальные выводы должны оставаться не подключенными.
Пример программы в Atmel Studio 7
ds18b20.h
#ifndef DS18B20_H_ #define DS18B20_H_ #include <avr/io.h> // установки подключения к DS18B20 #define DS18B20_PORT PORTB #define DS18B20_DDR DDRB #define DS18B20_PIN PINB #define DS18B20_DQ PB7 // команды #define DS18B20_CMD_CONVERTTEMP 0x44 #define DS18B20_CMD_RSCRATCHPAD 0xbe #define DS18B20_CMD_WSCRATCHPAD 0x4e #define DS18B20_CMD_CPYSCRATCHPAD 0x48 #define DS18B20_CMD_RECEEPROM 0xb8 #define DS18B20_CMD_RPWRSUPPLY 0xb4 #define DS18B20_CMD_SEARCHROM 0xf0 #define DS18B20_CMD_READROM 0x33 #define DS18B20_CMD_MATCHROM 0x55 #define DS18B20_CMD_SKIPROM 0xcc #define DS18B20_CMD_ALARMSEARCH 0xec // остановить любое прерывание во время чтения данных с DS18B20 #define DS18B20_STOPINTERRUPTONREAD 1 //functions extern double getTempDS18B20(); #endif
ds18b20.c
#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include "ds18b20.h"
/*
* ds18b20 - инициализация
*/
uint8_t resetDS18B20() {
uint8_t i;
// импульс сброса, минимум 480?s
DS18B20_PORT &= ~(1 << DS18B20_DQ);
DS18B20_DDR |= (1 << DS18B20_DQ); // выход
_delay_us(480);
// Когда DS18B20 обнаруживает положительный перепад, он ждет от 15?s до 60?s
DS18B20_DDR &= ~(1 << DS18B20_DQ); // вход
_delay_us(60);
// и затем передает импульс присутствия, перемещая шину в логический «0» на длительность от 60?s до 240?s.
i = (DS18B20_PIN & (1 << DS18B20_DQ));
_delay_us(420);
//return the read value, 0=ok, 1=error
return i;
}
/*
* написать один бит
*/
inline void writeBitDS18B20(uint8_t bit) {
// логический «0» на 1?s
DS18B20_PORT &= ~(1 << DS18B20_DQ);
DS18B20_DDR |= (1 << DS18B20_DQ); // выход
_delay_us(1);
// если нужно написать 1, нужно освободить линию (если не - держать низкий уровень)
if (bit) {
DS18B20_DDR &= ~(1 << DS18B20_DQ); // вход
}
// ждать 60?s и освободить линию
_delay_us(60);
DS18B20_DDR &= ~(1 << DS18B20_DQ); // вход
}
/*
* прочитать один бит
*/
uint8_t readBitDS18B20(void) {
uint8_t bit = 0;
// логический «0» на 1?s
DS18B20_PORT &= ~(1 << DS18B20_DQ);
DS18B20_DDR |= (1 << DS18B20_DQ); // вход
_delay_us(1);
// освободить линию и ждать 14?s
DS18B20_DDR &= ~(1 << DS18B20_DQ); // вход
_delay_us(14);
// прочитать значение
if (DS18B20_PIN & (1 << DS18B20_DQ)) {
bit = 1;
}
// ждать 45?s и вернуть значение
_delay_us(45);
return bit;
}
/*
* написать один байт
*/
void writeByteDS18B20(uint8_t byte) {
uint8_t i = 8;
while (i--) {
writeBitDS18B20(byte & 1);
byte >>= 1;
}
}
/*
* прочитать один байт
*/
uint8_t readByteDS18B20(void) {
uint8_t i = 8, n = 0;
while (i--) {
n >>= 1;
n |= (readBitDS18B20() << 7);
}
return n;
}
/*
* получить температуру
*/
double getTempDS18B20() {
uint8_t temperatureL;
uint8_t temperatureH;
double retd = 0;
if (DS18B20_STOPINTERRUPTONREAD == 1) {
cli();
}
resetDS18B20(); // сброс
writeByteDS18B20(DS18B20_CMD_SKIPROM); // пропуск ПЗУ(ROM)
writeByteDS18B20(DS18B20_CMD_CONVERTTEMP); // начать преобразование показаний температуры
while (!readBitDS18B20()); // ждать, пока преобразование не завершится
resetDS18B20(); // сброс
writeByteDS18B20(DS18B20_CMD_SKIPROM); // пропуск ПЗУ(ROM)
writeByteDS18B20(DS18B20_CMD_RSCRATCHPAD); // читать scratchpad
// прочитать 2 байта из scratchpad
temperatureL = readByteDS18B20();
temperatureH = readByteDS18B20();
if (DS18B20_STOPINTERRUPTONREAD == 1) {
sei();
}
// преобразовать полученное 12 битное значение
retd = ((temperatureH << 8) + temperatureL) * 0.0625;
return retd;
}
main.c
// site: http://micro-pi.ru
// подключение LSD на базе HD44780 и DS18B20 к ATtiny2313
#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <string.h>
#include <math.h>
#include "ds18b20.h"
#include "LCD.h"
/*
* -123.4
* numbers[0] = 123
* numbers[1] = 4
*/
inline void explodeDoubleNumber(int* numbers, double flt) {
/*
* Функция abs() вычисляет абсолютное значение и возвращает модуль значения flt (|flt|).
*/
numbers[0] = abs((int) flt); /* из -123.4 получаем 123 */
numbers[1] = abs((int) ((flt - ((int) flt)) * 10)); /* из -123.4 получаем 4 */
}
inline void printTemp(double d) {
char text[17] = "T=";
int fs[2];
char num[5];
explodeDoubleNumber(fs, d);
if (d < 0) {
strcat(text, "-");
}
itoa(fs[0], num, 10);
strcat(text, num);
strcat(text, ".");
itoa(fs[1], num, 10);
strcat(text, num);
strcat(text, "'C");
lcdClear();
lcdGotoXY(0, 0);
lcdPuts(text);
}
int main(void) {
_delay_ms(100);
lcdInit();
lcdClear();
lcdSetDisplay(LCD_DISPLAY_ON);
lcdSetCursor(LCD_CURSOR_OFF);
while (1) {
double d = getTempDS18B20();
printTemp(d);
_delay_ms(1000);
}
}
*библиотека для работы с LSD дисплеем находится в архив проекта. Скачать можно по ссылке ниже.
Схема подключения LSD дисплея на базе HD44780 и датчика температуры DS18B20 к ATtiny2313 в ISIS 7 Professional — Proteus. Симуляция.
Соединяем все компоненты так, как указано на картинке. Если не знаете как сделать проект в Протеус, переходим на страницу Мигание светодиодом на ATmega16/32.
В микроконтроллере ATtiny2313 заводская установленная частота внутреннего RC генератора равняется 8000000Гц (8МГц), также по умолчанию установлен фьюз деления частоты — CLKDIV8 (Clock Divide by 8), поэтому реальная рабочая частота кристалла 1000000Гц (1МГц). По этому не забываем снять этот фьюз.
Температура ниже нуля
Температура выше нуля
Скачать:
DS18B20 — документация на русском (datasheet ru)
проект в Atmel Studio 7 DS18B20 + LCD HD44780 + ATtiny2313
проект в Proteus 7 DS18B20 + LCD HD44780 + ATtiny2313


































































































































sildenafil dose
магазин аккаунтов маркетплейс для реселлеров
платформа для покупки аккаунтов https://marketplace-akkauntov-top.ru/
продажа аккаунтов соцсетей аккаунты с балансом
Account Selling Platform Account Buying Service
Website for Selling Accounts Account Sale
Database of Accounts for Sale Account Catalog
Accounts for Sale Account exchange
Account Catalog Gaming account marketplace
Account market socialmediaaccountsshop.com
Account Purchase Account trading platform
Account market Sell Account
account catalog sell account
verified accounts for sale socialaccountssale.com
account sale account acquisition
secure account purchasing platform account sale
accounts for sale find accounts for sale
gaming account marketplace website for buying accounts
marketplace for ready-made accounts account marketplace
account buying service account selling platform
website for selling accounts marketplace for ready-made accounts
gaming account marketplace account trading platform
account acquisition account trading service
account trading platform profitable account sales
verified accounts for sale sell account
accounts marketplace account trading service
social media account marketplace buy pre-made account
account selling platform account marketplace
buy pre-made account account market
sell accounts database of accounts for sale
account marketplace account exchange service
verified accounts for sale database of accounts for sale
buy accounts https://accounts-offer.org/
profitable account sales https://accounts-marketplace.xyz/
account trading service https://buy-best-accounts.org
buy accounts https://social-accounts-marketplaces.live
secure account sales https://accounts-marketplace.live/
website for selling accounts https://social-accounts-marketplace.xyz/
buy account https://buy-accounts.space
profitable account sales https://buy-accounts-shop.pro/
account trading https://accounts-marketplace.online/
guaranteed accounts https://accounts-marketplace-best.pro/
биржа аккаунтов https://akkaunty-na-prodazhu.pro/
площадка для продажи аккаунтов akkaunty-market.live
маркетплейс аккаунтов https://kupit-akkaunty-market.xyz
продажа аккаунтов https://akkaunty-optom.live
площадка для продажи аккаунтов https://online-akkaunty-magazin.xyz
buy facebook accounts for ads https://buy-adsaccounts.work
buy aged fb account buy facebook ads account
buy facebook ad account cheap facebook advertising account
buy fb ads account facebook ads accounts
buy facebook ads accounts https://buy-ad-account.click
facebook accounts to buy https://ad-accounts-for-sale.work
buy google ads threshold account https://buy-ads-account.top
buy google ads threshold account https://ads-account-for-sale.top/
buy google adwords account https://ads-account-buy.work
google ads reseller https://buy-ads-invoice-account.top/
buy adwords account https://buy-account-ads.work
buy google ads threshold account https://buy-ads-agency-account.top
buy google adwords account https://ads-agency-account-buy.click
buy facebook verified business account https://buy-business-manager.org
buy verified google ads accounts adwords account for sale
buy facebook bm account buy facebook business manager account
facebook business manager for sale buy-verified-business-manager-account.org
buy verified bm facebook https://buy-verified-business-manager.org/
buy verified bm https://buy-business-manager-verified.org/
business manager for sale facebook business manager for sale
tiktok agency account for sale https://tiktok-ads-account-for-sale.org
buy tiktok ads accounts https://tiktok-agency-account-for-sale.org
tiktok agency account for sale https://buy-tiktok-ads-accounts.org
buy tiktok business account https://buy-tiktok-ads.org
buy facebook profile account catalog account purchase
buy facebook ads account account purchase database of accounts for sale
anabolic steroids effects
References:
revenu.live
how does winstrol work
References:
git.biscicloud.com
Video’s voor volwassenen kunnen worden gestreamd oop betrouwbare
platforms voor privacy. Ontdek veilige websites voor kwaliteitsweergave.
trusted Mexican drugstores online: Dr Meds Advisor — generic medicine from Mexico
trusted medical sources from India: Indian pharmacy coupon codes — safe Indian generics for US patients
DrMedsAdvisor: verified Mexican pharmacies USA delivery — mexico pharmacy
safe Canadian pharmacies for Americans doctor recommended Canadian pharmacy DoctorNorthRx
https://prednexamed.com/# PrednexaMed
india pharmacy: india pharmacy — indian pharmacy
https://navikarapharmacy.xyz/# amoxil online
PrednexaMed: buy prednisone — prednisone price
indian pharmacy: IndiavaMeds — indian pharmacy
IndiavaMeds: india pharmacy — Indiava Meds
online medicine IndiavaMeds online medicine
amoxicillin order online: Navikara Pharmacy — generic amoxil
PrednexaMed: Prednexa Med — buy prednisone
india pharmacies: Indiava Meds — indian pharmacy
buy medicine online in delhi buy medicine online in delhi Indiava Meds
https://indiavameds.com/# online medicine
india pharmacy: Indiava Meds — IndiavaMeds
liquid ivermectin: StromectaDirect — Ivermectin tablets for humans
buy ivermectin online: buy ivermectin online — buy ivermectin online
StromectaDirect buy ivermectin online Stromectol buy cheap
prednisone purchase online: buy prednisone — Prednexa Med
prednisone for sale online buy prednisone PrednexaMed
Stromectol tablets: Stromectol buy cheap — stromectol prices
IndiavaMeds: online medicine — indian pharmacy
amoxil online: where can i buy amoxicillin online — cheap amoxil
https://stromectadirect.com/# Ivermectin tablets for humans
buy ivermectin online: best pharmacy buy Stromectol — Ivermectin tablets for humans
Navikara Pharmacy: Navikara Pharmacy — buy amoxil
Stromectol buy cheap: Stromecta Direct — Ivermectin tablets for humans
Ivermectin tablets for humans Stromecta Direct StromectaDirect
http://indiavameds.com/# online medicine
kamagra buy Kamagra online online pharmacy for Kamagra
cialis generic: cialis for sale — Tadalafil price
kamagra Blue Wave Meds online pharmacy for Kamagra
http://aeromedsrx.com/# Cheap Viagra 100mg
online pharmacy for Kamagra fast delivery Kamagra pills BlueWaveMeds
Generic Tadalafil 20mg price: EveraMeds — EveraMeds
kamagra: Blue Wave Meds — buy Kamagra online
https://aeromedsrx.com/# Sildenafil 100mg price
http://everameds.com/# Cialis 20mg price in USA
BlueWaveMeds: BlueWaveMeds — kamagra oral jelly
online pharmacy for Kamagra: fast delivery Kamagra pills — kamagra
http://bluewavemeds.com/# fast delivery Kamagra pills
order viagra AeroMedsRx Viagra without a doctor prescription Canada
online pharmacy for Kamagra: BlueWaveMeds — kamagra
trusted Kamagra supplier in the US BlueWaveMeds trusted Kamagra supplier in the US
http://everameds.com/# EveraMeds
https://bluewavemeds.xyz/# BlueWaveMeds
AeroMedsRx Cheap Viagra 100mg Cheap Viagra 100mg
Cialis 20mg price in USA: EveraMeds — Generic Cialis price
http://everameds.com/# Cialis without a doctor prescription
Generic Viagra for sale: order viagra — AeroMedsRx
Cialis 20mg price EveraMeds EveraMeds
EveraMeds: EveraMeds — EveraMeds
https://everameds.xyz/# EveraMeds
Tadalafil price cheapest cialis EveraMeds
Generic Viagra online: AeroMedsRx — AeroMedsRx
Generic Tadalafil 20mg price: п»їcialis generic — Tadalafil Tablet
http://aeromedsrx.com/# AeroMedsRx
https://bluewavemeds.xyz/# order Kamagra discreetly
AeroMedsRx AeroMedsRx best price for viagra 100mg
https://everameds.xyz/# buy cialis pill
AeroMedsRx Viagra generic over the counter Viagra without a doctor prescription Canada
Cheap Sildenafil 100mg: AeroMedsRx — over the counter sildenafil
http://everameds.com/# Cialis 20mg price in USA
AeroMedsRx AeroMedsRx buy viagra here
generic sildenafil: AeroMedsRx — AeroMedsRx
over the counter sildenafil: AeroMedsRx — Viagra Tablet price
AeroMedsRx Viagra Tablet price Generic Viagra for sale
Uva Pharm: mexican pharmacies that ship to us — mexican pharmacy las vegas
legit canadian pharmacy https://uvapharm.com/# mail order pharmacy mexico
http://uvapharm.com/# prescriptions from mexico
Iso Pharm Iso Pharm IsoIndiaPharm
pharmacy website india: IsoIndiaPharm — Iso Pharm
https://mhfapharm.xyz/# pet meds without vet prescription canada
canadian pharmacy 24 com https://mhfapharm.com/# canadian pharmacy ed medications
MhfaPharm: buy canadian drugs — canadian pharmacy phone number
https://uvapharm.com/# mexican pharmacy that ships to the us
canadian pharmacy reviews https://uvapharm.xyz/# pharmacy mexico
canadian pharmacy king MHFA Pharm best canadian online pharmacy reviews
can i order online from a mexican pharmacy: UvaPharm — UvaPharm
the canadian drugstore https://mhfapharm.xyz/# MhfaPharm
canadian pharmacy com https://isoindiapharm.xyz/# Iso Pharm
UvaPharm: mexican pharmacy las vegas — UvaPharm
canada drugs http://mhfapharm.com/# MHFA Pharm
https://isoindiapharm.com/# indianpharmacy com
certified canadian international pharmacy https://uvapharm.xyz/# UvaPharm
mexican rx pharm: UvaPharm — mexico rx
http://uvapharm.com/# UvaPharm
UvaPharm order medication from mexico UvaPharm
https://mhfapharm.xyz/# safe canadian pharmacies
canadian online pharmacy reviews http://uvapharm.com/# Uva Pharm
MHFA Pharm: canadian pharmacy online — MhfaPharm
https://mhfapharm.xyz/# MHFA Pharm
canadian pharmacy antibiotics http://mhfapharm.com/# MhfaPharm
IsoIndiaPharm: Iso Pharm — п»їlegitimate online pharmacies india
https://uvapharm.xyz/# UvaPharm
canadian online drugstore http://isoindiapharm.com/# reputable indian online pharmacy
SocalAbortionPill: Socal Abortion Pill — buy cytotec in usa
ivermectin ticks PMA Ivermectin buy ivermectin for humans usa
Ucla Metformin metformin buy usa metformin 10 tablet
UclaMetformin: UclaMetformin — buy metformin er
BSW Finasteride BSW Finasteride BSW Finasteride
buy medicines online in india http://bswfinasteride.com/# order cheap propecia tablets
BswFinasteride: BswFinasteride — cost of propecia online
indian pharmacies safe https://pmaivermectin.com/# PMA Ivermectin
PMA Ivermectin PMA Ivermectin PMA Ivermectin
BswFinasteride: BSW Finasteride — BswFinasteride
world pharmacy india http://bswfinasteride.com/# order generic propecia without rx
DmuCialis: DmuCialis — Dmu Cialis
DmuCialis Buy Tadalafil 20mg DmuCialis
https://neokamagra.xyz/# buy Kamagra
Cheap Cialis: DmuCialis — Buy Cialis online
pharmacy without dr prescriptions https://neokamagra.xyz/# NeoKamagra
Neo Kamagra Neo Kamagra NeoKamagra
NeoKamagra: NeoKamagra — buy Kamagra
MuscPharm: MuscPharm — online canadian pharmacy
Kamagra 100mg NeoKamagra Kamagra 100mg price
best canadian prescription prices MuscPharm northeast discount pharmacy
cheap prescription drugs online https://dmucialis.xyz/# DmuCialis
Cialis 20mg price in USA: Generic Cialis price — Buy Cialis online
http://neokamagra.com/# NeoKamagra
prescription drug prices comparison https://dmucialis.xyz/# DmuCialis
NeoKamagra: super kamagra — NeoKamagra
buy mexican drugs online https://muscpharm.com/# MuscPharm
Kamagra tablets: NeoKamagra — Kamagra 100mg price
https://dmucialis.com/# Dmu Cialis
bestpharmacyonline.com http://dmucialis.com/# Dmu Cialis
https://dmucialis.com/# DmuCialis
п»їcialis generic: DmuCialis — Dmu Cialis
Neo Kamagra: buy Kamagra — Neo Kamagra
accutane mexican pharmacy https://dmucialis.com/# DmuCialis
Dmu Cialis: DmuCialis — DmuCialis
cheapest canadian online pharmacy https://neokamagra.xyz/# Neo Kamagra
Viagra Newark: Viagra Newark — Viagra Newark