Cum să interfațați afișajul telefonului mobil cu Arduino

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest post vom învăța cum să interfațăm ecranul Nokia 5110 cu microcontrolerul arduino și cum să afișăm un text, vom construi, de asemenea, un ceas digital simplu și, în cele din urmă, vom explora capacitățile grafice ale ecranului Nokia 5110.

De



Nokia a fost cea mai populară marcă de telefoane mobile din întreaga lume înainte de a intra pe piața smartphone-urilor. Nokia a fost cunoscut pentru producerea de telefoane robuste, iar unul dintre cele mai robuste și mai iconice dintre toate a fost Nokia 3310.

Marca Nokia a făcut mult zgomot pe rețelele de socializare și meme-urile au început să plutească în jurul internetului și cea mai mare parte a memei a fost de aproximativ modelul 3310, datorită durabilității sale excelente cu utilizatorii hard-core. O sursă legitimă spune că telefoanele Nokia au salvat chiar viața unor oameni de la gloanțe.



După reducerea cererii pentru aceste modele pe piață, au rămas multe afișaje nefolosite. Acum sunt renovate și lansate pe piață pentru nevoile noastre personalizate.

Dacă doriți una pentru hands-on, nu este nevoie să creați o mini-explozie nucleară în zona dvs. pentru a salva una de pe vechiul dvs. telefon Nokia. Este de obicei disponibilă pe site-urile de comerț electronic.

Ilustrația ecranului Nokia 5110:

Fapt distractiv: ecranul Nokia 5110 a fost folosit și în modelul 3310 și în alte câteva modele de telefoane Nokia.

Acum să vedem cum să conectăm afișajul cu arduino.

Conectați afișajul cu Arduino

Cum să interfațați afișajul telefonului mobil cu Arduino

Afișajul este monocrom și are 84x48 pixeli care pot afișa text și chiar grafică.
Afișajul este format din 8 pini: Vcc, GND, resetare, chip select (CS), selectare comandă, ieșire date seriale, ceas serial și lumină de fundal.

Afișajul este proiectat să funcționeze la 3,3 V, iar aplicarea a 5 V va deteriora afișajul, așa că trebuie să aveți grijă la manipularea acestuia.

Afișajul are funcționalitate de iluminare din spate, care este de obicei albă sau albastră. 5V este dat luminii de fundal cu rezistor de limitare a curentului de 330 ohmi.

Pinii 7, 6, 5, 4 și 3 sunt conectați la pinii digitali ai afișajului. Nu este obligatoriu să știm cum comunică arduino cu afișajul pentru a-l utiliza, vom adăuga fișiere de bibliotecă adecvate software-ului arduino care se va ocupa de comunicarea dintre arduino și afișaj.

Acum să afișăm un text.

Afișarea textului

Afișare telefon mobil Afișare text cu Arduino

Înainte de a încărca codul, trebuie să descărcați fișierele bibliotecii și să adăugați la IDE-ul dvs. arduino.

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

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

Dacă doriți să explorați mai multe despre partea de codare, puteți arunca o privire la un exemplu de program, care prezintă grafica, culoarea textului (negru / alb), dimensiunea testului, rotația textului și multe altele.

Acum să construim un ceas digital.

Schema circuitului pentru ceas digital:

Schema este aceeași cu cea anterioară, doar diferența este că cele două rezistențe de tragere de 10K ohmi pentru setarea timpului sunt conectate la pinul 8 și pinul # 9 restul circuitului se explică de la sine.

Program pentru ceas digital:

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

Acum, să discutăm despre capacitățile grafice ale afișajului. Afișajul Nokia 5110 are 84x48 pixeli, care pot afișa grafică foarte limitată și în monocrom. Este posibil să nu fie afișaje color la fel de capabile pe smartphone-uri, dar este foarte util dacă trebuie să afișăm sigle sau simboluri în proiectul dvs.

Ilustrație a graficii folosind ecranul Nokia 5110:

Față populară de troll:

Dr. A.P.J Abdul Kalam:

După cum putem vedea că folosind un afișaj monocrom, totuși putem afișa câteva fotografii sau sigle direct de la arduino. Nu avem nevoie de niciun fel de memorie externă, cum ar fi cardul SD.

Procesul de conversie a unei fotografii în cod „C” face obiectul unui alt articol, în care vom ilustra procesul pas cu pas.

Dacă aveți întrebări, vă rugăm să exprimați prin secțiunea de comentarii.




Precedent: Emițător-Urmăritor BJT - Circuite de lucru, aplicații Următorul: Circuit de descărcare a supratensiunii cu instalație de măsurare