Jak propojit displej mobilního telefonu s Arduino

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V tomto příspěvku se budeme učit, jak propojit displej Nokia 5110 s mikrokontrolérem arduino a jak zobrazit nějaký text, budeme také konstruovat jednoduché digitální hodiny a nakonec prozkoumáme grafické možnosti displeje Nokia 5110.

Podle



Nokia byla nejoblíbenější značkou mobilních telefonů na celém světě, než vstoupila na trh smartphonů. Nokia byla známá výrobou robustních telefonů a jedním z ikonických a nejrobustnějších ze všech byla Nokia 3310.

Značka Nokia způsobila na sociálních médiích hodně hluku a meme se začalo vznášet po internetu a většina memu byla asi 3310 model, kvůli jeho velké odolnosti s tvrdými uživateli. Některý legitimní zdroj říká, že telefony Nokia dokonce zachránily život některých lidí před kulkami.



Po snížení poptávky po těchto modelech na trhu zůstalo mnoho displejů nevyužitých. Nyní jsou renovovány a uvedeny na trh pro naše přizpůsobené potřeby.

Pokud chcete, aby se jednalo o praktický výcvik, nemusíte ve vaší oblasti vytvářet mini-jaderný výbuch, který by zachránil váš starý telefon Nokia. Je běžně dostupný na stránkách elektronického obchodování.

Ilustrace displeje Nokia 5110:

Zábavný fakt: Displej Nokia 5110 byl také použit v modelu 3310 a některých dalších modelech telefonů Nokia.

Nyní se podívejme, jak propojit displej s arduino.

Připojte displej k Arduinu

Jak propojit displej mobilního telefonu s Arduino

Displej je černobílý a má 84 x 48 pixelů, které umožňují zobrazit text a dokonce i grafiku.
Displej se skládá z 8 pinů: Vcc, GND, reset, výběr čipu (CS), výběr příkazu, výstup sériových dat, sériové hodiny a podsvícení.

Displej je navržen tak, aby pracoval při napětí 3,3 V a použití 5 V by displej poškodilo, proto s ním zacházejte opatrně.

Displej má funkci podsvícení, která je obvykle v bílé nebo modré barvě. 5 V je dáno podsvícení s 330 ohmovým omezovačem proudu.

Piny 7, 6, 5, 4 a 3 jsou připojeny k digitálním pinům displeje. Není povinné vědět, jak arduino komunikuje s displejem, abychom jej mohli použít, přidáme do softwaru arduino příslušné soubory knihovny, které se postarají o komunikaci mezi arduino a displejem.

Nyní si zobrazíme nějaký text.

Zobrazování textu

Zobrazení mobilního telefonu zobrazující text s Arduino

Před nahráním kódu musíte stáhnout soubory knihovny a přidat do svého IDE Arduino.

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

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

Pokud chcete prozkoumat více o kódovací části, můžete se podívat na ukázkový program, který představil grafiku, barvu textu (černobílou), velikost testu, rotaci textu a mnoho dalšího.

Pojďme si postavit digitální hodiny.

Schéma zapojení pro digitální hodiny:

Schéma je stejné jako předchozí, rozdíl je pouze v tom, že dva 10K ohmové stahovací odpory pro nastavení času jsou připojeny k pinu # 8 a pinu # 9 zbytek obvodu je vysvětlující.

Program pro digitální 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-------//

Nyní pojďme diskutovat o grafických schopnostech displeje. Displej Nokia 5110 má rozměry 84 x 48 pixelů, což umožňuje velmi omezenou grafiku i v monochromatickém režimu. V chytrých telefonech to nemusí být tak schopné barevné displeje, ale je to velmi užitečné, pokud ve vašem projektu potřebujeme zobrazit loga nebo symbol.

Ilustrace grafiky pomocí displeje Nokia 5110:

Populární tvář trolla:

Dr. A.P.J Abdul Kalam:

Jak vidíme, při použití monochromatického displeje jsme stále schopni zobrazit některé fotografie nebo loga přímo z arduina. Nepotřebujeme žádnou externí paměť, jako je SD karta.

Proces převodu fotografie do kódu „C“ je předmětem dalšího článku, kde budeme ilustrovat postup krok za krokem.

Máte-li jakékoli dotazy, vyjádřete to v sekci komentářů.




Předchozí: BJT Emitter-Follower - pracovní, aplikační obvody Další: Obvod přepěťové ochrany s měřicím zařízením