Как да свързваме дисплея на мобилен телефон с 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.3V и прилагането на 5V ще повреди дисплея, така че трябва да се внимава при работа с него.

Дисплеят има функционалност на подсветката, която обикновено е в бял или син цвят. 5V се дава на подсветка с 330 ома резистор за ограничаване на тока.

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

Сега нека покажем малко текст.

Показване на текст

Дисплей за мобилен телефон, показващ текст с Arduino

Преди да качите кода, трябва да изтеглите библиотечните файлове и да добавите към вашия ID на 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--------//

Ако искате да проучите повече за кодиращата част, можете да разгледате примерна програма, която демонстрира графики, цвят на текста (черно / бяло), размер на теста, завъртане на текст и много други.

Сега нека конструираме цифров часовник.

Електрическа схема за цифров часовник:

Схемата е същата като предишната, само разликата е, че двата 10K ома падащи резистора за настройка на времето са свързани към щифт # 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:

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

Д-р AP JJ Абдул Калам:

Както виждаме, че използвайки монохромен дисплей, все пак можем да показваме някои снимки или лога директно от arduino. Нямаме нужда от външна памет като SD карта.

Процесът на преобразуване на снимка в “C” код е предмет на друга статия, където ще илюстрираме стъпка по стъпка процес.

Ако имате някакви въпроси, моля, изразете чрез раздела за коментари.




Предишен: BJT Emitter-Follower - Работещи, схеми за приложение Следваща: Схема за защита от пренапрежение с измервателно съоръжение