Kako povezati zaslon mobilnega telefona z Arduinom

Preizkusite Naš Instrument Za Odpravo Težav





V tem prispevku se bomo naučili, kako povezati zaslon Nokia 5110 z mikrokrmilnikom arduino in kako prikazati nekaj besedila, izdelali bomo tudi preprosto digitalno uro in na koncu raziskovali grafične zmogljivosti zaslona Nokia 5110.

Avtor



Nokia je bila najbolj priljubljena znamka mobilnih telefonov po vsem svetu, preden so stopili na trg pametnih telefonov. Nokia je bila znana po izdelavi robustnih telefonov, ena izmed ikoničnih in najbolj robustnih pa je bila Nokia 3310.

Blagovna znamka Nokia je sprožila veliko hrupa po družabnih omrežjih in meme je začel plavati po internetu, večina meme pa je bila približno 3310, zaradi svoje trpežnosti s trdimi uporabniki. Nekateri zakoniti viri pravijo, da so telefoni Nokia nekaterim ljudem celo rešili življenje pred kroglami.



Po zmanjšanju povpraševanja po teh modelih na trgu je veliko zaslonov ostalo neuporabljenih. Zdaj so prenovljeni in predstavljeni na trgu za naše prilagojene potrebe.

Če ga potrebujete za praktično uporabo, vam po vašem območju ni treba ustvariti mini-jedrske eksplozije, da bi jo rešili iz starega telefona Nokia. Običajno je na voljo na spletnih mestih e-trgovine.

Prikaz zaslona Nokia 5110:

Zanimivo: zaslon Nokia 5110 je bil uporabljen tudi pri modelih 3310 in nekaterih drugih modelih telefonov Nokia.

Zdaj pa poglejmo, kako povezati zaslon z arduino.

Povežite zaslon z Arduino

Kako povezati zaslon mobilnega telefona z Arduinom

Zaslon je enobarven in ima 84 x 48 slikovnih pik, ki lahko prikaže besedilo in celo grafiko.
Zaslon je sestavljen iz 8 nožic: Vcc, GND, ponastavitev, izbira čipa (CS), izbira ukaza, izhod serijskih podatkov, serijska ura in osvetlitev ozadja.

Zaslon je zasnovan tako, da deluje pri 3,3 V, uporaba 5 V pa bo poškodovala zaslon, zato je pri ravnanju z njim treba biti previden.

Zaslon ima funkcijo osvetlitve ozadja, ki je običajno v beli ali modri barvi. 5V se daje osvetlitvi ozadja z 330 ohmskim omejevalnim uporom.

Zatiči 7, 6, 5, 4 in 3 so povezani z digitalnimi zatiči zaslona. Ni obvezno vedeti, kako arduino komunicira z zaslonom, da bi ga lahko uporabili; v programsko opremo arduino bomo dodali ustrezne knjižnične datoteke, ki bodo skrbele za komunikacijo med arduino in zaslonom.

Zdaj pa prikažimo nekaj besedila.

Prikaz besedila

Zaslon mobilnega telefona, ki prikazuje besedilo z Arduinom

Preden naložite kodo, morate prenesti datoteke knjižnice in jih dodati v svoj arduino IDE.

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

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

Če želite raziskati več o kodiranju, si lahko ogledate primer programa, ki prikazuje grafiko, barvo besedila (črno / belo), velikost preizkusa, vrtenje besedila in še veliko več.

Zdaj pa konstruirajmo digitalno uro.

Shema vezja za digitalno uro:

Shema je enaka prejšnji, le razlika je v tem, da sta dva spustna upora 10K ohma za nastavitveni čas priključena na nož št. 8, nož št. 9 pa je sam po sebi razumljiv.

Program za digitalno uro:

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

Zdaj pa se pogovorimo o grafičnih zmožnostih zaslona. Zaslon Nokia 5110 ima 84 x 48 slikovnih pik, kar lahko prikaže zelo omejeno grafiko, ki je tudi v enobarvni obliki. Mogoče niso tako sposobni barvni prikazi v pametnih telefonih, vendar je zelo koristno, če moramo v vašem projektu prikazati logotipe ali simbole.

Prikaz grafike na zaslonu Nokia 5110:

Priljubljen obraz trola:

Dr. AP J. Abdul Kalam:

Kot lahko vidimo, da lahko z enobarvnim zaslonom nekaj fotografij ali logotipov prikažemo neposredno iz arduina. Ne potrebujemo kakršnega koli zunanjega pomnilnika, kot je kartica SD.

Postopek pretvorbe fotografije v kodo 'C' je predmet drugega članka, kjer bomo ponazorili postopek po korakih.

Če imate kakršna koli vprašanja, jih izrazite v oddelku za komentarje.




Prejšnja: BJT oddajnik-sledilnik - delujoči, aplikacijski tokokrogi Naprej: Prenapetostni odvodnik z merilno napravo