Как обьеденить DS18B20 с TM1637 ?
- Войдите на сайт для отправки комментариев
Пт, 23/10/2015 - 19:48
Уважаемые форумчане подскажите пожалуйста как обьеденить DS18B20 c TM1637 т.е. как сделать чтобы на дисплее отображалась температура с датчика ? Заранее спасибо! (поиск в просторах особых результатов не дал):)
без ардуины?
Извиняюсь с UNO R3
У меня получилось измерить положительную температуру но при замере в холодильнике :) дисплей не отображает отрицательной. Как поправить?
Попробуйте инициировать Temp как float.
я бы разбил число на цифры и выводил по цифре. так и "-" можно выводить
Мне подсказали что в этой библиотеке просто нет знака минус
А термометр сделать хочется как быть?
Можно поподробнее?
Мне подсказали что в этой библиотеке просто нет знака минус
Вы имеете в виду библиотеку дисплея? Очень сомневаюсь. А OneWire минус не требуется. У вас с преобразованием типов проблема.
Мне подсказали что в этой библиотеке просто нет знака минус
Вы имеете в виду библиотеку дисплея? Очень сомневаюсь. А OneWire минус не требуется. У вас с преобразованием типов проблема.
Библиотека дисплея имеет только числа 0-9 и символы A,b,C,d,E,F. Пробовал копнуть в самой библиотеке - увы мало знаний в с++.
Это семисегментник что ли?
Это семисегментник что ли?
Да.Он самый
Тогда действительно, только библиотеку рыть или свой ногодрыг писать((((
так можно взять другую библиотеку (у меня их 2- TM1637Display.h TM1637.h )
в библиотеке можно поменять стороки как надо:
в библиотеке можно поменять стороки как надо:
0b01000000 // - пробывал та же песня!
Не в минусе дело а в том что библиотека не понимает отрицательных чисел! Я правильно понимаю ?
Вам тогда надо, как Жека советовал, выводить по одному разряду.
я бы разбил число на цифры и выводил по цифре. так и "-" можно выводить
Можно поподробнее?
Я извиняюсь но что такое
в си есть два вида деления. / это после деления остается часть до запятой, % после запятой. своими словами так. как правильно звучик не помню. но с помощью этих делений можно разделить на цифры как во 2 коде разделяется число на 4 цифры, 48 + не обращай внимание , это для кодировки в коде откуда взят этот кусок
в си есть два вида деления. / это после деления остается часть до запятой, % после запятой. своими словами так. как правильно звучик не помню. но с помощью этих делений можно разделить на цифры как во 2 коде разделяется число на 4 цифры, 48 + не обращай внимание , это для кодировки в коде откуда взят этот кусок
Вот так?
вместо char byte лучше использовать. во вторых забыл делить на 10 как в 2-4-6 строках. да и вывод неправильный вроде на дисплей
вместо char byte лучше использовать. во вторых забыл делить на 10 как в 2-4-6 строках. да и вывод неправильный вроде на дисплей
Подскажите пожалуйста как надо а то у меня сейчас взрыв мозга будет!
в коде ты разделил число из 4 цифр на 4 отдельные цифры. их выводи по одной. эти цифры хранятся в с1 с2 с3 с4
например 1237. ты разделил в с1=1, с2=2, с3=3, с4=7
это пример. у тебя в индикаторе 4 цифры. и тут 3 варианта. 1 цифра на индикаторе это знак, остальные 3 это температура. если температура не будет превывать 99.9 градусов то можно выводит с десятыми, если больше то 2 вариарт. без десятых от 0 до 125 без десятых, или до 99,9 с десятыми а после без десятых. 3 вариант.... короче как угодно можно комбинировать
в коде ты разделил число из 4 цифр на 4 отдельные цифры. их выводи по одной. эти цифры хранятся в с1 с2 с3 с4
например 1237. ты разделил в с1=1, с2=2, с3=3, с4=7
это пример. у тебя в индикаторе 4 цифры. и тут 3 варианта. 1 цифра на индикаторе это знак, остальные 3 это температура. если температура не будет превывать 99.9 градусов то можно выводит с десятыми, если больше то 2 вариарт. без десятых от 0 до 125 без десятых, или до 99,9 с десятыми а после без десятых. 3 вариант.... короче как угодно можно комбинировать
Вышел из положения так . Вашим методом не получается . Сейчас дисплей показывает и при минусовой температуре цифры но как воткнуть - так и не додумался!
Пишу со смарта - простите.
Библиотека tm1637.h
Вывод символа-… dysplay(0,15);
0-номер ячейки
15 - выводимый символ
В библиотеке поменять 0x71 на что надо(0х01 пример)
71 спомощю калькулятора из hex перевести в bin
40- это минус
А можно поподробнее и в коде ?
hex 0х71 - bin 1110001 ------ "F"
"-" bin 1000000 - hex 40 (0x40)
Я не понимаю в этой библиотеке и так есть минус вот кусок кода из неё?
Ну да. У меня другая версия библиотеки - без "-" и " "
В вашей версии нужно писать 16 в качестве параметра, вместо моих 15
Вот так?
Да. Только я не знаю, что делает вторая строка. Я начинающий.
Мучаю такой-же дисплейчик.
Как оказалось, код в библиотеке даже менять не надо, достаточно дописать свои ячейки.
две нижние строки дописал.
добрый день, сегодня стал обладателем arduino uno r3, решил подключить DS18S20 c TM1637, взял скетч из начала темы, почему то не работает, на экране отображается E . может дело в том что датчик с маркировкой S ? где то нужно править код?
p.s. с порта нет данных, если использовать скетч из темы, пробовал скетчи от датчика и дисплея по отднльности, работает.
методом тыка, обнаружил если поменять Temp = Temp>>8; на Temp = Temp>>1; показания есть но они вправой части.
как перенести их влево? что бы отображалось к примеру 25.5
Всем добрый день!
Прочёл тему ивозник вопрос, по поводу DHT 22 (AM2302) датчика Нигде нет упаминания об активации DHT.h библиатек
Я хотел бы реаизовать 2 варианта отображения дисплеем
1. Отображение температуры и влажности поочерёдно по 2 секунды
2. отображение температуры и влажности одновременно через дваиточие целыми числами без десятичных
Проблему отображения знака минус для себя решил так:
Проблему отображения знака минус для себя решил так:
А можно скетч полностью?
Собирал часы в машину с отображением температуры.
Многие части кода были позаимствованы у других людей.
Возможно есть ошибки, сильно не пинайте я новичек. Часы работают второй месяц, глюков не наблюдаю.
Я извиняюсь а не могли бы скинуть библиотеки из вашего скетча(например DI.h вообще немогу найти))
Библиотека DigitalTube и XDron.
В библиотеке DigitalTube добавлял символы.
https://yadi.sk/d/f4E9EW6mw9ndz
А показания темперетуры с чего снимал? Какой датчик?
Я DHT 22 с дисплеем ни как не могу подружить.
Чтобы включить отображение температуры на 9-м пине кнопка Mode1 (переключение между часами и температурой).
Тестировал в морозилке холодильника :)
Датчик DS18B20
Я когда эксперементировал со скетчем тоже 22-й использовать пытался, всё работало. Только на тот момент ещё не догнал как знак минус нарисовать, поэтому скетч не сохранился.
Для DHT-22 попробуйте этот скетч, правда проверить не на чем. Датчик так-же к 11 пину.
Вот нашол то что нужно https://brainy-bits.com/tutorials/4-bits-7-segment-led-display-with-arduino/ но при компиляции выдаёт ошибку в 34 строке DHT.read11(dht_pin); Подскажите пожалуйста как исправить