Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
28.08.2011, 11:54
|
|
Прописка
Регистрация: 20.01.2007
Адрес: Армения
Сообщений: 127
Сказал спасибо: 1
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Простой регулятор влажности
На этом сайте http://invent-systems.narod.ru/vlajnost.htm есть схема регулятра влажности.
Хочу повтарить, но есть проблема в схеме стоит дисплей с общим катодом а у меня есть только с общим анодом.
Помагите переделать прошивку под мой дисплей, или возможно апаратно это сделать?
Последний раз редактировалось barbuss; 28.08.2011 в 13:14.
|
|
|
|
28.08.2011, 12:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Простой регулятор влажности
Достаточно поправить дефайны начиная отсюда
PHP код:
|
deshif addwf PCL,f ; дешифратор цифр retlw b'01111110' ; "0" retlw b'00001100' ; "1" retlw b'10110110' ; "2" retlw b'10011110' ; "3" retlw b'11001100' ; "4" retlw b'11011010' ; "5" retlw b'11111010' ; "6" retlw b'00001110' ; "7" retlw b'11111110' ; "8" retlw b'11011110' ; "9" retlw b'00000000' ; "10"-"пусто" retlw b'10000000' ; "11"-"минус"
|
и переписать все подпрограммы индикации...
Или поставить инверторы на выходы сегментов и знакомест...
ИМХО, проще купить нужный индикатор...
Последний раз редактировалось omercury; 28.08.2011 в 12:52.
|
|
|
|
28.08.2011, 13:10
|
|
Прописка
Регистрация: 20.01.2007
Адрес: Армения
Сообщений: 127
Сказал спасибо: 1
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Простой регулятор влажности
Сообщение от omercury
|
Достаточно поправить дефайны начиная отсюда
PHP код:
|
deshif addwf PCL,f ; дешифратор цифр
retlw b'01111110' ; "0"
retlw b'00001100' ; "1"
retlw b'10110110' ; "2"
retlw b'10011110' ; "3"
retlw b'11001100' ; "4"
retlw b'11011010' ; "5"
retlw b'11111010' ; "6"
retlw b'00001110' ; "7"
retlw b'11111110' ; "8"
retlw b'11011110' ; "9"
retlw b'00000000' ; "10"-"пусто"
retlw b'10000000' ; "11"-"минус"
|
и переписать все подпрограммы индикации...
Или поставить инверторы на выходы сегментов и знакомест...
ИМХО, проще купить нужный индикатор...
|
Знаю что проще купить, но нигде нету гаварят будте через месяц.
Мне по душе сделать инверторы, потому что в коде я изменил телефон после этого программа перестал работать.Дольго искал причину не понял.
Как поставить инверторы можете в протеусе реализовать у меня не получилось.
Нашел эти, ещо где есть? и как инвертировать?
Код:
|
deshif addwf PCL,f ; дешифратор цифр
retlw b'01111110' ; "0"
retlw b'00001100' ; "1"
retlw b'10110110' ; "2"
retlw b'10011110' ; "3"
retlw b'11001100' ; "4"
retlw b'11011010' ; "5"
retlw b'11111010' ; "6"
retlw b'00001110' ; "7"
retlw b'11111110' ; "8"
retlw b'11011110' ; "9"
retlw b'00000000' ; "10"-"пусто"
retlw b'10000000' ; "11"-"минус"
;************************************************* ************************************************** **********************************************
;************************************************* ************************************************** ****************************************
text_1 addwf PCL,f ; тип устройства (счет строк с 0)
retlw .12 ; количество команд - retlw в подпрограмме
retlw b'01110010' ; "C"
retlw b'11101100' ; "H"
retlw b'10000000' ; "-"
retlw b'10110110' ; 2-2
retlw b'11011010' ; "5"
retlw b'00001100' ; "1"
retlw b'01111110' ; 0-0
retlw b'10000000' ; "-"
retlw b'00001100' ; 1-1
retlw b'00001110' ; "7"
retlw b'01110010' ; c
; .12 ошибки датчика
retlw .12 ; количество команд - retlw в подпрограмме
retlw b'11110010' ; "E"
retlw b'10100000' ; "r"
retlw b'10100000' ; "r"
retlw b'10111000' ; "o"
retlw b'10100000' ; "r"
retlw b'00000000' ; " "
retlw b'10111100' ; "d"
retlw b'11101110' ; "a"
retlw b'11110000' ; "t"
retlw b'10110000' ; "c"
retlw b'11101001' ; "h."
; .24 телефон изготовителя
retlw .13 ; количество команд - retlw в подпрограмме
retlw b'01111110' ; "0"
retlw b'11011110' ; "9"
retlw b'11001100' ; "4"
retlw b'10000000' ; "-"
retlw b'11111110' ; "8"
retlw b'01111110' ; "0"
retlw b'10000000' ; "-"
retlw b'11001100' ; "4"
retlw b'01111110' ; "0"
retlw b'10000000' ; "-"
retlw b'01111110' ; "0"
retlw b'10011110' ; "3"
retlw b'10000000' ; "-"
retlw b'10000000' ; "-"
retlw b'10000000' ; "-"
; .40 авария данных
retlw .10 ; количество команд - retlw в подпрограмме
retlw b'00000000' ; " "
retlw b'11110010' ; "E"
retlw b'10100000' ; "r"
retlw b'10100001' ; "r."
retlw b'00000000' ; " "
retlw b'10111100' ; "d"
retlw b'11101110' ; "A"
retlw b'11110000' ; "t"
retlw b'11101110' ; "a"
; .50 регулятор отключен
retlw .4 ; количество команд - retlw в подпрограмме
retlw b'10111000' ; "o"
retlw b'11100010' ; "F"
retlw b'11100010' ; "F"
; .54 регулятор включен
retlw .3 ; количество команд - retlw в подпрограмме
retlw b'10111000' ; "o"
retlw b'10101000' ; "n"
; .57 холодно
retlw .4 ; количество команд - retlw в подпрограмме
retlw b'10000000' ; "-"
retlw b'10111000' ; "o"
retlw b'10000000' ; "-"
; .61 горячо
retlw .4 ; количество команд - retlw в подпрограмме
retlw b'10000000' ; "-"
retlw b'01111100' ; "U"
retlw b'10000000' ; "-"
; .65 уст
retlw .4 ; количество символов +1
retlw b'11011100' ; "У"
retlw b'01110010' ; "С"
retlw b'11110000' ; "t"
; .69 tuc
retlw .4 ; количество символов +1
retlw b'11101100' ; "H"
retlw b'00111000' ; "u"
retlw b'10110000' ; "c"
; .73 qic
retlw .4 ; количество символов +1
retlw b'11001110' ; "q"
retlw b'00001000' ; "i"
retlw b'10110000' ; "c"
; .77 dot
retlw .4 ; количество символов +1
retlw b'11100010' ; "F"
retlw b'00111000' ; "u"
retlw b'10101000' ; "n"
; .81 Uu1 ---
retlw .4 ; количество символов +1
retlw b'01111100' ; "U"
retlw b'10110000' ; "с"
retlw b'00001100' ; "1"
; .85 Tel
retlw .4 ; количество символов +1
retlw b'11110000' ; "t"
retlw b'11110010' ; "E"
retlw b'01110000' ; "L"
; .89 Вкл/Выкл
retlw .4 ; количество символов +1
retlw b'10100000' ; "r"
retlw b'11110010' ; "E"
retlw b'11001110' ; "q"
; .93 Uu2 ---
retlw .4 ; количество команд - retlw в подпрограмме
retlw b'01111100' ; "U"
retlw b'10110000' ; "с"
retlw b'10110110' ; "2"
; .97 Uu2 ---
retlw .4 ; количество команд - retlw в подпрограмме
retlw b'01111100' ; "U"
retlw b'10110000' ; "с"
retlw b'10011110' ; "3" |
Нашел две программы подскажите можно использовать?
|
|
|
|
28.08.2011, 13:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Простой регулятор влажности
Сообщение от barbuss
|
Нашел эти, ещо где есть? и как инвертировать?
|
PHP код:
|
Вместо
retlw b'01111110' ; "0"
должно получиться
retlw b'10000001' ; "0"
и так далее
|
Но в этом случае надо переписывать полпрограммы - там вывод точек и знакомест сделан везде свой.
Проще сделать инвертеры. В Вашем случае можно поставить транзисторы, лучше "цифровые" - у них резисторы уже внутри есть. 8 шт. NPN(на сегменты) и 3 шт. PNP(на знакоместа).
влажность.zip
|
|
|
|
28.08.2011, 14:07
|
|
Прописка
Регистрация: 20.01.2007
Адрес: Армения
Сообщений: 127
Сказал спасибо: 1
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Простой регулятор влажности
Сообщение от omercury
|
[PHP]
Проще сделать инвертеры. В Вашем случае можно поставить транзисторы, лучше "цифровые" - у них резисторы уже внутри есть. 8 шт. NPN(на сегменты) и 3 шт. PNP(на знакоместа).
|
В прикрепленном файле протеуса я это уже сделал на ULN2803 и трех ключах(транзисторах), в симуляции видно что ничего не работает. Может взять аналоговый инвертор?
Посматри пожалуйста может что то не правильно делаю?
|
|
|
|
28.08.2011, 14:16
|
|
Прописка
Регистрация: 20.01.2007
Адрес: Армения
Сообщений: 127
Сказал спасибо: 1
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Простой регулятор влажности
Вот что получилось на цифром инверетере, осталось найти подхадящую микросхему.
|
|
|
|
28.08.2011, 15:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Простой регулятор влажности
По схеме, вроде, всё нормально.
У меня симулируется.
К последней схеме прикрути CH-2510-17.HEX
|
|
|
|
28.08.2011, 15:21
|
|
Прописка
Регистрация: 20.01.2007
Адрес: Армения
Сообщений: 127
Сказал спасибо: 1
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Простой регулятор влажности
Сообщение от omercury
|
По схеме, вроде, всё нормально.
У меня симулируется.
К последней схеме прикрути CH-2510-17.HEX
|
Все у меня тоже заработал, а какую применить микросхему инвертер, в смисле из серии 74хх или 40хх.
ULN2803 не заработал.
|
|
|
|
28.08.2011, 16:35
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Простой регулятор влажности
Сообщение от barbuss
|
ULN2803 не заработал.
|
Странно. Должна.
|
|
|
|
29.08.2011, 01:21
|
|
Прописка
Регистрация: 08.10.2009
Сообщений: 101
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
|
Re: Простой регулятор влажности
Не изменяя схему на прямую не получить использовать другой индикатор .
Посмотрите на кнопки .
И вообще так кнопки не правильно ставить .
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:35.
|
|