0 0
0
No products in the cart.

Mirsevini në Boson Electronics

Seti fillestar - Arduino

maj 16, 2021 / By Zgjim Guraziu / in Çfarë është? , Mësime , Manuali

1-26


Ju mund të pyesni veten "por cila është historia e lëvizjes së krijuesve?" Lëvizja e krijuesve përfaqëson kulturën e njohur si "bëje vetë" (DIY - do it yourself, në anglisht). Propozimi është të inkurajojë njerëzit e zakonshëm të eksplorojnë krijimtarinë e tyre dhe të krijojnë zgjidhje. Kultura e prodhuesit ushqehet me iniciativën për të ndërtuar, riparuar, modifikuar ose prodhuar gjërat e veta. Pasuesit e kësaj lëvizje njihen si krijues ose bërës.

Në këtë frymë të hyrjes në elektronikë, ky set u zhvillua dhe me këtë udhëzues, ne tregojmë disa mundësi në botën e elektronikës dhe programimit. Me këtë, ne duam të inkurajojmë studimin pasues të përkushtuar në secilën fushë, qoftë në zhvillimin e programit, elektronikës, inxhinierisë etj.

Pra, duam t'ju mirëpresim në udhëzuesin "Seti fillestar - Arduino"! Në këtë udhëzues do të mësoni bazat rreth Maker world, Arduino, elektronikën dhe programimin, duke zhvilluar 15 projekte praktike. Nëse nuk e njihni këtë fushë, mos u shqetësoni, në këtë udhëzues do të gjeni udhëzimet e ndërtimit dhe programimin për secilin projekt.

Çfarë është Arduino?

Problemi ishte se si ta bësh elektronikën dhe programimin të arritshme dhe të lehtë për t'u kuptuar për njerëzit pa njohuri teknike ose pa trajnim inxhinierik. Kjo ishte edhe koha kur Arduino u shfaq dhe e bëri  gjithçka më të thjeshtë.

Boson2

Arduino është platforma kryesore e projektit dhe është përhapur gjerësisht në të gjithë botën. Zhvilluesit, inxhinierët, studentët, ndërmarrjet dhe prodhuesit në përgjithësi po përdorin Arduino në projektet e tyre të llojeve më të larmishme. Ekzistojnë disa modele Arduino, por në këtë udhëzues do të punojmë vetëm me më të thjeshtët prej tyre.

Ideja e setit tonë është të ndihmojmë ata që sapo janë futur në këtë botë të elektronikës. Në këtë set do të gjeni gjithçka që ju nevojitet për të ndërmarrë hapat tuaj të parë dhe për të zhvilluar projekte duke përdorur një nga pajisjet më të mrekullueshme në botën e elektronikës! Bordi Arduino ka një mikrokontrollues që është "truri" i bordit dhe është ai që ne programojmë për të kryer projektet tona. Përveç mikrokontrolluesit, karta ka disa hyrje dhe dalje dhe mund të lidhet lehtësisht me kompjuterin përmes një kabllo USB. Për ta programuar atë, ne përdorim një program të quajtur IDE (Mjedisi i Zhvillimit të Integruar).

Hyrjet dhe daljet e Arduino janë kunja të ndryshme, shpesh të quajtura porte. Përmes kunjave bordi bashkëvepron me përbërësit e tjerë. Mikrokontrolluesi do të marrë dhe dërgojë komanda përmes këtyre portave sipas asaj që ishte përcaktuar në programimin e tij.

Pasi të programohet, bordi Arduino mund të përdoret në mënyrë të pavarur, pa nevojën e një kompjuteri. Programi ruhet në bord dhe ju duhet ta furnizoni Arduin-on vetëm me energji që ai të funksionojë. Kjo bëhet duke vendosur kabllon USB të Arduino-s në një karikues të telefonit celular apo direkt nga bateritë.

Me Arduino ju mund të kontrollni një robot, një motorr, dritat në shtëpinë tuaj, temperaturën e kondicionerit ose mund ta përdorni atë si një pajisje matëse. Ka disa sensorë dhe module që mund të përdoren së bashku me Arduino për të zgjeruar funksionet e tij, kështu që ju mund të zhvilloni çdo projekt që ju vjen në mendje.

Seti fillestar për Arduino përfshin disa sensorë dhe module. Përveç artikujve të kitit, do t'ju duhet një kompjuter për të programuar mikrokontrollerin tuaj, hyrje në internet për të parë projektet e tjera në udhëzues dhe për të shkarkuar IDE dhe disa orë përkushtim. Gjatë 15 projekteve ju do të mësoni se si të përdorni këto module dhe sensorë së bashku me Arduino. Nëse hasni vështirësi në ndonjë prej projekteve, lexoni përsëri udhëzimet dhe kontrolloni gabimet e mundshme në secilin projekt.

Projekti 1

Në projektin e parë ne do të bëjmë një dritë të ndizet dhe fiket shpejtë. Duket si një projekt shumë i thjeshtë, por ilustron përdorimin e Arduinos për të kontrolluar pajisjet e jashtme. Konceptet e mësuara në këtë shembull shërbejnë për të drejtuar pajisje të tjera si flutura, llambat, motorët, etj.

1-28

Ky projekt do të jetë një hap i madh për ju që të mësoni elektronikën dhe programimin si dhe të jeni në gjendje të bëni projekte më komplekse.

Ne e dimë që udhëzuesi për këtë projekt të parë është mjaft i gjatë, por pasi të keni kuptuar se si funksionon, nuk do t'ju duhen aq shumë udhëzime për të qenë në gjendje të realizoni një projekt.

Materialet e nevojshëm

Në të gjitha projektet do të kemi një seksion që tregon komponentët të cilat do të i përdorim. 

  • 1x LED i kuq 5 mm
  • 1x Rezistor 220 ohm
  • 1x Breadboard
  • 2x Tela M-M
  • 1x kabëll USB
  • 1x Arduino

Shumë emra të cilët nuk i keni parë kurrë në jetën tuaj? Të jeni të sigurt se do të shpjegojmë pak se si funksionon secili përbërës i ri që shfaqet në listë. Sigurisht, në projektin e parë ky shpjegim do të jetë i shkëlqyeshëm, por ndërsa bëni më shumë projekte, do të njiheni me komponentet tjera dhe kjo listë e panjohur do të bëhet gjithnjë e më e vogël.

Si funksionon një Breadboard?

Breadboard-i është një përbërës që përdoret në të gjitha projektet tona dhe pothuajse në të gjitha projektet elektronike. Është plot me vrima, ku mund të vendosni kunjat e paisjeve të cilat do të përdoren ose edhe një tel drejtpërdrejt, dhe ka një logjikë lidhjeje midis vrimave që, pasi ta kuptoni, montimi i projekteve tuaja është shumë i lehtë.

breadboard-1

Me breadboard-in ne mund të eksperimentojmë duke montuar paisje të ndryshme elektronike dhe të krijojmë qarqe pa pasur nevojë t'i lidhim paisjet në mënyrë të përhershme. Nëse ka nevojë për të ndryshuar një pozicion të paisjes ose edhe për ta zëvendësuar atë, kjo mund të bëhet shumë shpejt dhe lehtë.

Në breadboard ka dy blloqe të kolonave B dhe C. Secila kolonë ka 5 vrima dhe këto janë të ndërlidhura siç tregohet në vijat me ngjyrë hiri. Një kolonë nuk ka lidhje me kolonën pranë saj. Blloqet B dhe C nuk janë të ndërlidhura, ato ndahen mes tyre dhe është vendi ku vendoset pjesa më e madhe e qarkut.

Lidhja

Në blloqet A dhe D, në skajet e sipërme dhe të poshtme të breadboard-it, kemi linjat në të kuqe dhe të kaltër. Të gjitha vrimat në të njëjtën linjë janë të ndërlidhura, por vrimat në vijën e kuqe nuk janë të lidhura me vrimat në vijën e kaltër. Në vijën e kuqe ka një shenjë plus "+" dhe në të kaltër një shenjë minus "-". Në këto linja ne e lidhim energjinë e qarkut: në projektet me Arduino, këto janë kunjat 5 V dhe GND. Zakonisht vendosni 5V në të kuqe dhe GND në të kaltër, por kjo nuk është e domosdoshme dhe nuk do të ndryshojë asgjë në qark, është thjesht çështje organizimi.

Çfarë është një LED?

LED (në anglisht, Light Emitting Diode) është një diodë që lëshon dritë, dhe në thelb është një llambë që konsumon pak energji. Për shkak të konsumit të ulët, përdorimi i tij në shtëpi po bëhet gjithnjë e më i zakonshëm. Një avantazh tjetër i madh i LED-it është lehtësia e prodhimit në ngjyra të ndryshme dhe në këtë set do të merrni LED të verdhë, të  gjelbër dhe të kuqe.

LED-i, si disa komponentë, ka një anë pozitive "+" dhe një anë negative "-", kjo karakteristikë njihet gjithashtu si polaritet. Nëse e ndizni në të kundërt, nuk do të funksionojë dhe madje mund edhe të djeget. Kunja (këmba) më e gjatë e LED-it është ana pozitive dhe ajo më e vogël është ana negative.

LED
Montimi i saktë i një LED në një breadboard bëhet siç tregohet në figurën më poshtë. Të dy terminalet LED nuk mund të jenë në të njëjtën kolonë në breadboard, kujtojmë se vrimat e kolonave janë të lidhura vertikalisht me njëra-tjetrën. Ky parim i njëjtë i montimit vlen edhe për përbërësit e tjerë në setin tonë.

Lidhja1
Lidhja2

Çfarë është një rezistor?

Rezistori është përbërësi elektrik më i zakonshëm që ekziston. Një nga aplikimet e një rezistori, dhe më e zakonshmja, është kufizimi i rrjedhës së rrymës elektrike që kalon përmes një qarku.

Rezistorët kanë vlera të ndryshme të rezistencës, sa më e lartë është rezistenca, aq më shumë do të kufizojë rrymën që rrjedh përmes saj. Vlera e rezistencës është fikse dhe tregohet nga shiritat e ngjyrave të vendosura në të. 

Rezistor

Rezistor2

Për shembull, duke përdorur një rezistor 220 ohm, ne zvogëlojmë rrymën e qarkut për të punuar në vlerat e një LED. Pa rezistor, rryma që kalon nëpër LED do të ishte shumë e madhe dhe do ta djegte atë.

Ju lehtë mund të lidhni një rezistor sepse nuk ka një anë pozitive ose negative, domethënë nuk ka rëndësi se cila anë është e lidhur.

Si funksionon një qark elektronik?

 

Projekti 2 - Kodi Morse (SOS)

Ju ndoshta e keni parë në filma kur njerëzit dërgojnë thirrje SOS në kodin Morse. Në këtë projekt ne do të ndezim një LED në modelin SOS. Shkronja S është 3 pulsime të shkurtra që tregojnë pikën e kodit morse dhe shkronja O është 3 pulsime pak më të gjata që tregojnë vijën e kodit morse.

SOS

Ky projekt tregon se, përmes programimit, ne mund të ndezim LED në mënyra të ndryshme dhe intervale të ndryshme kohore.

Materialet e nevojshëm

  • 1x LED i kuq 5 mm

  • 1x Rezistorë 220 ohm

  • 1x Breadboard

  • 2x Tela M-M

  • 1x kabëll USB

  • 1x Pllakë Arduino Uno

Montimi i qarkut

Montimi i paisjeve do të bëhet si më poshtë:

SOS-1

Programimi i projektit të dytë

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

//  Projeto 2 - Sinal de SOS com LED

int pinoLed = 11;

 

void setup() {

  pinMode(pinoLed, OUTPUT);

}

 

void loop() {

 

  // S(...) tres pontos

  for(int x=0;x<3;x++) // Repete tudo dentro das chaves tres vezes

  {

    digitalWrite(pinoLed,HIGH);     // Acende o LED      

    delay(150);                     // Aguarda

    digitalWrite(pinoLed,LOW);      // Desliga o LED

    delay(100);                     // Aguarda novamente

  }

   

  delay(200);

       

  // O(---) tres linhas

  for(int x=0;x<3;x++)

  {

    digitalWrite(pinoLed,HIGH);           

    delay(450);                          

    digitalWrite(pinoLed,LOW);            

    delay(150);                          

  }

 

  delay(200);

       

  //S(...) tres pontos

  for(int x=0;x<3;x++)

  {

    digitalWrite(pinoLed,HIGH);          

    delay(150);                          

    digitalWrite(pinoLed,LOW);           

    delay(100);                          

  }

 

  delay(5000);

}

Gabimet e mundshme

Nëse projekti nuk funksionon, kontrolloni disa nga gabimet e mundshme:

  • Kontrolloni që telat të jenë në të njëjtën kolonë me terminalet përbërës;
  • Kontrolloni që telat të jenë të lidhur me kunjat e saktë në Arduino;
  • Kontrolloni që LED nuk është lidhur i në anën e kundërt;
  • Kontrolloni nëse kodi është ngarkuar në bord përmes Arduino IDE.

Sfidat
Këtu janë disa sfida që mund të provoni!

1. Zëvendësoni LED me një ngjyrë tjetër;
2. Montoni qarkun në një mënyrë alternative duke përdorur vrima dhe pozicione të tjera në Arduino;

Projekti 3 

Në projektet e mëparshme kemi parë se si ta ndezim dhe fikim një LED. Por, çka nëse do të donim të ndryshonim shkëlqimin e asaj drite? Duke përdorur komponentë të ndryshëm, ne mund të ndryshojmë intensitetin e tyre, jo vetëm ta ndezim ose fikim. Një motor, për shembull, mund të ndryshojë shpejtësinë e tij. Për këtë do të përdorim një funksion tjetër në Arduino, daljen e tij analoge.

Int

Çfarë janë portet dixhitale dhe analoge?

Kunjat në Arduino quhen porte dhe pikërisht përmes këtyre bordi kontrollon hyrjet ose daljet. Një portë dalje (output) kontrollon një pajisje dhe një portë hyrëse (input) lexon një sinjal nga një pajisje e jashtme. Në shembujt e mëparshëm, ne përdorëm një port dalës (output) për të ndezur një LED. Në projektet e ardhshme, ne do të shohim se si të përdorim një portë hyrëse (input) për të marrë informacion nga sensorët. Kështu, Arduino mund të lidhet së bashku me pajisjet e jashtme për t'i kontrolluar ato ose për të lexuar informacionin e tyre.

Portet Arduino mund të jenë dixhitale ose analoge. Kur po bënim një LED të ndizej, ne po përdornim një dalje dixhitale nga Arduino. Një dalje dixhitale përbëhet nga vetëm dy gjendje, ndezur ose fikur. Një shembull i kësaj mund të shihet kur hidhni një monedhë që ka vetëm dy gjendje: ose koka ose bisht.

Nga ana tjetër, një dalje analoge përbëhet nga disa gjendje, të cilat mund të jenë të larta, të ulëta, të mesme etj.

Sinjalet
Duke përdorur portat analoge ne gjithashtu mund të ndryshojmë shkëlqimin e një LED. Në program, ne e bëjmë këtë përmes funksionit analogWrite(), i cili dërgon një vlerë në një dalje analoge. Pra, në vend që të kemi vetëm dy gjendje, ndezur/fikur, ne mund të kemi disa gjendje të ndërmjetme, duke ndryshuar kështu shkëlqimin e një LED. Po kështu, është e mundur të ndryshosh shpejtësinë e motorit, vëllimin e një tingulli, temperaturën etj. Por kjo është e mundur vetëm në kunjat që janë shënuar me shenjën "~" që tregon se kunja mbështet daljen analoge. Për shembullin tonë, ne do të përdorim pin-in 11, i cili ka treguesin e daljes analoge.

Materialet e nevojshëm

  • 1x LED i kuq 5 mm

  • 1x Rezistorë 220 ohm

  • 1x Breadboard

  • 2x Tela M-M

  • 1x kabëll USB

  • 1x Pllakë Arduino Uno

Montimi i qarkut

Në këtë projekt ne do të vazhdojmë me të njëjtin qark si projektet e mëparshme.

Qarku

Programimi i projektit të tretë

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

//   Projeto 3 - Brilho do LED

 

 

// configura a saída 11 como pino do LED

int pinoLed = 11;

 

void setup() {

  // configura pino do LED como saída

  pinMode(pinoLed,OUTPUT);

}

 

void loop(){

  acendeBrilho(5);

  apagaBrilho(5);

}

 

void acendeBrilho(int increamento){

  // muda o brilho pelo loop for

  for (byte value = 0 ; value < 255; value+=increamento){

    // controla o brilho no pino do LED

    analogWrite(pinoLed, value);

    delay(30);

  }

}

 

void apagaBrilho(int decreamento){

  // muda o brilho pelo loop for

  for (byte value = 255; value >0; value-=decreamento){

    // controla o brilho no pino do LED

    analogWrite(pinoLed, value);

    delay(30);

  }

}

Gabimet e mundshme

Nëse projekti nuk funksionon, kontrolloni disa nga gabimet e mundshme:

  • Kontrolloni që telat të jenë në të njëjtën kolonë me terminalet përbërës;
  • Kontrolloni që telat të jenë të lidhur me kunjat e saktë në Arduino;
  • Kontrolloni që LED nuk është lidhur i në anën e kundërt;
  • Kontrolloni nëse kodi është ngarkuar në bord përmes Arduino IDE.

Sfidat
Këtu janë disa sfida që mund të provoni!

1. Zëvendësoni LED me një ngjyrë tjetër;
2. Montoni qarkun në një mënyrë alternative duke përdorur vrima dhe pozicione të tjera në Arduino;
3. Ndryshoni intervalin kohor të pulsimit të LED-s. 

Projekti 4 - Semafori

Ky projekt do të simulojë një semafor për makinat dhe këmbësorët. Do të ketë tre LED për makina dhe dy për këmbësorët. Sekuenca fillon duke ndezur LED e gjelbër për makinë dhe të kuqe për këmbësorët. Semaforët e makinave pastaj kthehen në të verdhë e më pas në të kuqe, së bashku me LED-in e gjelbër për këmbësorë. LED-i i kuq për këmbësorë pulson dhe sekuenca kthehet në fillim.

Semafori

Materialet e nevojshëm

  • 2x LED i kuq 5 mm

  • 2x LED i gjelbër 5 mm

  • 1x LED i verdhë 5 mm

  • 5x Rezistorë 220 ohm

  • 1x Breadboard

  • 11x Tela M-M

  • 1x kabëll USB

  • 1x Pllakë Arduino Uno

Montimi i qarkut

Sfida e madhe e këtij projekti është mbledhja e LED-ve në mënyrë korrekte, sepse qarku përbëhet nga shumë LED, shumë rezistenca dhe shumë tela. Tani do të përdorim një nga vijat e poshtme të breadboard-it, duke lidhur pinin GND (negativ) të Arduino me vijën e kaltër të breadboard-it.

Semafori2

Shumica e njerëzve, madje edhe krijuesit me përvojë, duhet të kthehen në këtë pjesë të projektit dhe ta ribëjnë atë, mos u shqetësoni. Nëse mund ta bëni punën e lidhjeve në provën e parë, urime!

Programimi i projektit të katërt

Ky kod, megjithëse duket i ndërlikuar, është shumë i thjeshtë.  Mundohuni të kuptoni kodin dhe të shihni se çfarë do të ndodhë prej tij.

Si të gjithë kodet, ne fillojmë me përcaktimin e variablave, përcaktimin e kunjave të përdorura dhe, së fundmi, lakun () (loop) që vazhdon të përsëritet vazhdimisht.

Nëse keni probleme për ta kuptuar, mund të lexoni komentet brenda programit.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

// Projekti 1 - Semafori

 

int kembesorGjelber = 9;  // Përcakton kunjat që do të përdoren

int kembesorKuqe = 8;

int veturaGjelber = 12;

int veturaVerdhe = 11;

int veturaKuqe = 10;

 

void setup() // Përcakton kunjat si rezultate (output)

{

  pinMode(kembesorGjelber, OUTPUT);

  pinMode(kembesorKuqe, OUTPUT);

  pinMode(veturaGjelber, OUTPUT);

  pinMode(veturaKuqe, OUTPUT);

  pinMode(veturaKuqe, OUTPUT);

 

  digitalWrite(veturaGjelber, HIGH); // Vendoseni në pozicionin fillestar. Vetëm e gjelbërta e makinave dhe e kuqja e këmbësorëve të ndezen

  digitalWrite(veturaKuqe, LOW);

  digitalWrite(veturaKuqe, LOW);

  digitalWrite(kembesorGjelber, LOW);

  digitalWrite(kembesorKuqe, HIGH);

}

 

void loop()

{

  digitalWrite(veturaGjelber, HIGH); // Dritat e gjelbërta për makinat dhe e kuqe për këmbësorët

  digitalWrite(kembesorKuqe, HIGH); 

  delay(5000); // Prisni 5 sekonda

  digitalWrite(veturaGjelber, LOW);

  digitalWrite(veturaKuqe, HIGH); // fikni të gjelbërtën e makinave dhe ndizni të verdhën

  delay(3000); // prisni edhe 3 sekonda

  digitalWrite(veturaKuqe, LOW); // fikni të verdhën e makinave dhe ndizni të kuqen

  digitalWrite(veturaKuqe, HIGH);

  digitalWrite(kembesorKuqe, LOW); // fik të kuqen e këmbësorëve dhe ndez të gjelbërtën

  digitalWrite(kembesorGjelber, HIGH);

  delay(5000);  // prisni edhe 5 sekonda

  digitalWrite(kembesorGjelber, LOW);

  for(int x = 0; x<5; x++) // Ndez të kuqe e këmbësorëve

  {

    digitalWrite(kembesorKuqe, HIGH);

    delay(250);

    digitalWrite(kembesorKuqe, LOW);

    delay(250);

  }

  digitalWrite(veturaKuqe, LOW); 

}

A e kuptuat logjikën e programit? Mund ta ndryshoni siç dëshironi dhe të bëni logjikën tuaj të semaforit!

Gabimet e mundshme

Nëse projekti nuk funksionon, kontrolloni disa nga gabimet e mundshme:

  • Kontrolloni që telat të jenë në të njëjtën kolonë me terminalet përbërës;
  • Kontrolloni që telat të jenë të lidhur me kunjat e saktë në Arduino;
  • Kontrolloni që LED nuk është lidhur i në anën e kundërt;
  • Kontrolloni nëse kodi është ngarkuar në bord përmes Arduino IDE.

Projekti 5

Në këtë projekt, ne do të shohim se është e mundur që të aktivizojmë pajisje përmes ndërveprimit njerëzor. Tani po të i përdorim disa kunja si porta hyrëse.

Projekti2

Qëllimi i këtij projekti është të tregoj se si të aktivizoni një LED duke shtypur një buton. Kjo nënkupton që Arduino mund të marrë ose lexojë informacione të jashtme dhe të ndërmarr veprime të ndryshme.

Butoni

Një butoni (si në figurën më lartë) funksionon si një kontakt i hapur dhe i mbyllur, kështu që një buton ka dy vlera, 0 ose 1, të hapur ose të mbyllur. Duke lidhur një buton me një port në Arduino mund të lexojmë vlerën 0 ose 1 të butonit dhe kështu të ndërmarrim një veprim, i cili në shembulli tonë do të jetë aktivizimi i LED. Meqenëse ka vetëm dy vlera të mundshme, ne do të përdorim një nga portet dixhitale të bordit.

Butoni2
 

Butoni, kur shtypet, krijon kontakt midis njërës anë të saj dhe tjetrës. Kur ky kontakt është i mbyllur, rryma elektrike "hyn" në Arduino dhe e dallon se butoni është shtypur. Në program, ne do të vendosim se çfarë të bëjmë me këtë informacion.

Materialet e nevojshëm

  • 1x LED i kuq 5 mm
  • 1x Rezistor 220 ohm 
  • 1x Butoni 
  • 1x Breadboard 
  • 5x jumper (tela) M-M
  • 1x kabëll USB
  • 1x Arduino

Montimi i qarkut

Butoni duhet të montohet si në figurën më poshtë. Një terminal i butonit lidhet në pin-in 7 dhe tjetri në GND. Në rastin e këtij dizajni, LED është një dalje dixhitale dhe kunji i butonit është një hyrje dixhitale.

Butoni3

Programimi i projektit të pestë

Për të lexuar vlerën dixhitale të një butoni, së pari duhet të konfigurojmë pinin si një hyrje duke përdorur pinMode(botao, INPUT_PULLUP); dhe më pas lexoni me digitalRead(botao); Varësisht nga vlera e leximit që është 0 ose 1, ne kontrollojmë një LED. Shihni programin e plotë më poshtë:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

//   Projeto 5 - Interruptor de luz

 

int botao = 7;

int led = 13;

bool estadoLed = 0;

 

void setup()

{

  pinMode(botao, INPUT_PULLUP); // define o pino do botao como entrada "INPUT"

  pinMode(led, OUTPUT);

}

 

void loop()

{

  if(digitalRead(botao) == LOW) // Se o botão for pressionado

  {

    estadoLed = !estadoLed; // troca o estado do LED

    digitalWrite(led, estadoLed);

    while(digitalRead(botao) == LOW);

    delay(100);      

  }   

}

Gabimet e mundshme

Nëse projekti nuk funksionon, kontrolloni disa nga gabimet e mundshme:

  • Kontrolloni që telat të jenë të lidhur me kunjat e saktë në Arduino;
  • Kontrolloni që LED nuk është lidhur i në anën e kundërt;
  • Kontrolloni që kunjat e butonit janë futur mirë në breadboard;
  • Kontrolloni nëse kodi është ngarkuar në bord përmes Arduino IDE.

Sfidat

Më poshtë janë disa sfida që mund të provoni!

1. Montoni qarkun në një mënyrë tjetër duke përdorur vrima dhe pozicione të tjera në breadboard;
2. Shtoni një buton tjetër dhe modifikoni kodin në mënyrë që me njërin buton ta ndezni LED-në dhe ta fikni me butonin tjetër.

Projekti 6 - Drita shumëngjyrëshe

Disa LED janë në gjendje të ndryshojnë ngjyrën e tyre, ne i quajmë ato RGB LED. Kanë të njëjtin funksion themelor si një LED i zakonshëm, por ka tre ngjyra në të njëjtin komponent, sikur të ishin tre LED bashkë: Kuq (R), Gjelbër (G) dhe e kaltër (B). Kështu që ne mund të ndryshojmë ngjyrat përmes programimit dhe madje edhe të i përziejmë.

rgb

Siç tregohet në figurën më poshtë, LED RGB ka katër "këmbë", këmba më e gjatë është kunja e zakonshme pozitive për të gjitha LED-et e brendshme.

rgb2

Projekti 6 ka të bëjë në ndërrimin e 3 ngjyrave të RGB LED përmes Arduino në një interval prej 1 sekondë.

rgb-1

Materialet e nevojshëm

  • 1x LED RGB 5 mm
  • 3x Rezistor 220 ohm 
  • 5x jumper (tela) M-M
  • 1x Breadboard
  • 1x kabëll USB
  • 1x Arduino

Montimi i qarkut

Montimi i këtij qarku bëhet sikur të ishin tre LED të vendosura në të njëjtin projekt. Shtoni një rezistencë për secilën këmbë të RGB LED dhe lidhni kunjin 5V të Arduinos me këmbën pozitive të RGB LED. Çdo pin i LED është i lidhur me një port dixhital të Arduinos.

rgb3

E rëndësishme! Vini re se teli i kuq 5V duhet të jetë i lidhur me këmbën më të gjatë të LED.

Programimi i projektit të gjashtë - Drita shumëngjyrëshe

Programi ka të bëjë me ndezjen e secilës prej ngjyrave të LED-s në një interval prej 1 sekondë.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

// Projeto 6 - Luzes Coloridas

 

 

int led_R = 7; // pino LED Vermelho (R)

int led_G = 6; // pino LED Verde (G)

int led_B = 5; // Pino LED Azul (B)

 

void setup()

{

  pinMode(led_R, OUTPUT); // Definimos os pinos como saida

  pinMode(led_G, OUTPUT);

  pinMode(led_B, OUTPUT);

  apagaLed();

}

 

void loop()

{

  acendeVermelho(); // aqui fizemos uma pequena funcao que acende uma cor e apaga as outras

  delay(1000);

  acendeVerde();

  delay(1000);

  acendeAzul();

  delay(1000);

  apagaLed();

  delay(1000);

         

}

 

void acendeVermelho()

{

  digitalWrite(led_R, LOW);

  digitalWrite(led_G, HIGH);

  digitalWrite(led_B, HIGH);

}

 

void acendeVerde()

{

  digitalWrite(led_R, HIGH);

  digitalWrite(led_G, LOW);

  digitalWrite(led_B, HIGH);

}

 

void acendeAzul()

{

  digitalWrite(led_R, HIGH);

  digitalWrite(led_G, HIGH);

  digitalWrite(led_B, LOW);

}

 

void apagaLed()

{

  digitalWrite(led_R, HIGH);

  digitalWrite(led_G, HIGH);

  digitalWrite(led_B, HIGH);

}

Gabime të mundshme

Nëse projekti nuk funksionon, kontrolloni disa nga gabimet e mundshme:

  • Kontrolloni që telat janë të lidhur me kunjat e saktë në Arduino;
  • Kontrolloni nëse terminali pozitiv i RGB LED është në pozicionin e duhur, i lidhur me 5V të Arduino;
  • Kontrolloni që kodi të jetë ngarkuar në bord përmes Arduino IDE.

Sfidat

Më poshtë janë disa sfida që mund të provoni!

1. Përzieni ngjyrat duke ndezur dy ngjyra në të njëjtën kohë;
2. Përdorni konceptet që kemi mësuar në projektin e mëparshëm për të ndryshuar ngjyrat e LED-së me shtypjen e një butoni;

Projekti 7 - Potenciometri

Në projektin e mëparshëm, ne bëmë një RGB LED të ndriçojë pa ndërprerje me ngjyra të ndryshme. Në këtë projekt ju do të kontrolloni se si një LED do të ndryshojë ngjyrën e saj. Për t'i dhënë komanda bordit të Arduinos, ne do të përdorim një potenciometër.

Potenciometer
Në këtë projekt do të përdorim një rezistencë të ndryshueshme të quajtur potenciometër. Ndryshe nga një buton që është dixhital dhe ka një vlerë prej 0 ose 1, potenciometri ndryshon vlerën e tij sipas rrotullimit të shufrës së tij dhe, për këtë arsye, duhet të jetë i lidhur me një port analoge Arduino.

Potenciometri përdoret gjerësisht në kontrollet e vëllimit, intensitetin e llambës etj. Shihni figurën më poshtë për funksionimin e saj të brendshëm.

potentiometer2

Ky projekt ka të bëjë me kontrollimin e ngjyrave RGB LED duke rrotulluar potenciometrin.

Potenciometer-1

Materialet e nevojshëm

  • 1x LED RGB 5 mm
  • 1x Potenciometer 10K ohm
  • 3x Rezistor 220 ohm 
  • 1x Breadboard
  • 9x jumper (tela) M-M
  • 1x kabëll USB
  • 1x Arduino

Montimi i qarkut

Lidhja e RGB LED është e njëjtë si në projektin e mëparshëm. Tani shtoni potenciometrin duke lidhur një kunj në 5V, një kunj në GND dhe kunjin qendror të tij në një port analoge Arduino. Mos u shqetësoni për anën pozitive apo negative, ashtu si një rezistencë e zakonshme, potenciometri nuk ka asnjë anë pozitive ose negative, domethënë nuk ka rëndësi se cila anë është e lidhur me qark. I vetmi kujdes që duhet të tregohet kur vendosni potenciometrin në breadboard është montimi, i cili duhet të shtrëngohet pak.

potentiometer3

Programi i projektit 7 - Potenciometri

Për të lexuar vlerën e një potenciometri ose ndonjë komponenti që ka një sinjal të ndryshueshëm, ne përdorim funksionin analogRead() që transformon rrotullimin e potenciometrit në vlera nga 01023.

Programi konsiston në ndërrimin e ngjyrave të RGB LED gjatë rrotullimit të potenciometrit, duke lexuar vlerën e tij përmes funksionit analogRead().

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

//   Projeto 7 - Troque a cor das luzes

 

 

int led_R = 7; // pino LED Vermelho (R)

int led_G = 6; // pino LED Verde (G)

int led_B = 5; // Pino LED Azul (B)

int pot = A0;

 

int valorPot;

 

void setup()

{

  pinMode(led_R, OUTPUT);

  pinMode(led_G, OUTPUT);

  pinMode(led_B, OUTPUT);

  apagaLed();

}

 

void loop()

{

  valorPot = analogRead(pot); // lê o valor do potenciômetro (de 0 a 1023)

  if(valorPot >= 0 && valorPot <= 256) // menor que 256 apaga o LED

  {

    apagaLed(); 

  }

  if(valorPot > 256 && valorPot <= 512) // entre 256 e 512, acende vermelho

  {

    acendeVermelho();

  }

  if(valorPot > 512 && valorPot <= 768) // entre 512 e 768, acende verde

  {

    acendeVerde();

  }

  if(valorPot > 768 && valorPot <= 1023) // entre 768 e 1023, acende azul

  {

    acendeAzul();

  }       

}

 

void acendeVermelho()

{

  digitalWrite(led_R, LOW);

  digitalWrite(led_G, HIGH);

  digitalWrite(led_B, HIGH);

}

 

void acendeVerde()

{

  digitalWrite(led_R, HIGH);

  digitalWrite(led_G, LOW);

  digitalWrite(led_B, HIGH);

}

 

void acendeAzul()

{

  digitalWrite(led_R, HIGH);

  digitalWrite(led_G, HIGH);

  digitalWrite(led_B, LOW);

}

 

void apagaLed()

{

  digitalWrite(led_R, HIGH);

  digitalWrite(led_G, HIGH);

  digitalWrite(led_B, HIGH);

}

Gabime të mundshme

Nëse projekti nuk funksionon, kontrolloni disa nga gabimet e mundshme:

  • Kontrolloni që telat janë të lidhur sikur në skemën e paraqitur.
  • Kontrolloni që telat janë të lidhur me kunjat e saktë në Arduino;
  • Kontrolloni nëse terminali pozitiv i RGB LED është në pozicionin e duhur, i lidhur me 5V të Arduinos;
  • Sigurohuni që kunjat e potenciometrit janë futur plotësisht në vrimat e breadboard-it;
  • Kontrolloni nëse kodi është ngarkuar në bord përmes Arduino IDE.

Sfidat
Më poshtë janë disa sfida që mund të provoni!

1. Përzieni ngjyrat duke rrotulluar potenciometrin;
2. Përdorni konceptet e ndryshme për kontrollimin e shkëlqimit LED duke kontrolluar intensitetin e ngjyrave duke rrotulluar potenciometrin.

Projekti 8 - Servo motorri

Ekzistojnë disa lloje të motorëve që mund të përdoren me Arduino. Ndër më të lehtë për t'u përdorur është servo motorri, i cili përdoret gjerësisht në projekte që kanë nevojë për lëvizje.

Servo motorri në thelb është një motorr ku mund të kontrolloni pozicionin e tij. Servo mund të bëjë një lëvizje rrotullimi deri në gjysmë kthesë, nuk vazhdon të kthehet plotësisht si disa motorë. Sidoqoftë, ka modele të tjera të servo motorit që mund të bëjnë kthesa të plota, secili model është i përshtatshëm për një lloj tjetër të projektit.

Servo