Mirsevini në Boson Electronics
Jun 16, 2021 / By Reis Muhameti / in Manuali
Numëruesi dixhital është një ekran me një shifër që rritet me kalimin e kohës. Meqenëse është një numërues me një shifër, fillon nga 0 dhe shkon deri në 9. Projekti 9 duket si një projekt disi i thjeshtë, por ai mëson funksionimin e një ekrani që shpesh përdoret në projekte elektronike.
Jam i sigurt që e keni parë diku këtë sportel. Isshtë bërë me një komponent të quajtur ekran me 7 segmente dhe përbëhet nga disa LED të shpërndara në segmente, për të formuar karaktere dhe numra. Të gjitha LED-të futen në të njëjtin komponent, ku secila pin korrespondon me një terminal të një LED-je dhe ekziston një terminal i përbashkët që korrespondon me pozitivin e të gjitha LED-ve. Ky lloj i ekranit mund të gjendet në orët dixhitale, radiot e orës etj.
Ekzistojnë 8 LED në ekran, një për secilin segment (gjurmë) dhe një për pikën.
Vini re se ne kemi 10 kunja, një LED për secilin segment dhe 2 të përbashkët për të gjitha LED, një në secilën anë. Sa më shumë që të kemi 2 kunja të përbashkët, duhet të lidhim vetëm 1 që ekrani të funksionojë.
Për secilin numër, një grup LED LED ndizet në mënyrë që të mbledhë shifrën e dëshiruar. Për shembull, për të bërë numrin 1, ne ndezim LED B dhe C. Për numrin 8, i ndezim të gjitha.
Duke lidhur secilin prej terminaleve LED me një port Arduino ne mund t'i kontrollojmë ato individualisht, duke formuar karaktere dhe numra. Në projektin 14 ne do të ndërtojmë një numërues dixhital me një ekran me 7 segmente që tregon numrat nga 0 në 9 me një interval prej 1 sekondë.
Ekran 1x 7 segmentësh
Rezistor 1x 220 ohm Rezistor
10x Bluzë mashkull-mashkull
1x Kabëll USB
1x Bordi Uno
Sikur të ishin disa LED, duhet të vendosim një pin Arduino për secilën pin në ekran. Meqenëse ana pozitive e LED-ve është e përbashkët për të gjithë, na duhet vetëm 1 rezistencë.
Programi, edhe pse i gjatë, është mjaft i thjeshtë. Ne thjesht ndezim dhe fikim LED-të, sipas numrit që duam.
// Projeto 14 - Contador digital
int segE = 7;
int segD = 8;
int segC = 9;
int segB = 13;
int segA = 12;
int segF = 11;
int segG = 10;void setup()
{
pinMode(segE, OUTPUT);
pinMode(segD, OUTPUT);
pinMode(segC, OUTPUT);
pinMode(segB, OUTPUT);
pinMode(segA, OUTPUT);
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);
}void loop()
{
acende0();
delay(1000);
acende1();
delay(1000);
acende2();
delay(1000);
acende3();
delay(1000);
acende4();
delay(1000);
acende5();
delay(1000);
acende6();
delay(1000);
acende7();
delay(1000);
acende8();
delay(1000);
acende9();
delay(1000);
}void acende0()
{
digitalWrite(segE, LOW);
digitalWrite(segD, LOW);
digitalWrite(segC, LOW);
digitalWrite(segB, LOW);
digitalWrite(segA, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, HIGH);
}
void acende1()
{
digitalWrite(segE, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segC, LOW);
digitalWrite(segB, LOW);
digitalWrite(segA, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
}
void acende2()
{
digitalWrite(segE, LOW);
digitalWrite(segD, LOW);
digitalWrite(segC, HIGH);
digitalWrite(segB, LOW);
digitalWrite(segA, LOW);
digitalWrite(segF, HIGH);
digitalWrite(segG, LOW);
}
void acende3()
{
digitalWrite(segE, HIGH);
digitalWrite(segD, LOW);
digitalWrite(segC, LOW);
digitalWrite(segB, LOW);
digitalWrite(segA, LOW);
digitalWrite(segF, HIGH);
digitalWrite(segG, LOW);
}
void acende4()
{
digitalWrite(segE, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segC, LOW);
digitalWrite(segB, LOW);
digitalWrite(segA, HIGH);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
}
void acende5()
{
digitalWrite(segE, HIGH);
digitalWrite(segD, LOW);
digitalWrite(segC, LOW);
digitalWrite(segB, HIGH);
digitalWrite(segA, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
}
void acende6()
{
digitalWrite(segE, LOW);
digitalWrite(segD, LOW);
digitalWrite(segC, LOW);
digitalWrite(segB, HIGH);
digitalWrite(segA, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
}
void acende7()
{
digitalWrite(segE, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segC, LOW);
digitalWrite(segB, LOW);
digitalWrite(segA, LOW);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
}
void acende8()
{
digitalWrite(segE, LOW);
digitalWrite(segD, LOW);
digitalWrite(segC, LOW);
digitalWrite(segB, LOW);
digitalWrite(segA, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
}
void acende9()
{
digitalWrite(segE, HIGH);
digitalWrite(segD, LOW);
digitalWrite(segC, LOW);
digitalWrite(segB, LOW);
digitalWrite(segA, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
}
Nëse projekti nuk funksionon, kontrolloni disa nga gabimet e mundshme:
Më poshtë janë disa sfida që mund të provoni!
void shkronjaA()
{
digitalWrite(segE, LOW);
digitalWrite(segD, HIGH);
digitalWrite(segC, LOW);
digitalWrite(segB, LOW);
digitalWrite(segA, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
}
Jun 16, 2021 by Reis Muhameti
Jun 16, 2021 by Reis Muhameti