Как подключить дисплей мобильного телефона к Arduino

Попробуйте наш инструмент устранения неполадок





В этом посте мы узнаем, как соединить дисплей Nokia 5110 с микроконтроллером Arduino и как отображать некоторый текст, мы также создадим простые цифровые часы и, наконец, изучим графические возможности дисплея Nokia 5110.

К



Nokia была самым популярным брендом мобильных телефонов в мире, прежде чем они вышли на рынок смартфонов. Nokia была известна производством надежных телефонов, и одним из знаковых и самых надежных из них была Nokia 3310.

Бренд Nokia наделал много шума в социальных сетях, а мемы начали распространяться по Интернету, и большая часть мемов относилась к модели 3310 из-за их большой прочности среди заядлых пользователей. Некоторые источники утверждают, что телефоны Nokia даже спасли жизнь некоторых людей от пуль.



После снижения спроса на эти модели на рынке осталось много неиспользованных дисплеев. Теперь они отремонтированы и запущены на рынок для наших индивидуальных нужд.

Если вам нужен такой для практического использования, вам не нужно создавать мини-ядерный взрыв вокруг своего района, чтобы спасти его от вашего старого телефона Nokia. Он обычно доступен на сайтах электронной коммерции.

Иллюстрация дисплея Nokia 5110:

Интересный факт: дисплей Nokia 5110 использовался и в модели 3310, и в некоторых других моделях телефонов Nokia.

Теперь давайте посмотрим, как подключить дисплей к Arduino.

Подключите дисплей к Arduino

Как подключить дисплей мобильного телефона к Arduino

Монохромный дисплей имеет размер 84x48 пикселей, на котором можно отображать текст и даже графику.
Дисплей состоит из 8 контактов: Vcc, GND, сброс, выбор микросхемы (CS), выбор команды, вывод последовательных данных, последовательные часы и подсветка.

Дисплей рассчитан на работу при напряжении 3,3 В, а подача напряжения 5 В приведет к повреждению дисплея, поэтому при обращении с ним следует соблюдать осторожность.

Дисплей имеет функцию подсветки, которая обычно бывает белого или синего цвета. 5В подается на подсветку с помощью токоограничивающего резистора 330 Ом.

Контакты 7, 6, 5, 4 и 3 подключены к цифровым контактам дисплея. Необязательно знать, как arduino взаимодействует с дисплеем, чтобы использовать его, мы добавим соответствующие файлы библиотеки в программное обеспечение arduino, которое позаботится о связи между arduino и дисплеем.

Теперь давайте отобразим текст.

Отображение текста

Дисплей мобильного телефона, отображающий текст с Arduino

Перед загрузкой кода вы должны загрузить файлы библиотеки и добавить их в свою IDE arduino.

• github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library
• github.com/adafruit/Adafruit-GFX-Library

Программа для Hello world:

//------------Program Developed by R.Girish--------//
#include
#include
#include
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3)
void setup()
{
display.begin()
display.setContrast(50)
display.clearDisplay()
}
void loop()
{
display.setTextSize(1)
display.setTextColor(BLACK)
display.print('Hello world !')
display.display()
delay(10)
display.clearDisplay()
}
//------------Program Developed by R.Girish--------//

Если вы хотите узнать больше о кодировании, вы можете взглянуть на пример программы, который демонстрирует графику, цвет текста (черный / белый), размер теста, поворот текста и многое другое.

А теперь давайте сконструируем цифровые часы.

Принципиальная схема цифровых часов:

Схема такая же, как и предыдущая, с той лишь разницей, что два понижающих резистора 10 кОм для установки времени подключены к контакту №8, а контакт №9 остальной части схемы не требует пояснений.

Программа для цифровых часов:

//----------------Program developed by R.Girish-------//
#include
#include
#include
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3)
int h=12
int m
int s
int flag
int TIME
const int hs=8
const int ms=9
int state1
int state2
void setup()
{
display.begin()
display.setContrast(50)
display.clearDisplay()
}
void loop()
{
s=s+1
display.clearDisplay()
display.setTextSize(2)
display.print(h)
display.print(':')
display.print(m)
display.setTextSize(1)
display.print(':')
display.print(s)
display.setTextSize(2)
display.setCursor(0,16)
if(flag<12) display.println('AM')
if(flag==12) display.println('PM')
if(flag>12) display.println('PM')
if(flag==24) flag=0
display.setTextSize(1)
display.setCursor(0,32)
display.print('Have a nice day')
display.display()
delay(1000)
if(s==60)
{
s=0
m=m+1
}
if(m==60)
{
m=0
h=h+1
flag=flag+1
}
if(h==13)
{
h=1
}
//-----------Time setting----------//
state1=digitalRead(hs)
if(state1==1)
{
h=h+1
flag=flag+1
if(flag<12) display.print(' AM')
if(flag==12) display.print(' PM')
if(flag>12) display.print(' PM')
if(flag==24) flag=0
if(h==13) h=1
}
state2=digitalRead(ms)
if(state2==1)
{
s=0
m=m+1
}
}
//-------- Program developed by R.GIRISH-------//

Теперь давайте обсудим графические возможности дисплея. Дисплей Nokia 5110 имеет 84x48 пикселей, что позволяет отображать очень ограниченную графику, в том числе в монохромном режиме. В смартфонах это может быть не так хорошо с цветными дисплеями, но это очень полезно, если нам нужно отображать логотипы или символы в вашем проекте.

Иллюстрация графики с использованием дисплея Nokia 5110:

Популярное лицо тролля:

Доктор A.P.J. Абдул Калам:

Как мы видим, используя монохромный дисплей, мы все же можем отображать некоторые фотографии или логотипы прямо с Arduino. Нам не нужна какая-либо внешняя память, например SD-карта.

Процесс преобразования фотографии в код «C» - тема другой статьи, где мы будем проиллюстрировать пошаговый процесс.

Если у вас есть какие-либо вопросы, просьба выражать их через раздел комментариев.




Предыдущая: BJT Emitter-Follower - Рабочий, прикладные схемы Далее: Схема ограничителя перенапряжения с измерительным оборудованием