Kaip susieti mobiliojo telefono ekraną su „Arduino“

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Šiame įraše mes mokysimės, kaip sąsaja su „Nokia 5110“ ekranu su „arduino“ mikrovaldikliu ir kaip atvaizduoti tekstą, taip pat sukursime paprastą skaitmeninį laikrodį ir galiausiai išnagrinėsime „Nokia 5110“ ekrano grafines galimybes.

Iki



„Nokia“ buvo populiariausias mobiliųjų telefonų prekės ženklas visame pasaulyje, kol jie pateko į išmaniųjų telefonų rinką. „Nokia“ buvo žinoma dėl tvirtų telefonų gamybos, o viena žymiausių ir patikimiausių iš visų buvo „Nokia 3310“.

„Nokia“ prekės ženklas sukėlė daug triukšmo socialinėje žiniasklaidoje, o memai pradėjo sklandyti internete, o didžioji dalis memo buvo apie 3310 modelį, nes jis labai patvarus vartotojams. Kai kurie teisėti šaltiniai sako, kad „Nokia“ telefonai kai kurių žmonių gyvybę netgi išgelbėjo nuo kulkų.



Sumažėjus šių modelių paklausai rinkoje, daugybė ekranų liko nenaudojami. Dabar jie yra atnaujinti ir paleisti į rinką mūsų individualiems poreikiams.

Jei norite, kad jis būtų pritaikytas rankoms, jums nereikės aplink savo teritoriją sukurti mažojo branduolinio sprogimo, kad išgelbėtumėte jį iš savo senojo „Nokia“ telefono. Tai dažniausiai galima rasti el. Prekybos svetainėse.

„Nokia 5110“ ekrano iliustracija:

Įdomus faktas: „Nokia 5110“ ekranas taip pat buvo naudojamas 3310 modelyje ir kai kuriuose kituose „Nokia“ telefonų modeliuose.

Dabar pažiūrėkime, kaip prijungti ekraną su „Arduino“.

Prijunkite ekraną su „Arduino“

Kaip susieti mobiliojo telefono ekraną su „Arduino“

Ekranas yra vienspalvis ir turi 84x48 taškus, kurie gali rodyti tekstą ir net grafiką.
Ekrane yra 8 kontaktai: Vcc, GND, atstatymas, lusto pasirinkimas (CS), komandos pasirinkimas, nuoseklūs duomenys, nuoseklusis laikrodis ir apšvietimas.

Ekranas sukurtas veikti esant 3,3 V įtampai, o naudojant 5 V, ekranas bus sugadintas, todėl jį dirbant reikia būti atsargiems.

Ekrano apšvietimas yra baltos arba mėlynos spalvos. 5V skiriamas apšvietimui su 330 omų srovės ribotuvu.

7, 6, 5, 4 ir 3 kaiščiai yra prijungti prie skaitmeninių ekrano kaiščių. Nebūtina žinoti, kaip „arduino“ bendrauja su ekranu, kad juo būtų galima naudotis, prie „arduino“ programinės įrangos pridėsime atitinkamus bibliotekos failus, kurie rūpinsis „arduino“ ir ekrano ryšiu.

Dabar parodykime tekstą.

Rodomas tekstas

Mobilaus telefono ekranas, kuriame rodomas tekstas su „Arduino“

Prieš įkeldami kodą, turite atsisiųsti bibliotekos failus ir pridėti prie „Arduino IDE“.

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

Sveiko pasaulio programa:

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

Jei norite daugiau sužinoti apie kodavimo dalį, galite pažvelgti į programos pavyzdį, kuriame aprašyta grafika, teksto spalva (juoda / balta), testo dydis, teksto pasukimas ir daug daugiau.

Dabar sukonstruokime skaitmeninį laikrodį.

Skaitmeninio laikrodžio schema:

Schema yra tokia pati kaip ankstesnė, tik skirtumas yra tai, kad du 10K omų nuleidimo rezistoriai, skirti nustatyti laiką, yra prijungti prie kaiščio Nr. 8, o likusi grandinė Nr. 9 yra savaime suprantama.

Skaitmeninio laikrodžio programa:

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

Dabar aptarkime grafines ekrano galimybes. „Nokia 5110“ ekrane yra 84x48 pikselių, kurie gali rodyti labai ribotą grafiką ir nespalvotą. Tai gali būti ne tokie galingi spalvoti vaizdai išmaniuosiuose telefonuose, tačiau tai yra labai naudinga, jei mums jūsų projekte reikia rodyti logotipus ar simbolius.

Grafikos iliustracija naudojant „Nokia 5110“ ekraną:

Populiarus trolio veidas:

Dr. A.P.J Abdulas Kalamas:

Kaip matome, kad naudojant vienspalvį ekraną mes vis tiek galime rodyti kai kurias nuotraukas ar logotipus tiesiai iš „Arduino“. Mums nereikia jokios išorinės atminties, tokios kaip SD kortelė.

Nuotraukos pavertimo „C“ kodu procesas yra kito straipsnio tema, kuriame mes iliustruosime žingsnis po žingsnio.

Jei turite kokių nors klausimų, prašome išsakyti komentarų skyriuje.




Pora: BJT Emiterio sekėjas - darbo, taikymo grandinės Kitas: viršįtampio ribotuvo grandinė su matavimo įranga