Делаешь: while ( ds.search(addr) ), сравниваешь считанный и записанный адрес побайтово, если байт не равен, возвращаем байт с номером признака датчика - 9й. Номер признака присваешь сам - адрес+байт признака. Массив с адресами должен быть отсортирован по возрастанию. На выходе из цикла не забывать команду ds.reset_search();
вот это и не понятно было - ds.search(addr) addr перебирается от 0 до хххххх ?
интересно - перебор всех адресов без ответа - сколько долго длится ?
Неверно выразился. Она только живые перебирает.
как это ?!!!!!!!!!!!!!!!!! буду нудеть....
как она узнает кто жив , кто нет ? не опросив каждого ?
пока нагрузили помощъю выше осознаваемого....
Спасибо , пока для поездки в "деревню" ( очень далеко ) - хватит...
Ребята, на пальцах - привязаться к пинам можно а не к адресу датчика? Пинов дофига, хотелось бы при замене датчика не лазить обратно в прошивку. А на экране точно видеть где улица а где дом.
DS18B20 только начал осваивать материал, паял поделки на AVR и PIC там как то не заморачивался над адресом датчика. Здесь начал читать - а лес все темнее... Не смог найти темы пока для двух датчиков на разных пинах, или нашел но не смог понять что это именно та тема которая мне нужна)))
p.s Имел ввиду не то что бы к пинам, понимаю что по адресу надо. ммм как бы обьяснить... есть два провода, один в доме один на улице- меняю датчики свободно на них, показания на экране все равно правильные. Тоисть провода главнее а не адреса. как-то так.
Ребята, на пальцах - привязаться к пинам можно а не к адресу датчика? Пинов дофига, хотелось бы при замене датчика не лазить обратно в прошивку. А на экране точно видеть где улица а где дом.
Протокол обмена 1-wire, по которому связываются DS18B20, работает с адресами. Без них - не работает.
То есть, Вам, при замене термометра, в любом случае эти адреса надо как-то сообщить прошивке. Либо каждый раз лезть в код, либо записывать эти адреса в eeprom при прошивке, и потом менять точно так же... Вариантов - масса, но все они предполагают некие дополнительные телодвижения при смене уникального номера термометра.
Ребята, на пальцах - привязаться к пинам можно а не к адресу датчика? Пинов дофига, хотелось бы при замене датчика не лазить обратно в прошивку. А на экране точно видеть где улица а где дом.
Протокол обмена 1-wire, по которому связываются DS18B20, работает с адресами. Без них - не работает.
То есть, Вам, при замене термометра, в любом случае эти адреса надо как-то сообщить прошивке. Либо каждый раз лезть в код, либо записывать эти адреса в eeprom при прошивке, и потом менять точно так же... Вариантов - масса, но все они предполагают некие дополнительные телодвижения при смене уникального номера термометра.
хорошо, а если с автоопредилением но на разных пинах?
Неужели такой затык с шиной?
Подождите, если на шине один датчик, то адрес а) можно не использовать б) всегда можно спросить его адрес и он один ответит. Потому если на разных пинах, на каждом своя шина и на ней только один датчик, то адреса не нужны. Но это явно не интересный вариант. А вобще привязка новых датчиков и перетасовка старых довольно скользкий вопрос. Допустим были датчики с адресами Д1 и Д2 в доме и саду. В какойто момент их заменили на Д3 и Д4. Или еще веселей, поменяли местами. Как системе узнать какой из датчиков в саду? Очевидно никак. В последнем своем подходе к задаче делал табличку соответствия адрес-роль-название в ЕЕПРОМ, и удаленно её редактировал. Новые датчики автоматом прописываются в неё как "Неизвестный" с порядковым номером. Потом можна отредактировать и указать роль и название датчика. Вроде и не плохо, но чувства глубокого удовлетворения нет.
В последнем своем подходе к задаче делал табличку соответствия адрес-роль-название в ЕЕПРОМ, и удаленно её редактировал. Новые датчики автоматом прописываются в неё как "Неизвестный" с порядковым номером. Потом можна отредактировать и указать роль и название датчика. Вроде и не плохо, но чувства глубокого удовлетворения нет.
Иначе наверно никак. Адрес + идентификатор. Я немного иначе делал. Если обнаружился новый номер или исчез какой то из запомненных, заставляет последовательно нагреть все доступные датчики (это нормально на небольшой площади и проблему замены местами тоже не решает).
У меня они на паяном шлейфе, соответственно замена только с паяльником. Уже не перепутаешь.
А проблемы по частой замене датчиков, ИМХО надуманные.
Подождите, если на шине один датчик, то адрес а) можно не использовать б) всегда можно спросить его адрес и он один ответит. Потому если на разных пинах, на каждом своя шина и на ней только один датчик, то адреса не нужны. Но это явно не интересный вариант.
Как раз интересный вариант! Вот бы тему найти об этом)
А насчёт перетасовки- уж очень кажется что удаленная правка епром действительно самый удачный вариант.
Подождите, если на шине один датчик, то адрес а) можно не использовать б) всегда можно спросить его адрес и он один ответит. Потому если на разных пинах, на каждом своя шина и на ней только один датчик, то адреса не нужны. Но это явно не интересный вариант.
Как раз интересный вариант! Вот бы тему найти об этом) А насчёт перетасовки- уж очень кажется что удаленная правка епром действительно самый удачный вариант.
Тема где то и на этом форуме была, поищите. Смысл использования дорогого адресного датчика на отдельных шинах? Его ведь изначально затевали для организации гирлянд.
Подождите, если на шине один датчик, то адрес а) можно не использовать б) всегда можно спросить его адрес и он один ответит. Потому если на разных пинах, на каждом своя шина и на ней только один датчик, то адреса не нужны. Но это явно не интересный вариант.
Как раз интересный вариант! Вот бы тему найти об этом) А насчёт перетасовки- уж очень кажется что удаленная правка епром действительно самый удачный вариант.
Тема где то и на этом форуме была, поищите. Смысл использования дорогого адресного датчика на отдельных шинах? Его ведь изначально затевали для организации гирлянд.
в wire
во первых к устройству можно обращатся не только по адресу, но и по порядковому номеру, по этому если датчик вего 1 - вполне можно не хранить его адрес...
во вторых там есть возможность получить список всех адресов которые висят на шине...
во первых к устройству можно обращатся не только по адресу, но и по порядковому номеру, по этому если датчик вего 1 - вполне можно не хранить его адрес...
Обращаемся все равно по адресу, для единственного датчика используем команду READ ROM [33h], не прибегая к сканированию адресов.
Если я не прав, то хотелось бы кусочек кода не использующий адрес.
// sends command for one device to perform a temp conversion by index
bool DallasTemperature::requestTemperaturesByIndex(uint8_t deviceIndex)
{
DeviceAddress deviceAddress;
getAddress(deviceAddress, deviceIndex);
return requestTemperaturesByAddress(deviceAddress);
}
Каюсь, похоже обманул. Вроде как можно сделать Skip ROM [CCh], а затем сразу чтение памяти [BEh]. Попробую на досуге.
Дискутировать полезно, частенько узнаешь новое.))))
попробуй. на 5 датчиков. код выглядит громоздко, но работать вроде должно (написать можно вроде с помощью структур, но я не умею). каждый датчик на свой пин (в начале указал какие), адрес не важен поэтому можно менять просто датчик
#include <OneWire.h>
// пины для датчиков
#define dallas_1 3
#define dallas_2 4
#define dallas_3 5
#define dallas_4 6
#define dallas_5 7
OneWire ds_1 (dallas_1);
OneWire ds_2 (dallas_2);
OneWire ds_3 (dallas_3);
OneWire ds_4 (dallas_4);
OneWire ds_5 (dallas_5);
unsigned long time=0;
boolean flag=0; // для измерения
byte data[12];
float temp_1, temp_2, temp_3, temp_4, temp_5;
int raw;
void setup() {
Serial.begin (9600);
izm_temp();
}
void loop(){
izm_temp(); // измеряем температуру
if(!flag){
Serial.print (F("Temp_1 " ));
Serial.print (temp_1);
Serial.print (F(" Temp_2 "));
Serial.print (temp_2);
Serial.print (F(" Temp_3 "));
Serial.print (temp_3);
Serial.print (F(" Temp_4 "));
Serial.print (temp_4);
Serial.print (F(" Temp_5 "));
Serial.println (temp_5);
Serial.flush(); //очищаем значения порта
}
}
void izm_temp(){
if(!flag){
start_izm();
time=millis();
flag=1;
}
if(flag && (millis()-time)>750){
calc_izm();
flag=0;
}
}
void start_izm(){
//запускаем измерение всех датчиков
ds_1.reset();
ds_1.write(0xCC);
ds_1.write(0x44);
ds_2.reset();
ds_2.write(0xCC);
ds_2.write(0x44);
ds_3.reset();
ds_3.write(0xCC);
ds_3.write(0x44);
ds_4.reset();
ds_4.write(0xCC);
ds_4.write(0x44);
ds_5.reset();
ds_5.write(0xCC);
ds_5.write(0x44);
}
void calc_izm(){
// Считываем и пересчитываем 1 датчик
ds_1.reset();
ds_1.write(0xCC);
ds_1.write(0xBE); // Read Scratchpad
for (byte i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds_1.read ();
}
raw = (data[1] << 8) | data[0];//=======Пересчитываем в температуру
temp_1 = (float)raw / 16.0;
// Считываем и пересчитываем 2 датчик
ds_2.reset();
ds_2.write(0xCC);
ds_2.write(0xBE); // Read Scratchpad
for (byte i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds_2.read ();
}
raw = (data[1] << 8) | data[0];//=======Пересчитываем в температуру
temp_2 = (float)raw / 16.0;
// Считываем и пересчитываем 3 датчик
ds_3.reset();
ds_3.write(0xCC);
ds_3.write(0xBE); // Read Scratchpad
for (byte i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds_3.read ();
}
raw = (data[1] << 8) | data[0];//=======Пересчитываем в температуру
temp_3 = (float)raw / 16.0;
// Считываем и пересчитываем 4 датчик
ds_4.reset();
ds_4.write(0xCC);
ds_4.write(0xBE); // Read Scratchpad
for (byte i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds_4.read ();
}
raw = (data[1] << 8) | data[0];//=======Пересчитываем в температуру
temp_4 = (float)raw / 16.0;
// Считываем и пересчитываем 5 датчик
ds_5.reset();
ds_5.write(0xCC);
ds_5.write(0xBE); // Read Scratchpad
for (byte i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds_5.read ();
}
raw = (data[1] << 8) | data[0];//=======Пересчитываем в температуру
temp_5 = (float)raw / 16.0;
}
Меня оно чисто в академическом плане заинтересовало. Как их использовать, это дело ТС.
Но платить за возможность беспроблемной замены (будет ли нужна) кратным количеству датчиков увеличением аппаратных и программных средств, имхо, излишество.
ещё как требуется!
первым делом- сделал устройство и забыл, сделал кому-то. да много чего бывает! Зря вы так! Спасибо за последний код!, думаю оно самое то!
p.s Каждый видит со своей колокольни для вас излишество использовать пины, для меня полное непонимание! у меня пинов тьма (2560) мне вообще не в напряг задействовать ещё 10 или 20 штук. А замена в приоритете потому что за год вот, сменил три датчика. но на pic я даже и не задумывался два провода, два показания. )))
Каюсь, похоже обманул. Вроде как можно сделать Skip ROM [CCh], а затем сразу чтение памяти [BEh]. Попробую на досуге.
Дискутировать полезно, частенько узнаешь новое.))))
Можна, можна..
SKIP ROM [CCh]
The master can use this command to address all devices on the bus simultaneously without sending out any ROM code information. For example, the master can make all DS18B20s on the bus perform simultaneous temperature conversions by issuing a Skip ROM command followed by a Convert T [44h] command.
Note that the Read Scratchpad [BEh] command can follow the Skip ROM command only if there is a single slave device on the bus. In this case, time is saved by allowing the master to read from the slave without sending the device’s 64-bit ROM code. A Skip ROM command followed by a Read Scratchpad command will cause a data collision on the bus if there is more than one slave since multiple devices will attempt to transmit data simultaneously.
Ребят, все проще маслянный котел на выходе стоит Даллас, как говорится про...б.ал насос включить после розжига- 10 минут и труп готов))
Вот и мастырю сейчас автоматику для всего этого ( но даже сильнее в целях обучения) приятное с полезным.
Ребят, все проще маслянный котел на выходе стоит Даллас, как говорится про...б.ал насос включить после розжига- 10 минут и труп готов)) Вот и мастырю сейчас автоматику для всего этого ( но даже сильнее в целях обучения) приятное с полезным.
Делайте сразу медную гильзу с небольшим (10см) выносом датчика в сторону: в результате температуру будет показывать ниже (решается калибровкой), но и датчик не перегреется...
Аварийную автоматику надо делать на биметаллических реле типа KSD9700. NO или NC - в зависимости от логики... Ну и надо помнить, что у них температура срабатывания может быть плюс-минус 10-15 градусов.
ты кажется не понял что хочет человек, он хочет горячую замену датчиков без прописывания адресов
Я - тоже хочу... :)
Просто не допилил механизм привязки индекса к конктерному расположению датчика. В сетапе - запускается поиск устройств и адресами заполняется массив...
да такое можно было бы сделать, но тогда ты точно не знаешь где какой, только нагревом например по отдельности можно определить где какой и настроить в менюшке например что к чему относится, я предлагаю по пину на датчик, но не знаю точно ли так будет работать
Знатаки!) Подскажите! Я хочу подключить датчиками температуры Ds18b20 к Arduino! http://proumnyjdom.ru/kontrollery/ds18b20-podklyuchenie-k-arduino.html Если еще добавить дисплей это будет здорово! Только как это все лучше срастить? И не пойму почему у меня сейчас сам датчик температуру не точно показывает( погрешность в 2 градуса это норм?
а я слышал что изза того что постоянно опрашивают без реальной необходимости. и если просто температура измеряется в комнате, не нужно каждую секунду измерять
круто ! копирую , спасибо !
Эт я идею из dimax кода содрал))).
Делаешь: while ( ds.search(addr) ), сравниваешь считанный и записанный адрес побайтово, если байт не равен, возвращаем байт с номером признака датчика - 9й. Номер признака присваешь сам - адрес+байт признака. Массив с адресами должен быть отсортирован по возрастанию. На выходе из цикла не забывать команду ds.reset_search();
вот это и не понятно было - ds.search(addr) addr перебирается от 0 до хххххх ?
Если память не очень лимитирована, на наброски автоопределения. Может уменьшишь))))
Не смог победить динамическое выделение массива под количество датчиков. Собака на будущие поделки забита.
круто ! копирую , спасибо !
Эт я идею из dimax кода содрал))).
вот обоим и спасибо ! :)
вот это и не понятно было - ds.search(addr) addr перебирается от 0 до хххххх ?
Возвращает по возрастанию, до окончания адресов.
Если память не очень лимитирована, на наброски автоопределения. Может уменьшишь))))
нано хватит на это
аха , щас всё брошу , изучу это дело ( год....два ) и начну уменьшать !
:)
Спасибо за предПодсказки !
Возвращает по возрастанию, до окончания адресов.
интересно - перебор всех адресов без ответа - сколько долго длится ?
Возвращает по возрастанию, до окончания адресов.
интересно - перебор всех адресов без ответа - сколько долго длится ?
Неверно выразился. Она только живые перебирает.
Возвращает по возрастанию, до окончания адресов.
интересно - перебор всех адресов без ответа - сколько долго длится ?
Неверно выразился. Она только живые перебирает.
как это ?!!!!!!!!!!!!!!!!! буду нудеть....
как она узнает кто жив , кто нет ? не опросив каждого ?
пока нагрузили помощъю выше осознаваемого....
Спасибо , пока для поездки в "деревню" ( очень далеко ) - хватит...
Спасибо :)
Сам не расскажу. Читай здесь.
не читается ссылка :(
спасибо ! :)
не читается ссылка :(
спасибо ! :)
Набери в гугле, "DS18B20, Чернов"
Ребята, на пальцах - привязаться к пинам можно а не к адресу датчика? Пинов дофига, хотелось бы при замене датчика не лазить обратно в прошивку. А на экране точно видеть где улица а где дом.
DS18B20 только начал осваивать материал, паял поделки на AVR и PIC там как то не заморачивался над адресом датчика. Здесь начал читать - а лес все темнее... Не смог найти темы пока для двух датчиков на разных пинах, или нашел но не смог понять что это именно та тема которая мне нужна)))
p.s Имел ввиду не то что бы к пинам, понимаю что по адресу надо. ммм как бы обьяснить... есть два провода, один в доме один на улице- меняю датчики свободно на них, показания на экране все равно правильные. Тоисть провода главнее а не адреса. как-то так.
Ребята, на пальцах - привязаться к пинам можно а не к адресу датчика? Пинов дофига, хотелось бы при замене датчика не лазить обратно в прошивку. А на экране точно видеть где улица а где дом.
Протокол обмена 1-wire, по которому связываются DS18B20, работает с адресами. Без них - не работает.
То есть, Вам, при замене термометра, в любом случае эти адреса надо как-то сообщить прошивке. Либо каждый раз лезть в код, либо записывать эти адреса в eeprom при прошивке, и потом менять точно так же... Вариантов - масса, но все они предполагают некие дополнительные телодвижения при смене уникального номера термометра.
В библиотеке DallasTemperature можно просто спросить количество устройств на шине и оно вернет их значение (функцию можно найти и посмотреть).
Насколько я понимаю, в 1-wire не опрашивается каждый датчик, а дается свисток: кто ответил в заданный диапазон времени - тот и живой. :)
Насколько я понимаю, в 1-wire не опрашивается каждый датчик, а дается свисток: кто ответил в заданный диапазон времени - тот и живой. :)
Не совсем, там алгоритм опроса с исключением адресов.
Ребята, на пальцах - привязаться к пинам можно а не к адресу датчика? Пинов дофига, хотелось бы при замене датчика не лазить обратно в прошивку. А на экране точно видеть где улица а где дом.
Протокол обмена 1-wire, по которому связываются DS18B20, работает с адресами. Без них - не работает.
То есть, Вам, при замене термометра, в любом случае эти адреса надо как-то сообщить прошивке. Либо каждый раз лезть в код, либо записывать эти адреса в eeprom при прошивке, и потом менять точно так же... Вариантов - масса, но все они предполагают некие дополнительные телодвижения при смене уникального номера термометра.
хорошо, а если с автоопредилением но на разных пинах?
Неужели такой затык с шиной?
Подождите, если на шине один датчик, то адрес а) можно не использовать б) всегда можно спросить его адрес и он один ответит. Потому если на разных пинах, на каждом своя шина и на ней только один датчик, то адреса не нужны. Но это явно не интересный вариант. А вобще привязка новых датчиков и перетасовка старых довольно скользкий вопрос. Допустим были датчики с адресами Д1 и Д2 в доме и саду. В какойто момент их заменили на Д3 и Д4. Или еще веселей, поменяли местами. Как системе узнать какой из датчиков в саду? Очевидно никак. В последнем своем подходе к задаче делал табличку соответствия адрес-роль-название в ЕЕПРОМ, и удаленно её редактировал. Новые датчики автоматом прописываются в неё как "Неизвестный" с порядковым номером. Потом можна отредактировать и указать роль и название датчика. Вроде и не плохо, но чувства глубокого удовлетворения нет.
В последнем своем подходе к задаче делал табличку соответствия адрес-роль-название в ЕЕПРОМ, и удаленно её редактировал. Новые датчики автоматом прописываются в неё как "Неизвестный" с порядковым номером. Потом можна отредактировать и указать роль и название датчика. Вроде и не плохо, но чувства глубокого удовлетворения нет.
Иначе наверно никак. Адрес + идентификатор. Я немного иначе делал. Если обнаружился новый номер или исчез какой то из запомненных, заставляет последовательно нагреть все доступные датчики (это нормально на небольшой площади и проблему замены местами тоже не решает).
У меня они на паяном шлейфе, соответственно замена только с паяльником. Уже не перепутаешь.
А проблемы по частой замене датчиков, ИМХО надуманные.
Подождите, если на шине один датчик, то адрес а) можно не использовать б) всегда можно спросить его адрес и он один ответит. Потому если на разных пинах, на каждом своя шина и на ней только один датчик, то адреса не нужны. Но это явно не интересный вариант.
Как раз интересный вариант! Вот бы тему найти об этом)
А насчёт перетасовки- уж очень кажется что удаленная правка епром действительно самый удачный вариант.
Подождите, если на шине один датчик, то адрес а) можно не использовать б) всегда можно спросить его адрес и он один ответит. Потому если на разных пинах, на каждом своя шина и на ней только один датчик, то адреса не нужны. Но это явно не интересный вариант.
Тема где то и на этом форуме была, поищите. Смысл использования дорогого адресного датчика на отдельных шинах? Его ведь изначально затевали для организации гирлянд.
Подождите, если на шине один датчик, то адрес а) можно не использовать б) всегда можно спросить его адрес и он один ответит. Потому если на разных пинах, на каждом своя шина и на ней только один датчик, то адреса не нужны. Но это явно не интересный вариант.
Тема где то и на этом форуме была, поищите. Смысл использования дорогого адресного датчика на отдельных шинах? Его ведь изначально затевали для организации гирлянд.
в wire
во первых к устройству можно обращатся не только по адресу, но и по порядковому номеру, по этому если датчик вего 1 - вполне можно не хранить его адрес...
во вторых там есть возможность получить список всех адресов которые висят на шине...
во первых к устройству можно обращатся не только по адресу, но и по порядковому номеру, по этому если датчик вего 1 - вполне можно не хранить его адрес...
Обращаемся все равно по адресу, для единственного датчика используем команду READ ROM [33h], не прибегая к сканированию адресов.
Если я не прав, то хотелось бы кусочек кода не использующий адрес.
sensors.getTempCByIndex(0)
sensors.getTempCByIndex(0)
хотя внутри, все равно по адресу :)
// sends command for one device to perform a temp conversion by index
bool DallasTemperature::requestTemperaturesByIndex(uint8_t deviceIndex)
{
DeviceAddress deviceAddress;
getAddress(deviceAddress, deviceIndex);
return requestTemperaturesByAddress(deviceAddress);
}
sensors.getTempCByIndex(0)
Я спрашивал за 1Wire (OneWire) , DallasTemperature - лишних 2 килобайта, без явных преимуществ.
P/S пока писал, уже ответили))))
Каюсь, похоже обманул. Вроде как можно сделать Skip ROM [CCh], а затем сразу чтение памяти [BEh]. Попробую на досуге.
Дискутировать полезно, частенько узнаешь новое.))))
попробуй. на 5 датчиков. код выглядит громоздко, но работать вроде должно (написать можно вроде с помощью структур, но я не умею). каждый датчик на свой пин (в начале указал какие), адрес не важен поэтому можно менять просто датчик
Меня оно чисто в академическом плане заинтересовало. Как их использовать, это дело ТС.
Но платить за возможность беспроблемной замены (будет ли нужна) кратным количеству датчиков увеличением аппаратных и программных средств, имхо, излишество.
за все надо платить)) ну если действительно требуется
ещё как требуется!
первым делом- сделал устройство и забыл, сделал кому-то. да много чего бывает! Зря вы так! Спасибо за последний код!, думаю оно самое то!
p.s Каждый видит со своей колокольни для вас излишество использовать пины, для меня полное непонимание! у меня пинов тьма (2560) мне вообще не в напряг задействовать ещё 10 или 20 штук. А замена в приоритете потому что за год вот, сменил три датчика. но на pic я даже и не задумывался два провода, два показания. )))
Простите, а что вы с ними делаете? Мне казалось, что для его убийства надо очень расстараться.
Каюсь, похоже обманул. Вроде как можно сделать Skip ROM [CCh], а затем сразу чтение памяти [BEh]. Попробую на досуге.
Дискутировать полезно, частенько узнаешь новое.))))
Можна, можна..
Простите, а что вы с ними делаете? Мне казалось, что для его убийства надо очень расстараться.
Ну если сеть на весь дом, без гальваноразвязки, то все выйдет легко и непринужденно.
Ребят, все проще маслянный котел на выходе стоит Даллас, как говорится про...б.ал насос включить после розжига- 10 минут и труп готов))
Вот и мастырю сейчас автоматику для всего этого ( но даже сильнее в целях обучения) приятное с полезным.
От перегрева далласы мрут? 8o И скоко же там градусов?
а код проверит кто нибудь? интересно рабочий или нет
Делайте сразу медную гильзу с небольшим (10см) выносом датчика в сторону: в результате температуру будет показывать ниже (решается калибровкой), но и датчик не перегреется...
Аварийную автоматику надо делать на биметаллических реле типа KSD9700. NO или NC - в зависимости от логики... Ну и надо помнить, что у них температура срабатывания может быть плюс-минус 10-15 градусов.
А что, надо принципиально обойтись без циклов? :)
ты кажется не понял что хочет человек, он хочет горячую замену датчиков без прописывания адресов
Я - тоже хочу... :)
Просто не допилил механизм привязки индекса к конктерному расположению датчика. В сетапе - запускается поиск устройств и адресами заполняется массив...
да такое можно было бы сделать, но тогда ты точно не знаешь где какой, только нагревом например по отдельности можно определить где какой и настроить в менюшке например что к чему относится, я предлагаю по пину на датчик, но не знаю точно ли так будет работать
а код проверит кто нибудь? интересно рабочий или нет
Жека, извиняй, огород, теплица, крыша на беседке, сушилка для белья ...... И погода самое то, думаю до дождей не доберусь.(((((
понятно. сам бы проверил но нет такого количества датчиков. один даже найти будет тяжело
Может что то не так подключил, но из 78 го поста- код не пошел((
изпользую ramps 1.4 2и 3 пины (два датчика), датчик рабочий, не увидел его, пишет все датчики= 0
или там нужно обязательно все пять цеплять?
епть... голова уже совсем не варит.. забыл 4.7 кОм впаять
ссори, тесты откладываю до утра
Работает! Работает из 78 го поста код!!
меняю между пинами датчик - показывает исправно!!!
Спасибо огромное Добр человек! одна не маловажная проблема решена!
хорошо. значит сохраню себе, вполне возможно тоже понадобится
долгая у тебя ночь была)))
Знатаки!) Подскажите! Я хочу подключить датчиками температуры Ds18b20 к Arduino! http://proumnyjdom.ru/kontrollery/ds18b20-podklyuchenie-k-arduino.html Если еще добавить дисплей это будет здорово! Только как это все лучше срастить? И не пойму почему у меня сейчас сам датчик температуру не точно показывает( погрешность в 2 градуса это норм?
про вранье датчика тоже заметил что он увеличивает температуру на 1,5-2С.
Где то читал, что типа он греется от того что на него постоянно подано напряжение питания.
а я слышал что изза того что постоянно опрашивают без реальной необходимости. и если просто температура измеряется в комнате, не нужно каждую секунду измерять