2. Arduino – LED gaismas diodes un rezistori

Elektronika – Arduino – Arduino, LED gaismas diodes un rezistori

Arduino 2. nodarbība

Šajā nodarbībā iemācīsimies kā saslēgt LED gaismas diodes, aprēķināt tām nepieciešamos rezistorus un ieslēgt tās ar Arduino programmu.

Nepieciešamie komponenti

  1. Arduino kontrolieris (piem. Uno, Nano) ar USB kabeli
  2. Bredbords 400 punktu Half+
  3. Savienošanas vadi 10cm male-male 5 gab
  4. LED gaismas diodes 3 gab.
  5. Rezistori 330Ω 3 gab. (der jebkuri rezistori ar pretestību 200Ω-680Ω)

Bredboda shēma


Bredbordā katri 5 kontakti rindā ir savienoti savā starpā. Tāpat abās malās savā starpā ir savienoti visi + un – kontakti.

Rezistoru pretestības aprēķināšana LED gaismas diodēm

Pēc Oma likuma:
Pretestība Ω = (Spriegums V – Sprieguma kritums V) / Strāvas stiprums A

LED strāvas stiprums (forward current): Ja nav norādīts, tad lieto 20mA = 0.02A.

LED sprieguma kritums (forward voltage): Ja nav norādīts, tad lieto – IR 1.5V, sarkana un oranža 2.0V, dzeltena 2.1V, zaļa 2.2V, tumši zaļa, zila un balta 3.3V, UV 3.3V, zila (430 nm) 4.6V.
(Zaļās, zilās un baltās diodes nedarbosies ar 3V spriegumu, jo nepieciešams lielāks spriegums, nekā ir sprieguma kritums)

Minimālā rezistora aprēķins LED gaismas diodēm pie 5V sprieguma:
   Sarkana (5V – 2V) / 0.02A = 150Ω
   Dzeltena (5V – 2.1V) / 0.02A = 145Ω
   Zaļa, zila, balta (5V – 3.3V) / 0.02A = 85Ω
Izvēlamies jebkuru rezistoru no 200Ω līdz 680Ω.

Pievienojot lielāku rezistoru, gaismas diode degs vājāk. Pievienojot rezistoru par mazu, tā degs spožāk vai sadegs!

Slēgums

Pieslēdzam strāvu bredbordam. 5V savienojam ar sarkano joslu (+) un GND savienojam ar zilo joslu (-). Bredborda vidusdaļā 5 punkti katrā rindā ir savā starpā savienoti un visi punkti gar līnijām (+ un -) ir savā starpā savienoti.

Pieslēdzam rezistorus – vienu kāju pie (-) un pretī otrai kājai LED gaismas diožu īsāko kāju (-). Shēmā LED saliektā kāja ir garākā (+), bet taisnā īsākā (-).

Vienai LED no garākās kājas (+) savienojam vadu ar sarkano joslu (+), bet otrās un trešās LED garākās kājas (+) savienojam attiecīgi ar Arduino digitālo pinu 2 un 3.

Pievienojot Arduino datoram, pirmā LED gaismas diode iedegas, jo tai pienāk 5V strāva.

Programma

Kā pieslēgt Arduino un kā lietot Arduino IDE programmu skatiet 1.nodarbībā

/*
* LEDs blink
*/
const int led2 = 2; // led2 digitālā pina nr.
const int led3 = 3; // led3 digitālā pina nr.
void setup() {
 pinMode(led2, OUTPUT); //uzstāda led2 pinu kā izejošo
 pinMode(led3, OUTPUT); //uzstāda led3 pinu kā izejošo
}
void loop() {
 digitalWrite(led2, HIGH); // iededz led2
 delay(1000); // gaida 1 sekundi
 digitalWrite(led2, LOW); // izslēdz led2
 digitalWrite(led3, HIGH); // iededz led3
 delay(1000); // gaida 1 sekundi
 digitalWrite(led3, LOW); // izslēdz led3
}

HIGH nozīmē 3V-5V spriegumu, bet LOW – 0V izejošo spriegumu vai 0V – 1.5V ienākošo spriegumu.

Cikls darbojas, kamēr Arduino kontrolierim ir pieslēgta strāva vai ielādēta cita programma. Atjaunojot strāvu, programma automātiski atsāk darboties.

Papildus

Kods pielāgots no:
Fails (File) – Piemēri (Examples) – 01.Digital – BlinkWithoutDelay

const int led2 = 2;
int ledState = LOW; 
unsigned long previousMillis = 0;
const long interval = 1000;
void setup() {
  pinMode(led2, OUTPUT); 
}
void loop() {
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;
    if (ledState == LOW) {
      ledState = HIGH;
    } else {
      ledState = LOW;
    }
    digitalWrite(led2, ledState);
  }
}

Šis ir veids kā neizmantot DELAY, jo tas apstādina visu programmu un nekas cits tajā laikā nevar notikt.

Atbildēt