Ako prepojiť displej mobilného telefónu s Arduino

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





V tomto príspevku sa naučíme, ako prepojiť displej Nokia 5110 s mikrokontrolérom arduino a ako zobraziť nejaký text, taktiež zostrojíme jednoduché digitálne hodiny a nakoniec preskúmame grafické možnosti displeja Nokia 5110.

Autor:



Nokia bola najpopulárnejšou značkou mobilných telefónov na celom svete predtým, ako sa dostala na trh so smartfónmi. Nokia bola známa výrobou robustných telefónov a jedným z ikonických a najrobustnejších zo všetkých bola Nokia 3310.

Značka Nokia spôsobila na sociálnych sieťach veľa hluku a meme sa začalo vznášať po internete. Väčšina memu tvorila asi 3310 modelov, a to kvôli jeho vysokej odolnosti voči náročným používateľom. Niektoré dôveryhodné zdroje tvrdia, že telefóny Nokia dokonca niektorým ľuďom zachránili život pred guľkami.



Po znížení dopytu po týchto modeloch na trhu zostalo veľa displejov nevyužitých. Teraz sú zrekonštruované a uvedené na trh pre naše prispôsobené potreby.

Ak chcete praktický test, nemusíte vo svojom okolí vytvárať mini-jadrový výbuch, ktorý by zachránil váš starý telefón Nokia. Je bežne dostupný na stránkach elektronického obchodu.

Ilustrácia displeja Nokia 5110:

Zábavný fakt: Displej Nokia 5110 bol použitý aj v modeli 3310 a v niektorých ďalších ďalších modeloch telefónov Nokia.

Teraz sa pozrime, ako spojiť displej s arduino.

Pripojte displej k Arduinu

Ako prepojiť displej mobilného telefónu s Arduino

Displej je monochromatický a má 84 x 48 pixelov, ktoré dokážu zobraziť text a dokonca aj grafiku.
Displej pozostáva z 8 pinov: Vcc, GND, reset, výber čipu (CS), výber príkazu, výstup sériových údajov, sériové hodiny a podsvietenie.

Displej je navrhnutý tak, aby pracoval pri napätí 3,3 V a pri napätí 5 V sa displej poškodil, pri manipulácii s ním preto buďte opatrní.

Displej je vybavený funkciou podsvietenia, ktorá je obvykle v bielej alebo modrej farbe. 5 V je dané podsvietenie s 330 ohmovým rezistorom obmedzujúcim prúd.

Kolíky 7, 6, 5, 4 a 3 sú spojené s digitálnymi kolíkmi displeja. Nie je povinné vedieť, ako arduino komunikuje s displejom, aby sme ho mohli používať, pridáme do softvéru arduino príslušné súbory knižnice, ktoré sa postarajú o komunikáciu medzi arduino a displejom.

Teraz si zobrazme nejaký text.

Zobrazuje sa text

Zobrazenie textu na mobilnom telefóne pomocou Arduina

Pred nahraním kódu musíte stiahnuť súbory z knižnice a pridať ich do IDE arduino.

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

Program pre 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--------//

Ak chcete preskúmať viac o kódovacej časti, môžete sa pozrieť na ukážkový program, ktorý predstavil grafiku, farbu textu (čiernobielo), veľkosť testu, rotáciu textu a oveľa viac.

Teraz si zostrojme digitálne hodiny.

Schéma zapojenia digitálnych hodín:

Schéma je rovnaká ako predchádzajúca, rozdiel je iba v tom, že dva 10 kOhm odpínacie odpory pre nastavenie času sú pripojené k pinu # 8 a pinu # 9 vo zvyšku obvodu.

Program pre digitálne hodiny:

//----------------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-------//

Poďme si teraz predstaviť grafické možnosti displeja. Displej Nokia 5110 má 84 x 48 pixelov, čo umožňuje veľmi obmedzenú grafiku aj v monochromatickom režime. Možno to nebude tak schopné farebné zobrazenie v smartfónoch, ale je to veľmi užitočné, ak vo vašom projekte potrebujeme zobraziť logá alebo symboly.

Ilustrácia grafiky pomocou displeja Nokia 5110:

Populárna trollová tvár:

DR. A.P.J Abdul Kalam:

Ako vidíme, že pri použití monochromatického displeja môžeme zobraziť niektoré fotografie alebo logá priamo z arduina. Nepotrebujeme žiadny druh externej pamäte, ako napríklad SD kartu.

Proces prevodu fotografie na kód „C“ je predmetom iného článku, kde si ukážeme postup krok za krokom.

Ak máte akékoľvek otázky, obráťte sa na komentár.




Dvojica: Vysielač-sledovač BJT - pracovné, aplikačné obvody Ďalej: Obvod zvodiča prepätia s meracím zariadením