avr
Цифровая фоторамка на AVR, LS020(siemens S65) и SD карте
Устройство фоторамки выполняет следующие функции:
Микроконтроллер выполняет загрузку данных предварительно записанных на SD карту данных.
После загрузки выполняется вывод картинки на цветной ЖКИ дисплей от мобильного телефона SIEMENS S65. Модель контроллера ЖКИ дисплея LS020.
Устройство инетресно для обучени навыкам работы с внешними устройствами хранения информации, то есть SD картами памяти и ЖКИ дисплеем. Недостатком устройства является диагональ ЖКИ дисплея, она очень маленькая.
GPS приемник на AVR
Дисплей NOKIA 3310 библиотека для микроконтроллера AVR купить
Наконец-то руки дошли до экспериментов c графическим ЖКИ от NOKIA 3310.
Начал поиски дисплея с того, что проверил доски объявлений на предмет продажи старенького но очень распространенного телефона. Как оказалось люди или хотели большие деньги не оправдано большие или просто напросто уже продали телефон. Решил поискать дисплей как запасную часть, и правильно сделал. Купить смог в магазине Имрад (Киев) дисплей от NOKIA 3310 по цене 20,47 грн (2,57 бакса).
Так он выглядел запакованный в полиэтилен:
По наивности я решил что дисплей будет новым, оказалось он был просто снят с нерабочего телефона :-) да и как оказалось это был не единственный "сюрприз".
Типы дисплеев
ЖКИ для NOKIA 3310 судя по информации в инетернете двух типов, как минимум:
1. Родные - они сделаны на базе контроллера Philips PCD8544.
2. Китайские - контроллер до сих пор никто не знает какой.
3. Я лично видел еще один вариант дисплея, на металлической части полностью пустое место с левой стороны, а сам контроллер как оказалось родной. При работе с дисплеем оказалось что все работает хорошо, согласной стандартной таблице команд дисплея на основе контроллера Philips PCD8544.
Распиновка дисплея:
Назначение вывода контроллера дисплея:
Вывод | Сигнал | Описание | Направление данных |
---|---|---|---|
1 | VDD | Питание контроллера дисплея 2,7-3,3 Вольт | вход |
2 | SCLK | Тактирующий вывод для последовательного интерфейса SPI | Вход |
3 | SDIN | Вход данных последовательного интерфейса SPI | Вход |
4 | D/C | Вывод выбора режима ввода данных Данные/Команды | Вход |
5 | SCE | Вывод выбора чипа, разрешение на ввод данных в контроллер дисплея | Вход |
6 | GND | Вывод Минус питания контроллера | Вход |
7 | VOUT | Вывод выходного напряжения контроллера, к нему необходимо подключить кондесатор, минусовым выводом к общему проводнику питания | Выход |
8 | RES | Внешний сброс контроллера | Вход |
Родные дисплеи отличаются тем, что надпись NOKIA непосредственно выбита на металлическом ободке, который крепит дисплей к пластиковому основанию, на котором так же находится клавиатура.
На китайской копии обычно отсутствует надпись NOKIA и место или просто пустое или там находится просто скобка "(" перевернутая на 90 градусов.
Разница в работе дисплеев ощутима, из-за различных контроллеров процесс инициализации дисплеев немного меняется, да и процесс вывода информации на экран тоже. Об этом чуть ниже.
А сейчас расскажу как прикрепить выводы к самому дисплею:
1. Дисплеи бывают в двух вариантах выводов:
а). На дисплее со стороны контактов приклеена двусторонняя платка, на которой находятся металлизированные выводы, к которым теоретически можно подпаяться. После прочтения форумов я все-таки понял что лучше не рисковать, так как в 50% случаев эта платка просто напросто отпадала и люди очень огорчались :-)
Лучше в таком случаи использовать гибкие контакты, которые обычно идут в комплекте.
Для их крепления я применил термоклей, просто прижал пластиковую основу гибких контактов к самому дисплею в месте контактов с одной стороны, закрепил клеем дал остынуть и набраться прочности. И повторил операцию с другой стороны. Это промежуточный этап, клей даст нам возможность не держать пальцами все время гибкие контакты.
Теперь необходимо подпаять короткие проводки, марку провода лучше всего конечно использовать МГТФ диаметр 0,3 мм примерно, но если нету МГТФ можно применить все что есть под рукой главное что бы проводник был мягкий и легко гнулся.
2). Далее на монтажной платке, обычно она с отверстиями с шагом 2,5мм выбираем место расположения дисплея. Так чтобы оставить место для припаивания штыревых контактов, к которым потом собственно и будем подключаться далее. Отрезаем нужного размера платку и плоскогубцами вытаскиваем из штирьевых контактов четыре металлических штыря. Ими мы будем крепить сам дисплей к монтажной плате. Итак, фиксируем наш дисплей на монтажной платке, для замеров толщины дисплея лучше всего применить штанген-циркуль, но если нету, можно и на-глаз. Сначала прикладываем дисплей и определяем на каком расстоянии от конца штыря необходимо выполнить загиб, загиб лучше всего делать минимальным, лишь бы он только хорошо держался за дисплей. Выполняем плоскогубцами загиб на каждом из двух штырей и паяльником запаиваем в нижней части дисплея. Для удержания штырей во врем пайки можно использовать те же плоскогубцы, или просто упереть щтыри в деревяшку.
Теперь необходимо прижать без усердства верхнюю часть дисплея и определить на каком расстоянии от края штыря необходимо сделать загиб для верхней части дисплея. Выполняем загиб и выполняем те же операции что и для штырей в нижней части. В результате контактная площадка туго прижата к гибким контактам, гибкие контакты припаяны к проводникам - все как надо! Теперь осталось запаять планку с штыревыми контактами на монтажную платку и подпаять проводники от гибких контактов. У меня в результате вышло следующее:
б). На дисплее полностью отсутствуют какие-либо металлически контактные площадки. Вместо них на стекле основы дисплея расположены полупрозрачные контактные площадки в виде полосок. Они проводят ток и к ним можно подключиться, только пайка конечно тут не поможет. Для этого необходимо разобрать соединитель типа IDC10 или IDC20, выбрать 8 контактов в виде вилочки. Припаять к этим вилочкам проводники, которые буду соединяться с управляющим устройством или соединителем. И просто напросто одеть эти вилочки на стекло дисплея таким образом, что бы половина вилочки имела контакт с площадкой на стекле дисплея. Все это дело для повышения механической прочности и надежности лучше всего залить тем же термоклеем и дать остыть. Главное все делать аккуратно чтобы не перегреть сам дисплей.
Таблица команд контроллера PCD8544:
Команда | D/C | Байт команды | Описание | |||||||
DB7 | DB6 | DB5 | DB4 | DB3 | DB2 | DB1 | DB0 | |||
(H=0 или 1) | ||||||||||
NOP | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Пустая операция (никак не влияет) |
Функциональные установки | 0 | 0 | 0 | 1 | 0 | 0 | PD | V | H | Управление питанием, режим ввода, ввод расширенных инструкций (H) |
Запись данных | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | Запись байта в ОЗУ дисплея |
(H=0) | ||||||||||
Зарезервирован | 0 | 0 | 0 | 0 | 0 | 0 | 1 | X | X | не используется |
Управление экраном | 0 | 0 | 0 | 0 | 0 | 1 | D | 0 | E | Установка режима экрана |
Зарезервирован | 0 | 0 | 0 | 0 | 1 | X | X | X | X | не используется |
Установка Y-адреса | 0 | 0 | 1 | 0 | 0 | 0 | Y2 | Y1 | Y0 | Установка Y-адреса в ОЗУ (RAM) 0..5 |
Установка X-адреса | 0 | 1 | X6 | X5 | X4 | X3 | X2 | X1 | X0 | Установка X-адреса в ОЗУ (RAM) 0..83 |
(H=1) | ||||||||||
Зарезервирован | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | не используется |
Зарезервирован | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | X | не используется |
Управление температурой | 0 | 0 | 0 | 0 | 0 | 0 | 1 | TC1 | TC0 | Установка температурного коэффициента (TCx) |
Зарезервирован | 0 | 0 | 0 | 0 | 0 | 1 | X | X | X | не используется |
Система смещения | 0 | 0 | 0 | 0 | 1 | 0 | BS2 | BS1 | BS0 | Установка смещения (BSx) |
Зарезервирован | 0 | 0 | 1 | X | X | X | X | X | X | не используется |
Установка Vop | 0 | 1 | Vop6 | Vop5 | Vop4 | Vop3 | Vop2 | Vop1 | Vop1 | Запись Vop в регистр |
Таблица назначения битов
Биты | 0 | 1 |
PD | Чип включен | Чип выключен |
V | Горизонтальная адресация | Вертикальная адресация |
H | Используется основной набор инструкций | Используется расширенный набор инструкций |
D и E | ||
00 | Дисплей пуст | |
01 | Нормальный режим | |
10 | Все сегменты включены | |
11 | Инверсный режим | |
TC1 и TC0 | ||
00 | Vlcd температурный коэффициент 0 | |
01 | Vlcd температурный коэффициент 1 | |
10 | Vlcd температурный коэффициент 2 | |
11 | Vlcd температурный коэффициент 3 |
Что касается библиотеки для этого ЖКИ, она содержит всего четыре файла:
main.c - файл собственно в котором находится основной цикл,
n3310.c - файл с набором функций для работы с контроллером дисплея NOKIA 3310,
n3310.h -файл конфигураций,
picture.h - файл с картинкой, в виде координат точек.
Краткое пояснение по программе:
main.c - содержит демонстрационную программу, которая рисует точки по приходу на USART модуль микроконтроллера цифр 2,4,8,6,5.
Частота кварца для данной программы выбрана 8МГц, скорость подключения по USART соответственно 115,2 k
Цифры соответствуют следующим командам:
2 - перемещение курсора вниз,
8 - перемещение курсора вверх,
4 - перемещение курсора влево,
6 - перемещение курсора вправо,
5 - очистка экрана перемещение курсора в центр экрана.
Все перемещения сопровождаются отрисовкой точки в том месте, куда курсор переместился.
Программа не претендует ни на что, она всего лишь для демонстрации работы библиотеки в режиме отрисовки пикселей.
Библиотка для работы с дисплеем
Данная библиотека это симбиоз нескольких библиотека собранных на просторах интернета и скрученных в одну человеком под ником XANDER. За что ему большое спасибо!
Схема подключения ЖКИ к микроконтроллеру:
Напряжение питания контроллера дисплея по документации 3,3Вольта, это значит что уровень управляющих сигналов от микроконтроллера не должен превышать значение в 3,3Вольта. То есть необходимо выбрать один из двух вариантов:
1. Питать микроконтроллер и дисплей от источника с напряжением 3,3Вольта
2. Ставить регулятор по типу LM7803 или LP2980-3.3 в цепь питания дисплея и осуществлять согласование уровней сигналов.
Последний вариант геморный, но и его часто применяют. Согласование обычно производится при помощи стабилитронов на 3,3Вольта или резисторного делителя.
Видео работы библиотеки:
Для генерирования своих символов можно использовать удобную программу Symbol generate
Для генерирования точечных рисунков и для конвертирования картинок в точечные рисунки можно использовать программу Image generate
Вот такую рисовалку управляемую при помощи четырех кнопок собирал недавно.
Воспроизведение потокового MP3 через Ethernet на AVR
Устройство способно воспроизводить MP3 музыку при подключении к интернету.
Так же доступно воспроизведение музыки, которая лежит на SD карте. Толчком видимо для таких разработок стал интернет-проигрыватель российского производства. Есть и зарубежные аналоги, которые имеют WiFi и могут без проводов подключаться к интернету или любой друго сети и воспроизводить музыку, например лежащую на вашем домашнем сервере. Правда цена таких устройств иногда доходит до 500 баксов.
Система архивирования DVD дисков на AVR
У меня лично около 400 дисков с различными данными, лежат себе в коробке. Когда надо найти что-то определенное бываетп риходится потратить и до получаса времени. Автор устройства предлагает все сделать проще и практичней.
Устройство состоит из механизма передвижения печатной головки принтера, сервопривода и системы управления этим всем (на базе AVR микроконтролллера).
Сортировка и выбор дисков осуществляется на основе системы маркировки ихи по определнным признакам, а если проще, то по жанрам, году выпуска и тд.
Идея как по мне не плохая, но имеет ряд недостатков:
- <<в начало
- ‹ предыдущая
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- …
- дальше >
- в конец >>