Главное для любой программы - назначить значение температуры конкретного датчика для конкретной переменной чтобы дальше использовать в программе и здесь мне не совсем понятно или совсем не понятно как это сделать.
@ТатьянаГрибовская-е1ш8 жыл бұрын
Спасибо большое за видео
@RADIOSOFT18 жыл бұрын
+Татьяна Грибовская на здоровье.
@ЕгорМастеров-х3ч2 жыл бұрын
Добрый день Андрей. Вы упомянули в видео о определении переменных в начале цикла, а каким образом это можно сделать? Нет примера для ознакомления?
@RADIOSOFT12 жыл бұрын
Добрый, просто макрос калькуляции где присваиваем нужным переменным начальные значения, либо это можно сделать в их свойствах, но так нагляднее. kzbin.info/www/bejne/p3nXmYyce7-hkLs
@ЕгорМастеров-х3ч2 жыл бұрын
@@RADIOSOFT1 Благодарю за ответ!
@Абду-забор-ж8ы9 жыл бұрын
Только хотел попросить вас сделать обзор с данным датчиком а вы уже сделали!! Спасибо!
@juriuscorp17676 жыл бұрын
Гуру, подскажите почему так долго происходит опрос датчика. Около пол секунды..
@RADIOSOFT16 жыл бұрын
потому что выбрано большое разрешение температуры, время опроса при разном разрешении указано в даташите
@juriuscorp17676 жыл бұрын
RADIOSOFT а это возможно исправить ? Или это неизменный параметр датчика?
@RADIOSOFT16 жыл бұрын
изменить разрешение измерения температуры
@juriuscorp17676 жыл бұрын
RADIOSOFT а как это сделать
@RADIOSOFT16 жыл бұрын
написано в даташите. я не помню
@palianycia3333 жыл бұрын
Главный вопрос не раскрыт - как опросить конкретный датчик и передать это значение для конкретной переменной? КАК?
@RADIOSOFT13 жыл бұрын
Я с этими датчиками не работаю.
@interoad5 жыл бұрын
Приветствую. Хочу поблагодарить за такую колоссальную проделанную просветительную работу! Возник вопрос на основе Вашего видео... Как преобразовывать полученные значения датчика DS18B20 для разных интерфейсов. В ролике Вы как-то очень уж вскользь затронули процесс преобразования и от чего еще больше непонятно стало. )))) Вы говорите, что датчик выдает 16 бит температуры, а по таблице в даташите я вижу всего 10 бит. 6 старших бит второго байта влияют только на знак температуры. (Если я правильно понял конечно). Не могли бы Вы сделать отдельный материал по преобразованию этих значений? Или каким-нибудь другим способом донести эту информацию. Я хочу выводить температуру через регистры 74HC595, но плотно завяз на этом моменте и не знаю как получить осмысленные значения для записи в регистры... /Большое спасибо/
@RADIOSOFT15 жыл бұрын
Спасибо. Ваша задача просто получить реальную темепратуру - число. а куда потом вы его отправите не имеет значение. датчик выдает 16 бит данных, но ЗНАЧАЩИЕ только от 9 до 12 бит, в зависимости от того как настроили какое разрешение нужно. В документации есть таблица где приведены примеры, какие данные в регистрах датчиков каким реальным температурам соответствуют. По этой таблицы и разбираемся. Для измерения отрицательных температур проверяем значение старшего бита, если оно равно единице то инвертируем число полностью и прибавляем 1. полученный результат после соответствующего преобразования будет соответствовать отрицательной температуре. не знаю помог сейчас не помог, короче я бы рекомендовал посмотреть на микросхему LM75 она в 4 раза дешевле, на канале есть видео по ней, может там обьясняется это преобразование, не помню.
@interoad5 жыл бұрын
@@RADIOSOFT1 Спасибо за быстрый ответ. Это все я уже прочитал и уяснил из документации. Мне непонятно как это применить на практике. Ведь мы сразу получаем число не в бинарном виде, а int. Мы под него создаем и переменную соответствующую. Как его инвертировать? "(~ int temp) так можно?" На сайте в хелпе пример; (temp MOD 2)*5... на форуме народ говорит, что это "криво" и надо делать через ABS. И абсолютно ни где не написано как надо.(( А у меня явный провал в бинарной математике.))) На Arduino у меня этот датчик работает как миленький. )) Там подробные хелпы. Во flowcode тоже работает, но как непонятно.)))) Вот и хотелось бы разобраться.))))) Что бы получить сотни градусов: bolean znak = (temp >>15); if znak !=1{ float TMP = temp * 0.0625; } else TMP = ((~ temp)+1)*0.625; Так это работает или это полная ахинея??? ))))))))))))
@RADIOSOFT15 жыл бұрын
@UCNJkNdhSuHl8YYtnEYZupQg я вечно забываю как инвертировать, вроде так. посмотрите видео про макрос для работы с LM75 там есть процедура преобразования
@interoad5 жыл бұрын
@@RADIOSOFT1 Постепенно и до него непременно доберусь. Дело в том, что у меня нет LM75. Зато есть LM35, LM335 и штук 20 DS18B20! и пять аквариумов))))) К которым у меня родилась идея фикс приделать что-то вроде климат-контроля.))))) Вот как само собой разумеющееся решил пустить в дело эти датчики. Но они такие заумные оказались, что я надолго завяз в постижении работы шины 1-Wire и ее заумного алгоритма работы... А поскольку я весьма далек от программирования, то Ваши видео пришлись как нельзя кстати. Благодаря Вашему основательному подходу к подготовке материала все становится простым и доступным. Но в объяснении работы этого проклятущего датчика и у Вас не очень понятно. Понятно, что макрос izmerenie можно выкинуть вообще. Достаточно одной команды GetTemp и все будет работать.))) А вот как?! Фиг знает! )))))) Все равно огромное Вам спасибо за предоставленную информацию!!! ))))
@RADIOSOFT15 жыл бұрын
@@interoad На здоровье. Я сам в них разобрался не полностью. Порекомендовал бы тогда использовать LM35, они простые аналоговые. Сверхвысокая точность для аквариума думаю не нужна и они справятся.
@ГригорийВерба-ш8ю7 жыл бұрын
Вы говорите что используете аналоговые датчики (диоды, резисторы). Но у них нелинейность есть. Есть ли какието способы или готовые библиотеки для точного измерения?
@RADIOSOFT17 жыл бұрын
у меня еще не было необходимости в точном контроле температуры. способ есть - ручная калибровка.
@martindz84577 жыл бұрын
Priver, A kak po povaodu temperaturi nizi "0" s programirovanijem ja ochin slab, uze 2 dnja pitajus panjat i nekak. Spasibo.
@RADIOSOFT17 жыл бұрын
привет. к сожалению не тестировал, и пока на это времени нет. читайте даташит и форум флоукода
@martindz84577 жыл бұрын
spasiba, uze citaju.
@martindz84577 жыл бұрын
Nasholl mesta "UInt" nada ispolzuvat "Int", proteusi rabotajet.
@АлександрАндреев-ъ6х7 жыл бұрын
Андрей, а не найдется ли у Вас лайтовый FC5_AVR_One_Wire.c именно для работы с DS18B20, я всё переделываю на PICи и столкнулся с проблемой нехватки места, немного но не хватает. PIC12F1822 Program memory TOTAL=2048 words. Не влезаю маленько.
@RADIOSOFT17 жыл бұрын
нет, я с 18B20 особо не работал, удалите ненужные функции, например проверку CRC
@АлександрАндреев-ъ6х7 жыл бұрын
буду пробовать
@andrewvladimirovich27468 жыл бұрын
Скажите, а почему файл HEX отдельно идет и работает, в отличие от файла скомпилированного блок -схемой, в видео какой-то косяк?
@RADIOSOFT18 жыл бұрын
не понял. откуда отдельно идущий хекс?
@andrewvladimirovich27468 жыл бұрын
Файлы к видео, если скачать проект в флоукоде и компилировать , то схема в протеусе не работает, а если в протеус загрузить скачанный хекс, то все нормально работает.
@RADIOSOFT18 жыл бұрын
Andrew Markelov нужно исправить компонент one wire. добавил в архиве патчи, установить их в нужное место, или открыть в архиве и в ручную скопировать на место старых с заменой.
@smd65428 жыл бұрын
Очень полезное видео, а можно сделать такое же, только с использованием датчика DHT11(там тоже используется 1 Ware только нет стандартных функций как в DS18b20 :( ) и 7 сегментным индикатором? Заранее благодарен
@RADIOSOFT18 жыл бұрын
+SMD Спасибо. Нет, к сожалению я с этим датчиком не работал, и общение с ним не так просто организовать с помощью флоукода. В ближайшем будущем такого урока не предвидится.
@Максим-р6у1щ2 жыл бұрын
Пробовал тоже самое проделать в flowcode 8, ни в какую. Ни этот способ не работает, ни способ из примера с сайта flowcode. Не пойму что не так. А еще не понятно как в вашем примере будет отображаться отрицательная температура?
@RADIOSOFT12 жыл бұрын
Ничем не могу помочь, я с этими датчиками не работаю.
@ГригорийВерба-ш8ю7 жыл бұрын
Глюк с подключением только к первому пину порта у мега8 или у всех поголовно? Например мега328 также будет?
@RADIOSOFT17 жыл бұрын
у всех будет, это глюк компонента one wire. исправление в архиве.
@user-wi3hz1oi5ck7 жыл бұрын
Здравствует! неработающие программа в железе в протеусе не работает в минус.
@RADIOSOFT17 жыл бұрын
читаем комментарии ниже
@Dmitriy4806 жыл бұрын
Доброго,кто нибудь разобрался с командой Rom а именно с получением 64- битного кода, в дш написано что прочесть можно при помощи команды 33h для цепи с одним датчиком, так мне интересно во flowcode эту команду как отправлять и что самое непонятное куда и как вывести полученное значение
@kirilyordanov78149 жыл бұрын
МОЛОДЕЦ!!!можно ли сделать обзор по работе ADXL345?
@RADIOSOFT19 жыл бұрын
+kiril yordanov спасибо. у меня таких датчиков в наличии нет, валяются модули gy-521 с чипом MPU-6050, но я пока их не осилил. брался когда то и забросил.
@kirilyordanov78149 жыл бұрын
Мне нужен толкъо принцип,работа с регистра и калкулации преобразувания в градусах!PLEASE!
@RADIOSOFT19 жыл бұрын
kiril yordanov ничем не могу помочь. это надо разбираться и пробовать в железе. ищи проекты с его использованием и разбирайся. kzbin.info/www/bejne/fn7Ch51urMqoaqs
@Gozinatorrr8 жыл бұрын
а задать вручную номера датчиков никак? только рандомно?
@RADIOSOFT18 жыл бұрын
да, рандомно, или обращаться к датчику с конкретным адресом
@АлександрЛужецкий-у6г9 жыл бұрын
В какой версии flowcode собиралась прошивка ? Лично у меня выдает в версии 5,5 flowcode и протеус 7,7 выдает показания последнего ромкода.
@RADIOSOFT19 жыл бұрын
+Александр Лужецкий flowcode 5.5.2.1 proteus 7.10
@RADIOSOFT19 жыл бұрын
+Александр Лужецкий ой, забыл. симуляцию я делал в 8.3 версии протеуса, в 7 не проверял.
@АлександрЛужецкий-у6г9 жыл бұрын
+RADIOSOFT Почти разобрался проблема в flowcode 5.5.2.1 или от того что у меня русифицирован или другие настройки компилятора.
@RADIOSOFT19 жыл бұрын
Александр Лужецкий никогда не использую руссификаторы, чего и вам советую. ps: есть темы для новых выпусков?
@АлександрЛужецкий-у6г9 жыл бұрын
+RADIOSOFT Если выводит показания только с одного датчика ds18b20 то в компоненте 1wire нужно поменять цитата с форума в строке %a_oo_DevID[loper] = %a_oo_id[loper+(count<<3)]; DevID и id необходимо менять местами %a_oo_id[loper] = %a_oo_DevID[loper+(count<<3)];  Мне помогло и русик с компилятором оказался не причем. Уроки можно делать про то что пригодится на практике, пока придумать не могу ,сам в ступоре.
@Konoplj20107 жыл бұрын
День добрый. Уважаемый, а не могли бы Вы мне помочь?
@RADIOSOFT17 жыл бұрын
Добрый. мои возможности не безграничны, но если это в моих силах...
@Konoplj20107 жыл бұрын
Вот Вы случайно про HiASM не слышали? Вы на нём не програмируете? Я так понял Вы передаёте замер температуры по 1-Wire интерфейсу на AVR, а затем по UART-у на терминал компютера? А Вы не пробовали подключать данный термодатчик непослерственно к UART-у? Я сделал такую приблудину на одной платке типо USB to UART конвертор на DS18B20. У меня всё работает но со сторонней программой высокого уровня, а мне бы хотелось кусок программного кода который я мог бы импортировать в пою программу выского уровня и выводить данную температуру в эту программу. Вы с этим помочь не можете? Да и ещё у меня есть видео как я делал данную приблудину, Вам это интересно?
@RADIOSOFT17 жыл бұрын
слышал программирую да нет пока с этим помочь не могу, есть много проектов. покажите видео, может окажется легко и тогда сделаю
@ПашаФедькович-к7д6 жыл бұрын
Подскажите atiny13 сможет считать температуру с датчика или не потянет?
@RADIOSOFT16 жыл бұрын
я не помню размер программы который получается при компиляции. если он меньше 1кб то влезет в атиини13
@ПашаФедькович-к7д6 жыл бұрын
+RADIOSOFT Для атмега 13 не хватает памяти в фловкоде. Однако в микро паскаль можно прогу вместить. Вот пример cxem.net/mc/mc283.php Как этот код можно добавить в фловкоде?
@RADIOSOFT16 жыл бұрын
мне этого неизвестно. как вариант использовать аналоговый датчик MCP9700 и просто измерять напряжение с помощью ацп
@ПашаФедькович-к7д6 жыл бұрын
+RADIOSOFT Если использовать АЦП можно и просто терморезистор. В фловкоде есть пункт с лево вставить С код. Как им пользоваться?
@RADIOSOFT16 жыл бұрын
для терморезистора нужно расчитывать перевод напряжения в температуру по относительно сложной формуле, с предложенной микросхемой перевод очень простой. вставить компонент, в него вставить си код...
@ПашаФедькович-к7д5 жыл бұрын
А как сделать что бы он не переназначал датчики по номерам?
@RADIOSOFT15 жыл бұрын
Не знаю, ищите на русскоязычном форуме
@excelentdevicesl50616 жыл бұрын
да но ведь можно у той же атмеги 8 повесить ещё на 0 вывод оставшихся портов - 2 компонента 1wire - и получать информацию с 24 датчиков
@RADIOSOFT16 жыл бұрын
речь об исправлении компонента? дело в удобстве подключения и исправлении неисправности
@ALEX-ne4uv8 жыл бұрын
как поменять разрешение этого датчика на 0,5 что бы опрос был быстрее?
@RADIOSOFT18 жыл бұрын
читать даташит и отправить нужные байты в датчик.
@ALEX-ne4uv8 жыл бұрын
уважаемый автор а какой командой макроса отправить в 4 байт определённое состояние 8 битного регистра , извените может я не доконца понимаю но мне нужно в 4 байт отправить число 31 чтобы разрешение было 0,5 и время опроса будет 93ms
@ALEX-ne4uv8 жыл бұрын
может быть вы мне пришлёте файлик с небольшой программой где есть такие настройки?
@RADIOSOFT18 жыл бұрын
дело в том что я никогда не работал с этим датчиком в железе, и подробно изучать его протокол не было необходимости, разбираться с ним я пока не хочу поэтому чтото конкретное подсказать не могу. хотя возможно сегодня я попробую сделать настройку. если получится сообщу
@RADIOSOFT18 жыл бұрын
cloud.mail.ru/public/GooL/47QRR5DCH настройка когда ОДИН датчик на линии.
@ДимаЕ-ъ7в5 жыл бұрын
Если можно сделай видео по обращению к датчику по его адресу. Делаю автоматику для рк.Oдин датчик овалится и все, остальные слетают .По твоим примера делал програмки для своих устройств и все они работают сразу. На сайте FC добиться что то от форумчан невозможно . Заучат и пофигу им что ты электронщик а не программист.
@RADIOSOFT15 жыл бұрын
Я в то время не смог досканально разобраться с 1wire интерфейсом, поэтому помочь не могу. рекомендую обратить внимание на микросхему LM75A с i2c интерфейсом, в китае стоит меньше 10 рублей.
@ДимаЕ-ъ7в5 жыл бұрын
@@RADIOSOFT1 Ок
@АлександрАндреев-ъ6х7 жыл бұрын
ну и заодно если имеется такой то и DS18B20.fcc
@fima52fima6 жыл бұрын
А минусовую то температуру ваш датчик показывать не будет)
@Абду-забор-ж8ы9 жыл бұрын
можно ли вас попросить сделать обзор по работе с цветным дисплеем с сенсорным управлением например- ru.aliexpress.com/item/2-4-TFT-LCD-Display-Touch-Screen-IC-Module-65K-color-320x240-New/32297725699.html?spm=2114.30010708.3.11.6k470k&ws_ab_test=searchweb201556_9,searchweb201644_5_505_506_503_504_301_502_10001_10002_10016_10017_10010_10005_10011_10006_10012_10003_10004_401_10009_10007_10008,searchweb201560_5,searchweb1451318400_-1,searchweb1451318411_6451&btsid=fcec7f0e-1c7b-48db-a042-83552541c328
@RADIOSOFT19 жыл бұрын
+Александр Рязанцев попросить можно, но делать я не буду. Я с такими дела не имел и интереса для меня он не представляет. рекомендую поискать в сети примеры работы с ним, и на их основе сделать программу в флоукоде. может даже без примеров а чисто по его даташиту получится.