Вопросы по работе с термометрами DS18B20

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
IPS
Родился
Сообщения: 8
Зарегистрирован: Чт фев 19, 2009 17:14:02
Откуда: г.Черновцы

Сообщение IPS »

Baloo писал(а):А какую команду Вы использовали?

Всё дело в том, что мне нужно иметь возможность подключать разное количество датчиков к устройству и чтобы оно само определяло сколько их и т.д.
Я хочу использовать команду Search ROM (0xF0), но не знаю как... :(
Если кто знает, подскажите. Буду очень признателен!
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

Baloo писал(а):Вот, что выдает CV после компиляции

987 слов, а не байт.
Я хочу использовать команду Search ROM (0xF0), но не знаю как... Sad

Код: Выделить всё

devices=w1_search(0xf0,rom_code);
Я не Сашок!!!
Аватара пользователя
IPS
Родился
Сообщения: 8
Зарегистрирован: Чт фев 19, 2009 17:14:02
Откуда: г.Черновцы

Сообщение IPS »

Код: Выделить всё

devices=w1_search(0xf0,rom_code);
[/quote]
Спасибо, но я не это имел ввиду. К сожалению с англоязычного даташита я толком ничё не понял, что представляет собой алгоритм вычисления количества датчиков и их серийников. Может у кого есть русскоязычная версия?
Аватара пользователя
Pippeytz
Потрогал лапой паяльник
Сообщения: 396
Зарегистрирован: Ср май 28, 2008 19:30:31
Откуда: Донецк
Контактная информация:

Сообщение Pippeytz »

Почитай статью про 1-вайр , там все на пальцах описано
http://radiokot.ru/articles/13/
Полный пипеутз.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

IPS писал(а):

Код: Выделить всё

devices=w1_search(0xf0,rom_code);

Спасибо, но я не это имел ввиду. К сожалению с англоязычного даташита я толком ничё не понял, что представляет собой алгоритм вычисления количества датчиков и их серийников.
а чего там понимать? там исходник программы на Си прилагается - пожалуйста, разбирайтесь или просто скопируйте и пользуйтесь
Последний раз редактировалось ARV Вт мар 17, 2009 12:42:31, всего редактировалось 1 раз.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
shtorm
Нашел транзистор. Понюхал.
Сообщения: 185
Зарегистрирован: Чт янв 22, 2009 14:03:25
Контактная информация:

Сообщение shtorm »

Baloo ds18b20_init(&rom_code[i++][0],20,30,DS18B20_12BIT_RES)
вместо &rom_code[i++] ьщжно поставить число. и это будит номер датчика, допустим если тебе нужно переставить 2-ой датчик на 9 бит то можно написать ds18b20_init(1,20,30,DS18B20_9BIT_RES); если у тебя всего 1 датчик то 0 да и в этом случае нет необходимости искать датчики на линии. вобщем открой файл библиотеки для ds18b20 думаю поймешь что к чему.

IPS devices=w1_search(0xf0,rom_code); при этой ф-ции devices=количеству датчиков. а дальше как написал выше можно переводить на любой режим любой датчик. опрашивать температуру соотвественно temp=ds18b20_temperature(&rom_code[i][0]); где i номер вашего датчика. rom_code - массив где хроняться номера датчиков
rom_code[0][0] -первый
rom_code[1][0] - второй
rom_code[2][0] - третий
...

это мои наблюдения..может гдето не прав, но работает ))
Аватара пользователя
Baloo
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн мар 20, 2006 17:36:38
Откуда: Украина, Луганская обл.

Сообщение Baloo »

shtorm спасибо за подсказку, буду пробовать!
Как отличить перереременное напряжение от постояяяяяянного???
Аватара пользователя
IPS
Родился
Сообщения: 8
Зарегистрирован: Чт фев 19, 2009 17:14:02
Откуда: г.Черновцы

Сообщение IPS »

Спасибо, друзья! Но я наверное не очень правильно объяснил :)
Я не пишу на Си, а только на Ассемблере!!! Поэтому встроенные функции мне не подходят. Меня интересует "голая" теория о методе вычисления. В даташите есть алгоритм, но он не так прост, чтобы не владея английским, понять его описание...[/code][/quote]
Аватара пользователя
IPS
Родился
Сообщения: 8
Зарегистрирован: Чт фев 19, 2009 17:14:02
Откуда: г.Черновцы

Сообщение IPS »

Pippeytz писал(а):Почитай статью про 1-вайр , там все на пальцах описано
http://radiokot.ru/articles/13/

В этой статье ни слова нет о вычислении количества датчиков и их серийников при помощи универсального метода, так как он довольно сложен и требует отдельной статьи!
Аватара пользователя
Baloo
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн мар 20, 2006 17:36:38
Откуда: Украина, Луганская обл.

Сообщение Baloo »

А почему-бы не перейти на Си?
По-моему писать легче! :P
Как отличить перереременное напряжение от постояяяяяянного???
Аватара пользователя
IPS
Родился
Сообщения: 8
Зарегистрирован: Чт фев 19, 2009 17:14:02
Откуда: г.Черновцы

Сообщение IPS »

Baloo писал(а):А почему-бы не перейти на Си?
По-моему писать легче! :P

Писать легче, но привычка - вторая натура :) Я люблю на Ассемблере писать. Оптимальнее кода никогда не получишь на любом другом языке. Да и памяти в ATtiny2313 маловато, чтобы ею разбрасываться.
сергейф
Родился
Сообщения: 6
Зарегистрирован: Пн мар 23, 2009 16:36:14

Сообщение сергейф »

можно ли к одному датчику DS18B20 подклучать 2, 3 устройства?
у меня подключено 2, и работает, но может это чем-то грозит?
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

IPS писал(а):
Pippeytz писал(а):Почитай статью про 1-вайр , там все на пальцах описано
http://radiokot.ru/articles/13/

В этой статье ни слова нет о вычислении количества датчиков и их серийников при помощи универсального метода, так как он довольно сложен и требует отдельной статьи!

Возможно здесь найдете алгоритм определения серийников:
http://ibutton.ru/
p.s. все на "нашенском" :)))
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

сергейф писал(а):можно ли к одному датчику DS18B20 подклучать 2, 3 устройства?
у меня подключено 2, и работает, но может это чем-то грозит?

да хоть тышу, только нельзя превышать нагрузочную способность, а через буфер - нет проблем
Tardos
Родился
Сообщения: 1
Зарегистрирован: Вт мар 31, 2009 12:07:29
Контактная информация:

Сообщение Tardos »

А кто знает как десятые доли вывести на дисплей? Настроил на 12 бит. Чет не получается.
Аватара пользователя
delay
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Чт мар 20, 2008 20:33:43
Контактная информация:

Сообщение delay »

Tardos писал(а):А кто знает как десятые доли вывести на дисплей? Настроил на 12 бит. Чет не получается.

Может это не правильно, я умножил на 10 и отбросил дробную часть. Ну а запятую поставил после 2-го индикатора.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

господи, ну неужели почитать даташит - непосильная задача?! просто надо результат 12-битовый поделить на 16 - и будет вам дробное значение температуры... и с десятыми, и с сотыми...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
delay
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Чт мар 20, 2008 20:33:43
Контактная информация:

Сообщение delay »

А что неправильно в моем решении? Температуру кипящей воды получил 99,9. Свою померил - 36,4
Это если я правильно понял задачу, т.е. вывод на 7-сегментные индикаторы.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

delay писал(а):А что неправильно в моем решении? Температуру кипящей воды получил 99,9. Свою померил - 36,4
Это если я правильно понял задачу, т.е. вывод на 7-сегментные индикаторы.
во-первых, вас устраивает? - значит, щастье пришло!
во-вторых, место вывода (7-сегментник или что-то иное), как мне кажется, решающей роли не играет...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
delay
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Чт мар 20, 2008 20:33:43
Контактная информация:

Сообщение delay »

ARV писал(а):во-вторых, место вывода (7-сегментник или что-то иное), как мне кажется, решающей роли не играет...

А я думал, что на ЖК дисплей можно вывести значение, как есть, а для 7-сегментного нужно выводить цыфры.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»