Автор |
Сообщение |
|
Дата: 15 Дек 2007 20:15:01
#
Наступившие холода и прибавившееся свободное время направили ход мыслей на создание "чего-то эдакого", с помощью которого можно контролировать температуру воздуха. Причём как "на борту" так и "за бортом". После поисков по бескрайним просторам И-нета подходящих схемных решений, натолкнулся на интересные статьи, ссылочками которых хочу поделиться с паяющей публикой "Радиосканнера". Итак:
1) Цифровой термометр из дисплея от Nokia 3310 (PIC12F629) - http://modding.ru/view.php?cat=articles&item=nokialcd
2) Цифровой термометр из дисплея от Nokia 3310 (ATmega8) - http://modding.ru/view.php?cat=articles&item=temp_nokia3310 |
|
Дата: 15 Дек 2007 23:33:29
#
Кольт
Спасибо, очень интересно. Жалко, исходников нет.
|
Реклама Google
|
|
|
Дата: 16 Дек 2007 00:14:09
#
|
|
Дата: 16 Дек 2007 23:50:29
#
|
|
Дата: 17 Дек 2007 00:31:23
#
Стоит у меня на балконе китайский цифровой термометр уже года 3-4, батарейку не менял, до -30 выдержал только ЖКИ при этом медленно обновляется.
|
|
Дата: 20 Май 2008 09:46:04
#
Разобрал прошивку термометра на PIC12F629 и LCD Nokia 3310.
Могу написать все что хотите
|
|
Дата: 20 Май 2008 19:53:18
#
Выложи плиз прошивку для пика! Или напиши вместо DS18B20... Monk
|
|
Дата: 20 Май 2008 23:33:42
#
А кто знает где взять описание контроллера/команд дисплея 3310, я так понимаю там SPI интерфейс?
ЗЫ. Как-то в инете видел красивый анимированный термометр на дисплее от 3510i, вот интересно какой же там интерфейс/контроллер?
|
|
Дата: 20 Май 2008 23:47:50
#
у меня где то валяеця описалово, есть исходники для виз бейсика под лпт
пишите induke705 mail.ru
|
|
Дата: 20 Май 2008 23:51:10
#
Давно собирался рассказать об "удобном во всех отношениях средстве отображения информации", т.е. о LCD дисплее от Nokia3410. Это графический чёрно-белый ЖК дисплей, с разрешением 96х65 точек, имеет последовательный интерфейс SPI с максимальной скоростью обмена 4 мбит/с. Напряжение питания +2.7в...+3.6в, потребляемый ток меньше миллиампера. Есть возможность программного перевода в режим низкого энергопотребления (отключение).
Непосредственно на стекле экрана находится управляющий контроллер. В сотовом телефоне экран помещается в пластмассовую рамку:
Рамка не является обязательным элементом конструкции, экран работает и без неё :). Однако приобретать стекло без рамки крайне не советую - не сможете подсоединится! Дело в том, что планка с контактами, о которых пойдёт речь ниже, крепится к стеклу именно рамкой. Ещё один плюс - пластмассу рамки можно использовать для крепления дисплея, например просверлив где удобно соответсвующие отверстия. Всё лишнее, естественно, надо будер обрезать, например так:
На втором рисунке видна планка с контактами, красной точкой отмечен первый вывод. Чуть левее красной точки находится пластмассовый штырёк, который в телефоне используется для позиционирования разъёма. Для подсоединения проводов к контактам надо постараться сделать (найти) разъём, но в крайнем случае можно припаять проводки прямо к контактам. При этом нужно быть крайне осторожным дабы не перегреть контакты и не испортить стекло.
Интерфейс
Для управления экраном требуется 5 линий. Обозначения выводов приведены в таблице:
Вывод Название Функция
1 VDD Питание +2.7...+3.3В
2 SCLK Синхронизация
3 SDIN Данные
4 D/C Режим: данные(HIGH)/команда(LOW)
5 SCE Выбор кристалла (LOW)
6 GND Земля
7 VOUT Внутреннее напряжение
8 RES Сброс (LOW)
Между выводом 7 VOUT и землёй дожен быть подключен конденсатор ёмкостью 1..10 мкФ(керамика или электролит) - фильтр для внутреннего источника питания LCD. Сразу после подачи питания экран необходимо сбросить, подав на вывод RES "0". Это нужно сделать обязательно, иначе можно повредить контроллер!
После сброса (перевод RES "0"->"1") контроллер готов к записи. Чтение из контроллера не предусмотрено. Применяется стандартный SPI протокол: на вывод SCE подаётся активный низкий уровень, и по линии SDIN вводятся биты данных. Защёлкивание бита осуществляется по переднему фронту SCLK, сдвиг по заднему, данные передаются старшим битом вперёд (MSB). Если во время передачи последнего бита из восьми на выводе D/C логическая "1", то запись производится в память данных, иначе в управляющие регистры.
Дисплей и память данных
В контроллере реализована матрица памяти 102x??? бит (так и не сосчитал), но на экран выводится только 96х65 точек. Всё поле экрана поделено по вертикали на 8 строк по 8 пикселей каждая (всего 64 точки) плюс девятая строка, которой оставлен только 1 пиксель.
Каждому столбцу (Xi) данной строки (Yj) соответствует 1 байт памяти, причем верхнему пикселю соответствует нулевой бит (LSB). Выбрав номер строки и столбца (см.ниже), передаём байт в память данных, и он отображается на экране столбиком 8х1. После записи байта автоматически увеличивается на единицу указатель адреса столбца или (строки), в зависимости от настройки (Function Set, бит H). Если снова отослать байт в память данных, то он отобразится в той-же строке (том-же столбце) но со сдвигом на 1 пиксель вправо (8 пикселей вниз). Если при записи достигнут конец строки y=yi; x=101 то происходит переход на следующую строчку y=yi+1; x=0. Аналогичное правило работает и для столбцов.
Чтобы быть уверенным, что запись произойдёт в нужную область экрана, вышеуказанный автоматический перевод строк (столбцов) лучше не применять, а следить за позицией программно. В частности, это позволит писать программы, быстро перекомпилируемые для Nokia3310, у которого только 84х48 точек.
Регистры
Для задания режима работы служат несколько управляющих регистров. Запись в них происходит при "0" на выводе D/C.
Команда D/C Байт (D7...D0) Описание
Write Data 1 dddd dddd запись данных в память дисплея
Function set 0 0010 0PVH управление питанием, способ ввода, выбор расширенных инструкций
Первая команда - просто передача байта в память экрана, dddd dddd - просто байт данных. Команда Function Set изменяет 3 управляющих бита контроллера:
• P - PowerDown; P=1 - кристалл включен; P=0 - кристалл в режиме низкого эн.потребления
• V - адресация; V=1 - после записи байта увеличивается указатель адреса строк; V=0 - столбцов
• Н - набор инструкций; H=0 - обычный; H=1 - расширенный
Набор инструкций для H=0:
Команда D/C Байт (D7...D0) Описание
Display Control 0 0000 1D0E режимы отображения
Set Y 0 0100 0YYY установить адрес строки
Set X 0 1XXX XXXX установить адрес столбца
Команда Display Control включает следующие режимы отображения:
• D=0, E=0 - дисплей пустой
• D=1, E=0 - обычный режим ("0" - светлая точка, "1"-тёмная)
• D=0, E=1 - все элементы включены
• D=1, E=1 - режим инверсии ("1" - светлая точка, "0"-тёмная)
Набор инструкций для H=1:
Команда D/C Байт (D7...D0) Описание
Temperature Control 0 0000 01TT установить температурный коэффициент
Bias System 0 0001 0BBB выбрать систему питания
Set Vop 0 1VVV VVVV включить напряжение питания дисплея
Значение и аргументы команд с H=1 объяснять долго и сложно, поэтому предлагаю воспользоваться чисто дилетанским приёмом. Ставьте: TT=00, BBB=011, VVVVVVV=100 1000, и всё будет! Тем, кто с таким подходом не согласен - читайте даташиты.
Не приведённые выше коды команд являются резервированными и их использование недопустимо.
Инициализация
Следующий код на псевдо-С показывает алгоритм инициализации дисплея:
bit_dc=0;
bit_cs=1;
bit_reset=0; // сброс
delay(500); // в микросекундах
bit_reset=1;
delay(500);
bit_cs=0;
bit_dc=0; // запись в регистры
Send_SPI(0x21); // включить питание, расшир. команды
Send_SPI(0x13); // bias=3
Send_SPI(0xC8); // включить внутренний источник, Vop=0x48;
Send_SPI(0x20); // обычный набор инструкций
Send_SPI(0x0c); // нормальный режим отображения D=1 E=0
bit_cs=1;
/* После сброса X=0 и Y=0, а в памяти - случайный мусор */
bit_cs=0;
bit_dc=1; // запись в память экрана
for(i=0;i<909;i++) Send_SPI(0); // Очиска от случайного мусора.
bit_cs=1;
// далее следует выбрать X и Y и можно начинать рисование ...
Заключение
Даташит на экран я так и не нашёл, но есть документация на кристалл PCD8544, который стоит в экранах от 3310. Разница в числе точек, и, вероятно, в расширенных командах, но в целом интерфейс очень похож. Если кто найдёт даташит к "родному" для 3410 кристаллу - прошу писать мне.
|
|
Дата: 20 Май 2008 23:53:01
#
|
|
Дата: 20 Май 2008 23:54:27
#
вопщем есть целая папка со всякими описаловами под разные экранчики от эриков моторол и прочих.
когда то я перлся по этому делу а щас работа поедает все время, мать ее.........а так охота засесть за асемблер и бейсик на недельку, а потом за пикад.............
|
|
Дата: 20 Май 2008 23:57:03
#
ну вот по того что я выложил для нокии ( а как выяснилось все простые чб экраны там с одним чипом) мне вполне хватило для управления экраном
где то у меня есть даже для крутых цветных экранов описание..........
|
|
Дата: 21 Май 2008 00:02:29
#
|
|
Дата: 21 Май 2008 00:05:19
#
mc3372
где то у меня есть даже для крутых цветных экранов описание.....
а вот с этого места попрошу поподробнее...
|
|
Дата: 21 Май 2008 00:08:51
#
mc3372
а за описание отдельное спасибо!
|
|
Дата: 21 Май 2008 06:36:32
#
|
|
Дата: 21 Май 2008 10:14:07
#
где то у меня есть даже для крутых цветных экранов описание.....
а вот с этого места попрошу поподробнее...
не - ща глянул - не осталось инфы по цветным. помню только что там интересно цвет получается - всего 16 бит причем два цвета берут по 5 бит а третий 6 бит.
я помню в инете сутками рылся по этой теме, сайты есть именно по управлению цветными. так что щас я думаю не сложно буит найти инфу по цветным.
|
|
Дата: 02 Июн 2008 01:51:45
#
А просветите, реально управлять с PIC например какими-нибудь TFT, ну в комп например вмонтировать маленький (ну побольше чем от телефона, где-нибудь 320x200 например). Или там уже скорость такая нужна, что требуется специализированный графический процессор? Есть что-нибудь почитать по теме? (поиск находит в основном 16x2 LCD -> LPT порт, что в общем не актуально, так как я сам пики уже програмлю, хочется независимое что-то, с управленим по UART)
|
|
Дата: 02 Июн 2008 04:20:46
#
Монитором не знаю, а вот вывод на ТВ можно делать. Мега8 уже справляется. Где то в закромах моих была такая конструкция.
|
|
Дата: 02 Июн 2008 04:21:22
#
Монитором не знаю, а вот вывод на ТВ можно делать. Мега8 уже справляется. Где то в закромах моих была такая конструкция.
|
|
Дата: 02 Июн 2008 10:34:40
#
Да какая Мега? Телевизорами чуть-ли не Тиньки легко рулят.
По крайней мере на АТ90S1200 точно девайсы видел.
|
|
Дата: 07 Янв 2009 23:38:34
#
у кого есть комманды инициализации новых lcd 3310?
|
|
Дата: 04 Фев 2010 11:22:08
#
VadimPa
Применил прошивку такую, как у тебя на фото.
Но при проверке всей конструкции идёт глюк:
положительные темп.нормально, доходит до отрицательных 0 и -01,0 и тд. перестаёт отражаться темп. в мин(00,0), а в верхней строчке начинает показывать к прим. -01,0(гСС г-кружочек градус, перед г половинка буквы С и две СС, после перехода в положит.темп. мин остаётся в 00,0 и не реагирует, а в верхней строчке +15,5эгС э-половинка градуса развёрнутая буквой Э там где и градус.
Два МК PIC12F629 по новой перепрошивал - не помогло, результат тот-же и столкнулся с тем, что не могу удлинить DS18B20, на плате работает на проводах нет.
Сам не силён в программировании, если знаеш кто писал прогу задай ему эти вопросы, или может я какието нюансы пропустил пи программировании МК.
Спасибо за ответ.
|
|
Дата: 04 Фев 2010 15:58:11 · Поправил: CO2040 (04 Фев 2010 15:58:37)
#
есть у меня такая вещь как ds 1620 в совершенно диком количестве - какие-то тысячи штук. По сути это и термометр и программируемый термостат, там есть соотв. выходы компараторов. продавать как неликвид не хочу, вот и думаю какое-нибудь полезное в быту устройство на его основе создать.
Внутренности этой микросхемы в плане температурного сенсора - совсем иного качественного порядка чем то что ставится в ширпотребовских китайских термометрах. Инерция термодатчика и его точность довольно хорошие.
Что касается дисплея от мобильного. Всё же это конструкция без будущего получается. Пройдет ещё 3 года и о том что был такой дисплей все забудут, найти его можно будет только на свалке после её глубокой разработки экскаватором. Так что я всегда опасался применять у себя в конструкциях подобные вещи, закладывал что-то универсальное типа MT16S1.
|
|
Дата: 04 Фев 2010 17:39:05
#
Давно хотел сделать себе метеостанцию, даже прошивку в Протеусе написал и отладил, но когда стал прикидывать все что нужно, получилось что девайс по цене выйдет дороже покупной станции Oregon Scientific с примерно такими же характеристиками. Не говоря уже о беспроводных радиомодулях :)
В итоге так и забил на это дело, дальше макетной платы дело не ушло...
|
|
Дата: 08 Фев 2010 22:02:55
#
|
|
Дата: 09 Фев 2010 07:10:34
#
Почему опять PIC12F629 ? Нашол только в одной фирме где могут высылать почтой! По-ходу этот ацтой уже и не выпускается. Неужели нет современных дип-8 процов?
|
|
Дата: 10 Фев 2010 21:58:19
#
ети пики есть в картриджах на лазерный принтер - чипзаменитель
|
|
Дата: 10 Фев 2010 23:11:08
#
|
Реклама Google |
|