Связь Рассмотрим как
УМ на ГУ81М от VE3KF при помощи Arduino считывать
Чайник показания с
Связь цифрового датчика температуры
STK4031 Источник: http://radioskot.ru/publ/unch/usilitel_moshhnosti_zvuka/6-1-0-203 DS18B20. В
Преобразователь температура - напряжение настоящий момент
Связь м/с DS18B20
УМ на ГУ81М от VE3KF фирмы Dallas является
Чайник наиболее распространенным и доступным
Связь цифровым датчиком температуры.
Работает
STK4031 Источник: http://radioskot.ru/publ/unch/usilitel_moshhnosti_zvuka/6-1-0-203 он по шине
Связь 1-wire.
Преобразователь температура - напряжение Даташит датчика:
DS18B20
Датчик может
Связь запитываться
Связь двумя способами
УМ на ГУ81М от VE3KF - внешним питанием (3
Чайник провода) или
Связь паразитным (питание от
STK4031 Источник: http://radioskot.ru/publ/unch/usilitel_moshhnosti_zvuka/6-1-0-203 шины, 2
Преобразователь температура - напряжение провода). Расписывать
Связь эти режимы
УМ на ГУ81М от VE3KF не буду, все
Чайник есть в документации. Отмечу
Связь лишь то, что в
STK4031 Источник: http://radioskot.ru/publ/unch/usilitel_moshhnosti_zvuka/6-1-0-203 данном проекте мы
Связь будем
Преобразователь температура - напряжение использовать нормальное питание датчика.
Схема
Связь подключения
Связь датчика DS18B20
УМ на ГУ81М от VE3KF к Arduino приведена ниже.
Чайник Резистор номиналом
Связь 4.7 кОм.
STK4031 Источник: http://radioskot.ru/publ/unch/usilitel_moshhnosti_zvuka/6-1-0-203 Рабочий скетч
Преобразователь температура - напряжение представлен ниже.
Связь Он взят
УМ на ГУ81М от VE3KF из интернета, я
Чайник лишь закомментировал лишние строки,
Связь чтобы на serial monitor
STK4031 Источник: http://radioskot.ru/publ/unch/usilitel_moshhnosti_zvuka/6-1-0-203 выводилась только текущая
Связь температура.

Преобразователь температура - напряжение #include <onewire.h>
/*
* Связь получаем Связь температуру от УМ на ГУ81М от VE3KF DS18S20
*/
OneWire ds(10); Чайник // линия Связь 1-Wire будет на STK4031 Источник: http://radioskot.ru/publ/unch/usilitel_moshhnosti_zvuka/6-1-0-203 pin 10
Преобразователь температура - напряжение void setup(void)
Связь {
Serial.УМ на ГУ81М от VE3KF begin(9600);
}
void Чайник loop(void)
{
byte i;
Связь byte present = 0;
STK4031 Источник: http://radioskot.ru/publ/unch/usilitel_moshhnosti_zvuka/6-1-0-203 byte data[12];
byte Связь addr[8];
Преобразователь температура - напряжение if ( !ds.search(addr)) {
Связь //Serial.Связь print("No more УМ на ГУ81М от VE3KF addresses.\n");
ds.reset_search();
Чайник return;
}
Связь /*Serial.print("R=");
for( STK4031 Источник: http://radioskot.ru/publ/unch/usilitel_moshhnosti_zvuka/6-1-0-203 i = Преобразователь температура - напряжение 0; i < 8; i++) {
Serial.print(addr[i], HEX);
Serial.print(" ");
}*/
if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.print("CRC is not valid!\n");
return;
}
if ( addr[0] != 0x10) {
Serial.print("Device is not a DS18S20 family device.\n");
return;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1); // запускаем конвертацию
delay(5000); // скорее всего достаточно 750ms
// we might do a ds.depower() here, but the reset will take care of it.
present = ds.reset();
ds.select(addr);
ds.write(0xBE); // считываем ОЗУ датчика
/*Serial.print("P=");
Serial.print(present,HEX);
Serial.print(" ");*/
for ( i = 0; i < 9; i++) { // обрабатываем 9 байт
data[i] = ds.read();
//Serial.print(data[i], HEX);
//Serial.print(" ");
}
/*Serial.print(" CRC=");
Serial.print( OneWire::crc8( data, 8), HEX);
Serial.println();*/
// высчитываем температуру :)
int HighByte, LowByte, TReading, Tc_100;
LowByte = data[0];
//Serial.print("LB= ");Serial.print(LowByte,HEX);
HighByte = data[1];
//Serial.print(" HB= ");Serial.print(HighByte,HEX);
TReading = (HighByte << 8) + LowByte;
Tc_100 = TReading/2;
Serial.print(" T = ");Serial.print(Tc_100);
Serial.println();
}
</onewire.h>Связь
Вы не можете скачивать файлы с нашего сервера библиотека OneWire и скетч в формате PDE
Связь ="TEXT-ALIGN: right">Автор:
talibanИсточник:
http://cxem.net/