Arduino LED valdymas

LED‘ai yra maži tačiau ryškus šviesos šaltiniai, be kurių sunkiai įsivaizduojami įvairus elektroniniai įrenginiai. Šioje pamokoje apžvelgsime, kaip Arduino pagalba valdyti Led‘us, bei kaip juos panaudoti savo projektuose.

Komponentai:

  • 1 × Breadboard‘as.
  • 1 × Arduino Uno plokštė
  • 1 × LED‘as
  • 1 × 330Ω Resistorius
  • 2 × Sujungimo laidai

Sujungimas

Atsižvelgdami į žemiau pateiktą schemą sujunkite visus komponentus į vieną grandinę.

Svarbu, atkreipti dėmesį į tai, kad LED‘as turi dvi sujungimo kojeles kurios yra skirtingų polių, vieną iš jų neigiamo polio įprastai ši kojelė yra trumpesnė už kitą.

Žemiau pateikta programa privers mūsų sujungtą schema veikti taip, kad LED‘as mirksėtų vienos sekundės intervalas.

// funkcija setup() vykdoma vieną kartą paleidus programą.

void setup() {      

pinMode(2, OUTPUT); // pin‘as 2 priskiriamas išvesčiai

}

// loop() funkcija vykdo amžiną ciklą, kuris veiks tol kol mikrovaldikliui bus tiekiama elektra.

void loop() {    

digitalWrite(2, HIGH); // pin‘ui 2 priskiriama reikšmė HIGH (LED‘as priverčiamas šviesti)  

delay(1000); // suteikiamas vienos sekundės intervalas    

digitalWrite(2, LOW); // pin‘ui 2 priskiriama reikšmė LOW (LED‘as išjungiamas)    

delay(1000); // suteikiamas vienos sekundės intervalas

}

Iš ankstesniu pamokų žinote, kad pinMode() funkcija skirta aprašyti kaiščio naudojimą, priskirti jam įvesties/išvesties tipą. Tuo tarpu digitalWrite() funkcija suteikia pin‘ui reikšmę, kurią jis įtampos pavidalu perduoda prijungtam komponentui (šiuo atveju LED‘ui).

Kiti kodo pavyzdžiai naudojant LED‘us.

Anksčiau pateiktame kode mūsų LED šviesdavo 1 sekundės intervalą, o laiko tarpas tarp šviesos mirksnių taip pat būdavo 1 sekundė.

Pakeiskime kodą taip, kad LED‘as sumirksėtu du kartus po 250 milisekundžių ir viena kartą mirktelėjimas truktų viena sekundę.

void setup() {      

pinMode(2, OUTPUT);

}

void loop() {    

digitalWrite(2, HIGH); // pin‘ui 2 priskiriama reikšmė HIGH (LED‘as priverčiamas šviesti)  

delay(250); // suteikiamas 1/4 sekundės intervalas    

digitalWrite(2, LOW); // pin‘ui 2 priskiriama reikšmė LOW (LED‘as išjungiamas)    

delay(250); // suteikiamas 1/4 sekundės intervalas

digitalWrite(2, HIGH); // pin‘ui 2 priskiriama reikšmė HIGH (LED‘as priverčiamas šviesti)  

delay(250); // suteikiamas 1/4 sekundės intervalas    

digitalWrite(2, LOW); // pin‘ui 2 priskiriama reikšmė LOW (LED‘as išjungiamas)    

delay(250); // suteikiamas 1/4 sekundės intervalas

digitalWrite(2, HIGH); // pin‘ui 2 priskiriama reikšmė HIGH (LED‘as priverčiamas šviesti)  

delay(1000); // suteikiamas vienos sekundės intervalas    

digitalWrite(2, LOW); // pin‘ui 2 priskiriama reikšmė LOW (LED‘as išjungiamas)    

delay(250); // suteikiamas 1/4 sekundės intervalas

}

Pabandykime prijungti dar du LED‘us prie mūsų grandinės taip kaip žemiau pateiktoje schemoje (jums taip pat reikės ir dar dviejų rezistorių.

Šį kart programai nurodysime, kad visi LED‘ai šviestų eilės tvarka, vienos sekundės intervalu.

void setup() {     

pinMode(2, OUTPUT); // pin‘as 2 priskiriamas išvesčiai

pinMode(3, OUTPUT); // pin‘as 3 priskiriamas išvesčiai

pinMode(4, OUTPUT); // pin‘as 4 priskiriamas išvesčiai

}

void loop() {   

digitalWrite(2, HIGH); // pin‘ui 2 priskiriama reikšmė HIGH (LED‘as priverčiamas šviesti)   

delay(1000); // suteikiamas vienos sekundės intervalas   

digitalWrite(2, HIGH); // pin‘ui 2 priskiriama reikšmė LOW (LED‘as išjungiamas)   

digitalWrite(3, HIGH); // pin‘ui 3 priskiriama reikšmė HIGH (LED‘as priverčiamas šviesti)   

delay(1000); // suteikiamas vienos  sekundės intervalas  

digitalWrite(3, HIGH); // pin‘ui 3 priskiriama reikšmė LOW (LED‘as išjungiamas)   

digitalWrite(4, HIGH); // pin‘ui 4 priskiriama reikšmė HIGH (LED‘as priverčiamas šviesti)   

delay(1000); // suteikiamas vienos  sekundės intervalas

digitalWrite(4, HIGH); // pin‘ui 4 priskiriama reikšmė LOW (LED‘as išjungiamas)   

}


Socialiniai tinklai
Pasiekite mūsų bendruomenę socialinėje erdvėje
Siekiame suburti tvirta ir draugiška bendruomene socialiniuose tinkluose, kuri bus pasiekiama ir atvira visiems.
Facebook
Youtube
Github
Codepen
LinkedIn
Instagram
Bendruomenė
Arduinopagalba.lt
Nesvarbu ar tu ieškai informacijos ar nori ją perduoti, mūsų bendruomenėje laukiami visi. Siekiame, kad projektas ne tik teiktų informaciją, bet ir padėtų surasti bendraminčius.
Prisijungti