Как подключить экран от телефона к ардуино

Содержание

Приветствую вас, уважаемые товарищи радиолюбители. Хочу представить вашему вниманию вариант показометра на цветном дисплее от мобильного телефона Siemens AX75. Хватит заморачиваться с монохромными дисплеями. Добавим мало красок в нашу не легкую жизнь!

Схема подключения цветного экрана от телефона

Распределение дисплея 128 на 128 пикселей. В принципе не важно с какого телефона дисплей, а какой контроллер в нем стоит. Мной был использован экземпляр с контроллером LPH9135. Шина у него последовательная, а значит он довольно медленный. Но для нашего проекта в самый раз. Внешний вид и цоколевку дисплея смотрите на фото.

Так же была разработана и испытана плата для устройства. Точнее это немного подправленная печатка из предыдущего варианта. Теперь переменные резисторы находятся сверху. На мой взгляд это намного упростит регулировку показаний прямо в корпусе используемого прибора. С органов управления осталось все по прежнему. Правда теперь нет переключения между меню. Переменным резистором устанавливаем нужный ток прямо на ходу. После срабатывания защиты, реле отключится. Включить его можно только нажатием на кнопку. Так же кнопкой можно просто включать и отключать реле.

На счет датчика температуры. Если датчик будет отключен, то ШИМ будет включен на 100%. При подключенном – обороты кулера будут меняться в зависимости от температуры. При температуре ниже 40 градусов цифры на дисплее будут синие, если больше 40 градусов – надпись будет красной.

Полевые транзисторы для коммутации реле и кулера нужно применять с буквой L. Им не нужно большого напряжения для открытия. Хочу сказать пару слов по поводу ОУ. Применял LM358, но желательно ставить rail-to-rail. Испробованные экземпляры MCP6002 работали неадекватно, хотя именно они там должны чувствовать себя наилучше. Наверно купил какие-то перемаркированные. Смотрите не ошибитесь, как я.

Подсветка питается напряжением от 9 до 12 вольт. Резистор подбираем в зависимости от требуемой яркости. У себя поставил 680 ом. Смотрите не переусердствуйте, а то сгорит.

Здесь межете скачать прошивку контроллера. В будущем хочу еще добавить пару цветовых схем, чтоб каждый пользователь мог подобрать для себя наилучший вариант отображения информации на дисплее. Так что следите за форумом. Как только появится желание сделать, когда еще и сделаю, то выложу там. Спасибо всем за внимание. С вами был Бухарь.

Обсудить статью ПОДКЛЮЧЕНИЕ ЦВЕТНОГО ДИСПЛЕЯ ОТ ТЕЛЕФОНА

Теория и практика передачи энергии на расстояние с помощью высоковольтных генераторов.

УСИЛИТЕЛЬ В МАШИНУ

Высококачественный автомобильный усилительный комплекс для меломанов и любителей звука погромче.

АККУМУЛЯТОРНЫЙ СВЕТОДИОДНЫЙ

Изготовление хорошего светодиодного фонаря из подручных материалов с подробным описанием и фотографиями.

ЧАСЫ ИЗ ВИДЕОМАГНИТОФОНА

Как сделать часы из готового модуля индикации (на ИЛМ1-7Л) от видеомагнитофона ВМ-12. Есть схемы и фото.

Возможности микроконтроллеров и электроники безграничные и мы хотим расширять наши возможности в том, что можно сделать своими руками. Ребята из Seeed Studio выиграли конкурс любителей Ардуино с этим уроком по созданию мобильного телефона на базе микроконтроллера.

Объединяя Arduino и другие модули, мы сделаем мобильный телефон под названием Arduino Phone. Корпус для нашего аппарата будет напечатан с помощью 3D-принтера. Хотя получится телефон не таким хорошим как можно подумать, даже немного неуклюжим, но все равно очень крутым.

Главный минус — мы не сможем установить на Arduino Phone кучу приложений и если вы захотите поиграть в Angry Birds вам нужно будет сделать большие доработки. Давайте перейдем к уроку в котором подробно расскажем о шагах по созданию телефона Arduino, включая аппаратное соединение и реализацию программного обеспечения.

Шаг 1: Комплектующие

В самом начале, как всегда, мы готовим комплектующие. Конечно, большинство этих модулей можно приобрести напрямую, например: Arduino Uno, TFT Touch Shield и GPRS Shield.

Также мы понимаем, что мы хотим поместить наш телефон Arduino в корпус, напечатанный на 3D-принтере. Для того, чтобы адаптировать размер этого корпуса под наше устройство мы должны сделать печатную плату зарядки и разрядки (включая обе части) и плату расширения, которая сможет подключаться к гнезду для наушников GPRS Shield модуля.

Если вы хотите сделать всё самостоятельно, вы можете сразу взять, например LiPo Rider Pro — аккумуляторный зарядник, или что-то в этом роде. Таким образом, вам не нужно будет делать печатную плату самому.

Что нам нужно в итоге:

  1. Arduino Uno (Ардуино Уно)
  2. TFT Touch Shield (TFT сенсорный экран)
  3. GPRS модуль
  4. RTC модуль (Real-Time Clock, часы реального времени)
  5. Зарядное устройство для ArduinoPhone (либо купить готовое, например от Lipo Rider)
  6. Li-po баттареи
  7. Корпус (можно сделать на 3D-принтере)

Шаг 2: Подключение оборудования

После подготовки деталей нам необходимо собрать вышеуказанные электронные компоненты вместе, чтобы заложить фундаментную функциональную часть Arduino Phone.

  1. Подключите GPRS модуль к Arduino UNO, затем подключите дисплей к GPRS.
  2. Подключите модуль RTC к Arduino UNO.
  3. Вставьте модуль питания и подключите наушник к разъему для наушников на GPRS.

Хорошо, теперь мы займемся программным обеспечением.

Шаг 3: Программирование и тестирование

Этот телефон Arduino содержит следующие основные функции:

  1. Принимать и отправлять сообщения, ввод букв.
  2. Набирать номер и отвечать на звонки.
  3. Отображать часы в реальном времени.
  4. Удобный и сжатый пользовательский интерфейс, вы можете переключать функции, передвигая палец по экрану.
  5. Стандартный 12-кнопочный метод ввода для сообщений.

Непосредственно код для телефона:

  1. Когда вы перейдете на страницу github, найдите кнопку Загрузить ZIP, нажмите, чтобы загрузить код.
  2. Загруженный вами код не является библиотекой Arduino, это скетч, который включает в себя все библиотеки, которые нужны проекту.
  3. Разархивируйте файл, который вы загрузили из github, вы увидите папку с именем ArduinoPhone-master.
  4. Откройте свою среду разработки Arduino, нажмите Файл → Настройки → Расположение эскиза (File Preferences Sketchbook Location), перейдите к указанной выше папке — ArduinoPhone-master. Затем нажмите ОК, чтобы сохранить.
  5. Закройте и снова откройте Arduino IDE, нажмите Файл → Альбом → Телефонный код (File Sketchbook PhoneCode), затем откроется основной код телефона Arduino.
  6. Выберите правильную плату и порт для загрузки кода.

Вам помогут изображения выше.

Однако гораздо более сложная проблема заключается в том, что у этого телефона Arduino нет физических кнопок (кроме кнопки сброса и GPRS). Таким образом, управление пользовательским интерфейсом будет сложной задачей. К счастью, TFT-дисплей не только предоставляет функцию отображения, но и функцию сенсорного экрана.

Таким образом, мы можем управлять пользовательским интерфейсом с помощью жестов, движений влево и вправо. На фото выше видно как работает ArduinoPhone.

В конце откройте ArduinoPhone.ino с помощью Arduino IDE, а затем загрузите исходный код в телефон.

Шаг 4: Сборка

Чтобы сделать наше устройство похожим на телефон, мы напечатали корпус на 3D-принтере, как показано выше. Затем аккуратно всё собираем. Это сложный, но интересный процесс. На самом деле, может быть, это будет даже более интересным, чем работа с кодом.

В ближайших уроках мы планируем опубликовать продолжение — обновленную версию телефона Arduino. Если у вас есть какие-либо идеи или вы готовы помочь нам разработать более совершенный интерфейс — пишите нам.

Начался новый семестр. В качестве курсовой работы в институте решил замутить такой вот девайс для вывода графики на дисплей от NOKIA.

Ты конечно понимаешь, мой друг, как можно использовать этот девайс в своих хакерских (и не только) целях. Если выбрать все детальки SMD-шные, то можно получить реально небольшое устройство для вывода на экран с портом RS232. Дисплей использовал: Nokia 6100/6610/7200/7250/3100 в рамке с коннектором.

Такой экран несложно найти в Интернет-магазинах, например www.siruist.ru, www.sparkfun.com или в палатках, где продают запчасти для мобильных телефонов ( стоит он 150-200 руб ) . Либо просто выдрать дисплей из старого телефона. Но если такой не нашёл — не беда. Изучив эту статью и исходные коды и поразмыслив головой, ты можешь завести дисплеи от Nokia N95 или Sony PSP.

Почему я выбрал такой дисплей – он удобен в пайке. Смотри на скриншоте распиновку.

Как видно, существует коннектор на дисплее к которому тяжело подпаяться (шаг 0.5мм). Поэтому лучше ищите дисплеи с такой распиновкой как здесь.

На рисунке вы можете видеть 3 дисплея:

На крайнем левом отсутствуют контакты для удобной пайки (только коннектор). На остальных контакты и коннектор присутствуют. Также важно, что встроенный контроллер у каждого экрана разный. Для этого дисплея существует 2 вида контроллеров:

У каждого контроллера своя система команд и, соответственно, софт для одного из них не будет работать для другого. Народ научился различать эти контроллеры по цвету коннектора: коричневый — Epson S1D15G10, зелёный — PCF8833.

Но это не факт. Я советую прошить микроконтроллер для 2 видов дисплеев и посмотреть результат. К примеру на скриншоте все дисплеи с контроллером PCF8833. Я писал исходный код микроконтроллера для PCF8833, но совершенно не сложно изменить его и для Epson`a!

Ну вроде с трудностями закончили, переходим к нашей схемке:

Atmega32 , др. с объёмом памяти Flash 16кб.

MAX232A или аналог.

Преобразователь из 5В в 3.3В

MC33269DT-3.3 или аналог.

Преобразователь из 5В в 6.5В

А остальное всё есть на схеме.

6.5В нам нужно на подсветку (от 6В до 7В = max). Регулируется подстроечным R8. Также ВАЖНО – разделить землю у дисплея (т.е. землю (выводы 8,9 коннектора) напрямую присоединить к входу 2 разъёма источника питания) – это нужно для защиты от помех. Желательно поставить 2 различных преобразователя из 5В в 3.3В – один для питания контроллера и периферии дисплея, второй – для непосредственно дисплея (выходы 1,6 – соответственно коннектора дисплея).

После разбора с железкой и пайкой приступаем к программированию для Atmega.

Открываем WinAVR, создаём проект, будем писать на С. Я отказался от assembler`a потому что код стал реально громоздким.

void sendCMD(byte cmd); // послать команду на PFC8833
void sendData(byte cmd); // послать байт данных
void InitLCD(void); // инициализация дисплея
void shiftBits(byte b); // перестановкой выводов портов эмулируем SPI
void setPixel(byte r,byte g,byte b);
// пишет в видеопамять дисплея 3 байта (r,g,b) с заданным цветом
…..
void PointXY(int x,int y,byte r,byte g,byte b)
// рисует точку на экране с координатами x,y и цветом r,g,b

sendCMD(CASET); // column set (po x)
sendData(x);
// команда CASET – задаёт область рисования по x, от byte1 до byte2
sendData(x); // у нас byte1=byte2 , так как рисуем точку
sendCMD(PASET); // page set (po y)
sendData(y); // аналогично для y
sendData(y);
sendCMD(RAMWR);
setPixel(r,g,b); //пишем в память

Я привёл только часть кода. Все исходники можно найти в архиве. У данного дисплея – 4096 цветов, следовательно 12 бит на пиксел RRRRGGGGBBBB.

Так же я написал консольную прожку для компа для рисования (исходники также есть в архиве).


Источник: ligabeatbox.ru