Hvordan grensesnitt mobiltelefon skjerm med Arduino

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette innlegget vil vi lære å grensesnitt Nokia 5110-skjerm med arduino-mikrokontroller og hvordan vi kan vise litt tekst, vi vil også konstruere en enkel digital klokke, og til slutt vil vi utforske grafiske muligheter for Nokia 5110-skjermen.

Av



Nokia var det mest populære mobiltelefonmerket over hele verden før de hoppet inn på smarttelefonmarkedet. Nokia var kjent for å produsere robuste telefoner, og en av de ikoniske og mest robuste av alle var Nokia 3310.

Nokia-merket lagde mye støy på tvers av sosiale medier, og meme begynte å flyte rundt på internett, og det meste av meme var omtrent 3310-modellen, på grunn av sin store holdbarhet med hardkjerne-brukere. En eller annen legitim kilde sier at Nokia-telefoner til og med reddet noen menneskers liv fra kuler.



Etter redusert etterspørsel etter disse modellene i markedet var det mange skjermer som var ubrukt. Nå er de pusset opp og lansert i markedet for våre tilpassede behov.

Hvis du vil ha en til hands-on, trenger du ikke lage en mini-atomeksplosjon rundt ditt område for å redde en fra din gamle Nokia-telefon. Den er ofte tilgjengelig på e-handelsnettsteder.

Illustrasjon av Nokia 5110-skjerm:

Morsomt faktum: Nokia 5110-skjerm ble også brukt i 3310-modellen og noen flere andre Nokia-telefonmodeller også.

La oss nå se hvordan du kobler skjermen til arduino.

Koble skjerm med Arduino

Hvordan grensesnitt mobiltelefon skjerm med Arduino

Skjermen er monokrom og har 84x48 piksler som kan vise tekst og til og med grafikk.
Skjermen består av 8 pinner: Vcc, GND, reset, chip select (CS), kommandovalg, seriell data ut, seriell klokke og bakgrunnsbelysning.

Skjermen er designet for å fungere ved 3,3 V, og bruk av 5 V vil skade skjermen, så det må utvises forsiktighet når du håndterer den.

Skjermen har bakgrunnsbelysningsfunksjonalitet som ofte er i hvit eller blå farge. 5V er gitt til bakgrunnsbelysning med 330 ohm strømbegrensende motstand.

Pins 7, 6, 5, 4 og 3 er koblet til de digitale pinnene på skjermen. Det er ikke obligatorisk å vite hvordan arduino kommuniserer med skjermen for å bruke den, vi vil legge til passende biblioteksfiler i arduino-programvaren som tar seg av kommunikasjonen mellom arduino og skjerm.

La oss nå vise litt tekst.

Viser tekst

Mobiltelefondisplay som viser tekst med Arduino

Før du laster opp koden, må du laste ned biblioteksfilene og legge til i din arduino IDE.

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

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

Hvis du vil utforske mer om kodingsdelen, kan du ta en titt på eksempelprogrammet som viser grafikk, tekstfarge (svart / hvit), teststørrelse, tekstrotasjon og mye mer.

La oss nå lage en digital klokke.

Kretsskjema for digital klokke:

Skjematisk er det samme som forrige, bare forskjellen er at de to 10K ohm nedtrekksmotstandene for innstilling av tid er koblet til pin nr. 8 og pin nr. 9 resten av kretsen er selvforklarende.

Program for digital klokke:

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

La oss nå diskutere grafiske funksjoner på skjermen. Nokia 5110-skjermen har 84x48 piksler, som kan vise svært begrenset grafikk også i svart-hvitt. Det er kanskje ikke like dyktige fargeskjermer på smarttelefoner, men det er veldig nyttig hvis vi trenger å vise logoer eller symbol i prosjektet ditt.

Illustrasjon av grafikk ved bruk av Nokia 5110-skjerm:

Populært trollansikt:

Dr. A.P.J Abdul Kalam:

Som vi kan se at ved hjelp av en monokrom skjerm, kan vi fremdeles vise noen bilder eller logoer direkte fra arduino. Vi trenger ingen form for eksternt minne, for eksempel SD-kort.

Prosessen med å konvertere et bilde til en 'C' -kode er gjenstand for en annen artikkel, hvor vi skal illustrere trinnvis prosess.

Hvis du har spørsmål, vennligst uttrykk gjennom kommentarseksjonen.




Forrige: BJT Emitter-Follower - Working, Application Circuits Neste: Surge Arrestor Circuit with Measuring Facility