Работа с несколькими DS18B20
|
|
k_valera59 |
Дата: Чт, 06.12.2012, 04:42 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
4
Замечания:
±
На сайте с 27.03.2012
Статус:
Offline
|
Помогите с программной реализацией работы с несколькими датчиками DS18B20. Возникли затруднения с получением ID номеров датчиков, не совсем понятно как это реализуется в PicBasic.
Valera1808
|
|
|
|
Matrix252005 |
Дата: Чт, 06.12.2012, 10:26 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!
k_valera59, я подставляю датчики по одному и считываю их ID при помощи этого:
OWrite DQ, 1, [$33] ORead DQ, 0, [ID1] ORead DQ, 0, [ID1, ID2, ID3, ID4, ID5, ID6, ID7, ID8]
Print At 1, 1, Hex2 ID1, Hex2 ID2, Hex2 ID3, Hex2 ID4, Hex2 ID5, Hex2 ID6, Hex2 ID7
По крайней мере, так работает...
Если Вас интересует, могу скинуть весь демо проект.
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
Matrix252005 |
Дата: Вт, 11.12.2012, 18:28 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!
Скидываю демо-пример работы с несколькими датчиками 18В20. Там проект в проте и исходник... Не знаю как автоматизировать, так что там все в ручную... Вначале подключаете один датчик, считываете его "ID" и записываете в OWrite DQ, 1, [$55, $28, $30, $C5, $B8, $00, $00, $00, $8E, $44]
OWrite DQ, 1, [$55, $28, хх, хх, хх, хх, хх, хх, хх, $44] - где хх "ID" 18В20
Надеюсь поможет, если нет, спрашивайте
З.Ы. Если вдруг не поняли, там нужно разремить первые 5 строк и по очереди подключать датчики...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
Broka |
Дата: Чт, 13.12.2012, 19:50 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Quote (Matrix252005) Скидываю демо-пример работы с несколькими датчиками 18В20.
Спасибо большое..., как раз нужен был проект,где на один порт цеплялись 4 датчика. Всё хорошо работает...! Хочу попробовать сделать так, что бы значение IDE датчика автоматически записывалось в ЕЕПРОМ, ну а в программе потом сравнивались эти значения и делались нужные выводы... Вот только пока не знаю как.
Наладчик КИП и А
|
|
|
|
Matrix252005 |
Дата: Пт, 14.12.2012, 10:18 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!
Broka, вот по этому я и написал, что это - демо пример... Я тоже хотел так реализовать, но у меня не получилось.... И я решил оставить так...
Так что, удачи!!!!
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
xaker-sss |
Дата: Пн, 24.12.2012, 17:16 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Всем доброго, не стал создавать новую тему, все равно похоже. Проблема вот в чем, еще в том году собрал термометр с двумя DS18B20 дом улица, и заметил какую-то ерунду, до -20 вроде нормально показывает, хотя точно утверждать не могу, но если ниже -20 то точно врут, в том году со всеми спорил, а сегодня даже жена сказала чтоб я его выкинул, сегодня ночью у всех было -33, и у меня в машине в том числе, а термометр показывал -25,6, датчик весит в метре от земли, сантиметров 30 от каменной стены, в тени, хотя когда смотрел было еще темно. Может я что с программой начудил, собирал по всем форумам, плохо я в этих расчетах разбираюсь, хотя в протеусе все кажет нормально, если не трудно посмотрите проект.
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
Matrix252005 |
Дата: Пн, 24.12.2012, 17:28 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!
Полностью еще не смотрел прогу, но в проте у Вас на второй датчик стоит рез на 10к!!!!! В железе так же??? На сколько я помню, там рез должен быть не больше 4,7к!!!!
Прогу просмотрю сейчас!
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
xaker-sss |
Дата: Пн, 24.12.2012, 17:34 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Щас разберу гляну. Добавлено (24.12.2012, 17:34) --------------------------------------------- Оба 4,7ком.
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
Matrix252005 |
Дата: Пн, 24.12.2012, 17:43 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Я пользуюсь немного другой формулой:
Dim R_Temp As Word ' RAW Temperature readings Dim Cold_Bit As R_Temp.11 ' Sign-Bit for +/- Temp. 1 = Below 0 deg C Dim Cel As Word Dim Des As Word Dim Cel_ot As Word
If Cold_Bit <> 1 Then Cel = R_Temp / 16 Des = (R_Temp // 16) * 10 / 16 Else Cel_ot = 65535 - R_Temp Cel_ot = Cel_ot + 1 Cel = Cel_ot / 16 Des = ((Cel_ot // 16) + 1) * 10 / 16 EndIf
THE TRUTH IS OUT THERE.
С уважением, Николай.
Сообщение отредактировал
Matrix252005 - Пн, 24.12.2012, 18:00
|
|
|
|
xaker-sss |
Дата: Пн, 24.12.2012, 17:54 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Ничего я в этих знаках не понимаю Cold_Bit <> 1 откуда берется
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
Matrix252005 |
Дата: Пн, 24.12.2012, 17:59 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Dim Cold_Bit As R_Temp.11
Если 11 бит R_Temp <> 1, значит положительное значение, в противном случае отрицательное...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
xaker-sss |
Дата: Пн, 24.12.2012, 18:18 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
С расчетом вроде разобрался, теперь на дисплей не могу вывести, голова дырявая, пол года с LCD не работал, в чем ошибка. Добавлено (24.12.2012, 18:18) --------------------------------------------- Разобрался Dec забыл подставить.
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
Matrix252005 |
Дата: Пн, 24.12.2012, 18:20 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
xaker-sss, Вы забыли добавить один знак "#" в "Print", а точнее вот так: Print At 1, 1, "D ",Sign, #Cel, ".", #Des
Так же и до второй строки.
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
xaker-sss |
Дата: Пн, 24.12.2012, 18:26 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Да работает и так Print At 1, 1, "D ",Sign, #Cel, ".", #Des и так Print At 1, 1, "D ",Sign, Dec Cel, ".", Dec1 Des Сейчас попробую прошить, только не знаю когда проверю, потепление передают. Спасибо за помощь, как похолодает отпишусь.
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
Matrix252005 |
Дата: Пн, 24.12.2012, 18:29 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Цитата (xaker-sss) Спасибо за помощь... Всегда ПЛЗ!!!
Если что, спрашивайте!!!
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|