Arduino gladek vklop RGB LED z gumbom. Nadzor svetlosti LED s potenciometrom. Opis programa za Arduino

V tem poskusu z enim gumbom LED diodi dodamo del svetlosti, z drugim pa jo zmanjšamo.

SEZNAM DELOV ZA POSKUS

- 1 plošča Arduino Uno;

- 1 plošča brez spajkanja;

- 2 gumba za uro;

- 1 upor z nazivno vrednostjo 220 Ohmov;

- 1 LED;

- 7 moški-moški žic.

SHEMA VEZJA

DIAGRAM NA MEZNICI

OPOMBA

  • Če predelujete vezje iz prejšnjega poskusa, upoštevajte, da moramo tokrat priključiti LED na vrata, ki podpirajo PWM.

SKICA

prenesite skico za Arduino IDE
#define PLUS_BUTTON_PIN 2 #define MINUS_BUTTON_PIN 3 #define LED_PIN 9 int lightness = 100; boolean plusUp = res; boolean minusUp = res; void setup() ( pinMode(LED_PIN, OUTPUT); pinMode(PLUS_BUTTON_PIN, INPUT_PULLUP); pinMode(MINUS_BUTTON_PIN, INPUT_PULLUP); ) void loop() ( analogWrite(LED_PIN, svetlost); // odziv na klike s funkcijo plusUp, ki smo jo napisali = handleClick(PLUS_BUTTON_PIN, plusUp, +35); minusUp = handleClick(MINUS_BUTTON_PIN, minusUp, -35); ) // Lastna funkcija s 3 parametri: pin številka z gumbom // (buttonPin), stanje pred preverjanjem (wasUp) ) in stopnjevanje // svetlosti, ko kliknete na gumb (delta). Funkcija vrne // (angleško return) nazaj novo, trenutno stanje gumba boolean handleClick(int buttonPin, boolean wasUp, int delta) ( boolean isUp = digitalRead(buttonPin); if (wasUp && !isUp) ( delay(10 ); isUp = digitalRead(buttonPin); // če je bil klik, spremeni svetlost od 0 do 255 if (!isUp) svetlost = constrain(brightness + delta, 0, 255); ) vrni isUp; // vrni vrednost nazaj na kodo klicatelja)

POJASNILA ZA KODO

  • Uporabljamo lahko ne samo vgrajene funkcije, ampak tudi ustvarjamo lastne. To je upravičeno, kadar moramo ponoviti ista dejanja na različnih mestih v kodi ali pa moramo na primer izvesti ista dejanja na različnih podatkih, kot v tem primeru: obdelava signala iz digitalnih vrat 2 in 3.
  • Lastne funkcije lahko definirate kjer koli v kodi zunaj kode drugih funkcij. V našem primeru smo definirali funkcijo po zanka .
  • Za definiranje lastne funkcije potrebujemo:
    • Navedite, kateri podatkovni tip bo vrnil. V našem primeru je logično. Če funkcija izvaja samo nekatera dejanja in ne vrne nobene vrednosti, uporabite ključno besedo praznina
    • Funkciji dodelite ime – identifikator. Tukaj veljajo ista pravila kot pri poimenovanju spremenljivk in konstant. Funkcije so poimenovane v istem slogu likeVariables .
    • V oklepajih navedite parametre, posredovane funkciji, in navedite vrsto vsakega. To je deklaracija spremenljivk, ki so vidne znotraj novo ustvarjene funkcije in samo znotraj nje. Na primer, če v tem poskusu poskušamo dostopati wasUp oz jeUp od zanka() Od prevajalnika bomo prejeli sporočilo o napaki. Podobno spremenljivke, deklarirane v zanka, niso vidne drugim funkcijam, vendar je njihove vrednosti mogoče posredovati kot parametre.
    • Med zavitimi oklepaji zapišite kodo, ki jo izvaja funkcija
    • Če mora funkcija vrniti neko vrednost, uporabite ključno besedo vrnitev določite, katero vrednost želite vrniti. Ta vrednost mora biti vrste, ki smo jo deklarirali
  • Tako imenovane globalne spremenljivke, tj. Spremenljivke, do katerih lahko dostopate iz katere koli funkcije, so običajno deklarirane na začetku programa. V našem primeru je to svetlost .
  • Znotraj funkcije, ki smo jo ustvarili handleClick Zgodi se isto kot v poskusu.
  • Ker se pri koraku povečanja svetlosti 35 po največ osmih zaporednih klikih enega od gumbov vrednost izraza svetlost + delta bo izven intervala . Uporaba funkcije omejiti omejimo dovoljene vrednosti za spremenljivko svetlost določene meje intervala.
  • V izrazu plusUp = handleClick(PLUS_BUTTON_ PIN , plus gor, +35) dostopamo do spremenljivke plusUp dvakrat. Zaradi = postavi vrednost desnega operanda v levega, pri čemer najprej izračuna, kaj bo vrnilo handleClick. Torej, ko ji damo plusUp kot parameter ima še vedno staro vrednost, izračunano ob zadnjem klicu handleClick .
  • V notranjosti handleClick izračunamo novo vrednost svetlosti LED in jo zapišemo v globalno spremenljivko svetlost, ki pri vsaki ponovitvi zanka pravkar preneseno na analogWrite .

VPRAŠANJA ZA PREIZKUS

  1. Kaj pomeni ključna beseda? praznina ?
  2. Kako se program obnaša, ko je ena spremenljivka omenjena z različnih strani operatorja dodelitve = ?

NALOGE ZA SAMOSTOJNO REŠEVANJE

  1. Spremenite kodo tako, da bo korak spreminjanja svetlosti nastavljen na enem mestu.
  2. Ustvarite drugo funkcijo in predelajte kodo tako, da bo ena funkcija odgovorna za sledenje pritiskom tipk, druga pa za izračun svetlosti LED in njeno vračanje v analogWrite .

Zdaj pa poglejmo večbarvno LED, ki se pogosto imenuje skrajšava: RGB LED. RGB je okrajšava, ki pomeni: Red - rdeča, Green - zelena, Blue - modra. To pomeni, da so znotraj te naprave nameščene tri ločene LED diode. RGB LED ima lahko skupno katodo ali skupno anodo, odvisno od vrste.

1. Mešanje barv

Zakaj je RGB LED boljša od treh običajnih? Vse je povezano z zmožnostjo našega vida, da meša svetlobo iz različnih virov, postavljenih blizu drug drugemu. Na primer, če postavimo modro in rdečo LED eno poleg druge, se bo na razdalji nekaj metrov njihov sij združil in oko bo videlo eno vijolično piko. In če dodamo še zeleno, se nam bo pika zdela bela. Natančno tako delujejo računalniški monitorji, televizorji in zunanji zasloni. TV matriko sestavljajo posamezne pike različnih barv. Če vzamete povečevalno steklo in pogledate skozenj na prižgan monitor, zlahka vidite te pike. Toda na zunanjem zaslonu pike niso postavljene zelo na gosto, tako da jih je mogoče razločiti s prostim očesom. Toda z razdalje nekaj deset metrov se te točke ne razlikujejo. Izkazalo se je, da čim bližje so večbarvne pike druga drugi, manjšo razdaljo potrebuje oko za mešanje teh barv. Od tod sklep: za razliko od treh ločenih LED je mešanje barv pri RGB LED opazno že na razdalji 30–70 cm, mimogrede pa RGB LED z mat lečo deluje še bolje.

2. Priključitev RGB LED na Arduino

Ker je večbarvna LED sestavljena iz treh navadnih LED, jih bomo povezali ločeno. Vsaka LED je priključena na svoj pin in ima svoj ločen upor. V tej vadnici uporabljamo RGB LED s skupno katodo, tako da bo ozemljitev le ena žica. Shematski diagram
Videz postavitve

3. Program za krmiljenje RGB LED

Sestavljajmo preprost program, ki bo po vrsti osvetlil vsako od treh barv. const bajt rPin = 3; const bajt gPin = 5; const bajt bPin = 6; void setup() ( pinMode(rPin, OUTPUT); pinMode(gPin, OUTPUT); pinMode(bPin, OUTPUT); ) void loop() ( // izklopi modro, vklopi rdečo digitalWrite(bPin, LOW); digitalWrite( rPin, HIGH); delay(500); // izklop rdeče, vklop zelene digitalWrite(rPin, LOW); digitalWrite(gPin, HIGH); delay(500); // izklop zelene, vklop modre digitalWrite(gPin) , LOW); digitalWrite( bPin, HIGH); delay(500); ) Naložite program na Arduino in opazujte rezultat. Vaš brskalnik ne podpira video oznako. Malo optimizirajmo program: namesto spremenljivk rPin, gPin in bPin bomo uporabili matriko. To nam bo pomagalo pri naslednjih nalogah. const byte rgbPins = (3,5,6); void setup() ( for(byte i=0; i<3; i++) pinMode(rgbPins[i], OUTPUT); } void loop() { digitalWrite(rgbPins, LOW); digitalWrite(rgbPins, HIGH); delay(500); digitalWrite(rgbPins, LOW); digitalWrite(rgbPins, HIGH); delay(500); digitalWrite(rgbPins, LOW); digitalWrite(rgbPins, HIGH); delay(500); }

4. Sedem barv mavrice

Zdaj pa poskusimo osvetliti dve barvi hkrati. Programirajmo naslednje zaporedje barv:
  • rdeča
  • rdeča + zelena = rumena
  • zelena
  • zelena + modra = svetlo modra
  • modra
  • modra + rdeča = vijolična
Oranžno barvo smo zaradi enostavnosti izpustili. Tako se je izkazalo, da je šest barv mavrice 🙂 const byte rgbPins = (3,5,6); const byte mavrica = ( (1,0,0), // rdeča (1,1,0), // rumena (0,1,0), // zelena (0,1,1), // modra ( 0,0,1), // modra (1,0,1), // vijolična ); void setup() ( for(byte i=0; i<3; i++) pinMode(rgbPins[i], OUTPUT); } void loop() { // перебираем все шесть цветов for(int i=0; i<6; i++){ // перебираем три компоненты каждого из шести цветов for(int k=0; k<3; k++){ digitalWrite(rgbPins[k], rainbow[i][k]); } delay(1000); } } В результате работы программы получается: Your browser does not support the video tag.

5. Gladka sprememba barve

Nismo zaman povezali RGB LED z zatiči 3, 5 in 6. Kot veste, ti zatiči omogočajo ustvarjanje PWM signala različnih delovnih ciklov. Z drugimi besedami, ne moremo le prižgati ali ugasniti LED, temveč nadzorovati nivo napetosti na njej. To se naredi s funkcijo analogWrite. Poskrbimo, da bo naša LED prehajala med barvami mavrice ne nenadoma, ampak gladko. const byte rgbPins = (3,5,6); int dim = 1; void setup() ( for(byte i=0; i<3; i++){ pinMode(rgbPins[i], OUTPUT); } // начальное состояние - горит красный цвет analogWrite(rgbPins, 255); analogWrite(rgbPins, 0); analogWrite(rgbPins, 0); } void loop() { // гасим красный, параллельно разжигаем зеленый for(int i=255; i>=0; i--)( analogWrite(rgbPins, i/dim); analogWrite(rgbPins, (255-i)/dim); delay(10); ) // izklopi zeleno, vklopi modro vzporedno za (int i=255 ; i> =0; i--)( analogWrite(rgbPins, i/dim); analogWrite(rgbPins, (255-i)/dim); delay(10); ) // izklopi modro, vzporedno vklopi rdečo for(int i=255; i>=0; i--)( analogWrite(rgbPins, i/dim); analogWrite(rgbPins, (255-i)/dim); delay(10); ) ) Spremenljivka dim določa svetlost sijaja. Pri dim = 1 imamo največjo svetlost. Naložite program na Arduino. Vaš brskalnik ne podpira video oznake.

Naloge

  1. Indikator temperature. V vezje dodamo termistor in ga priključimo na analogni vhod. LED mora spreminjati barvo glede na temperaturo termistorja. Nižja kot je temperatura, bolj modra je barva, višja kot je temperatura, več rdeče.
  2. RGB svetilka z regulatorjem. V vezje dodamo tri spremenljive upore in jih priključimo na analogne vhode. Program mora nenehno brati vrednosti upora in spreminjati barvo ustrezne RGB LED komponente.

V tem primeru se boste naučili, kako spremeniti svetlost LED z uporabo uporov z različnimi upornostmi.

Za ta primer boste potrebovali

1 LED premera 5 mm

1 270 ohm upor (rdeča, vijolična, rjava)

1470 ohm upor (rumena, vijolična, rjava)

1 upor 2,2 kOhm (rdeč, rdeč, rdeč)

1 upor 10 kOhm (rjava, črna, oranžna)

LED diode - splošne informacije

LED diode dobro služijo v napravah za različne vrste indikacije. Porabijo malo električne energije in so trpežni.

V tem primeru uporabljamo najpogostejše LED diode s premerom 5 mm. Pogoste so tudi LED s premerom 3 milimetre in velike LED s premerom 10 mm.

Ni priporočljivo, da LED diode priključite neposredno na baterijo ali vir napetosti. Prvič, najprej morate ugotoviti, kje točno ima LED negativne in pozitivne noge. No, drugič, potrebno je uporabiti upore za omejevanje toka, sicer bo LED zelo hitro izgorela.

Če z LED diodo ne uporabite upora, bo LED zelo hitro odpovedala, ker bo skozi njo steklo preveč toka. Posledično se bo LED segrela in svetloba, ki ustvarja kontakt, bo uničena.

Obstajata dva načina za razlikovanje med pozitivnimi in negativnimi nogami LED.

Prvi je, da je pozitivni krak daljši.

Drugi je ta, da je pri vstopu v ohišje same diode ravno rob na konektorju negativne noge.

Če naletite na LED, ki ima na daljšem kraku raven rob, je daljši krak še vedno pozitiven.

Upori - splošne informacije

Resist - odpornost (angleško)

Kot že ime pove, se upori upirajo pretoku električne energije. Večja kot je vrednost (ohmov) upora, večji je upor in manjši tok bo tekel skozi vezje, v katerem je nameščen. To lastnost uporov bomo uporabili za uravnavanje toka, ki teče skozi LED in s tem njeno svetlost.

Toda najprej se pogovorimo nekaj o uporih.

Enote, v katerih se meri upor, so omi, ki so v mnogih virih označeni z grško črko Ω - Omega. Ker je ohm majhna vrednost upora (skoraj neopazna v vezju), bomo pogosto delovali z enotami, kot je kOhm - kiloohm (1000 Ohm) in MOhm megaohm (1.000.000 ohmov).

V tem primeru bomo uporabili upore s štirimi različnimi vrednostmi: 270 Ω, 470 Ω, 2,2 kΩ in 10 kΩ. Velikosti teh uporov so enake. Tudi barva. Edina stvar, ki jih razlikuje, so barvne črte. Iz teh trakov se vizualno določi vrednost uporov.

Za upore, ki imajo tri barvne črte in zadnjo zlato črto, delujejo naslednje korespondence:

Rjava 1

Rdeča 2

oranžna 3

zelena 5

Vijolična 7

Prvi dve črti označujeta prvi 2 številski vrednosti, torej rdeča, vijolična pomeni 2, 7. Naslednji trak je število ničel, ki jih je treba postaviti za prvima dvema števkama. To pomeni, da če je tretji trak rjav, kot na zgornji fotografiji, bo ena ničla in vrednost upora je 270 Ω.

Upor s črtami rjave, črne, oranžne: 10 in tri ničle, torej 10000 Ω. To je 10 kΩ.

Za razliko od LED, upori nimajo pozitivnih in negativnih krakov. Ni pomembno, s katero nogo jih povežete z napajanjem/ozemljitvijo.

Shema povezave

Povežite v skladu s spodnjim diagramom:

Arduino ima 5V pin za napajanje perifernih naprav. Uporabili ga bomo za napajanje LED in upora. Od plošče ne boste potrebovali ničesar drugega, le povežite jo preko USB-ja na računalnik.

Z uporom 270 Ω mora LED svetiti precej močno. Če zamenjate upor 270 Ω z uporom 470 Ω, LED ne bo svetila tako močno. Z uporom 2,2 kΩ bi morala LED še nekoliko bolj zbledeti. Navsezadnje bo LED z uporom 10 kΩ komaj vidna. Če želite videti razliko v zadnjem koraku, boste verjetno morali izvleči rdeči adapter in ga uporabiti kot stikalo. Potem lahko vidite razliko v svetlosti.

Mimogrede, ta poskus lahko izvedete pri ugasnjenih lučeh.

Različne možnosti namestitve upora

V trenutku, ko je 5V priključen na en krak upora, je drugi krak upora povezan s pozitivnim krakom LED, drugi krak LED pa z maso. Če premaknemo upor tako, da je za LED, kot je prikazano spodaj, bo LED še vedno svetila.

LED utripa

LED lahko povežemo z izhodom Arduino. Premaknite rdečo žico s 5V napajalnega zatiča na D13, kot je prikazano spodaj.

Zdaj prenesite primer »Blink«, ki smo si ga ogledali. Upoštevajte, da sta obe LED lučki - vgrajena in zunanja, ki ste jo namestili - začeli utripati.

Poskusimo uporabiti drug pin na Arduinu. Recimo D7. Premaknite konektor iz nožice D13 na nožico D7 in spremenite naslednjo vrstico kode:

Naložite spremenjeno skico v Arduino. LED bo še naprej utripala, vendar tokrat z napajanjem iz nožice D7.

V prejšnjih lekcijah smo se seznanili z najpreprostejšimi vezji - montažo in. Danes sestavljamo model s potenciometrom (spremenljivim uporom) in LED. Takšen model se lahko uporablja za krmiljenje robota.

Potenciometer je spremenljivka upor z nastavljivim uporom.Potenciometri se v robotiki uporabljajo kot regulatorji različnih parametrov - jakosti zvoka, moči, napetosti itd. V našem modeluod vrtenja gumba potenciometraSvetlost LED bo odvisna. To je tudi ena od osnovnih shem.

Video navodila za sestavljanje modela:

Za sestavljanje modela potrebujemo:

  • Arduino plošča (ali analogi);
  • Breadboard;
  • 6 žic in/ali mostičkov moški-moški;
  • Svetleča dioda;
  • potenciometer (spremenljivi upor);
  • 220 Ohm upor;
  • Arduino IDE, ki ga lahko prenesete s spletne strani Arduino.

Kaj potrebujete za povezavo potenciometra in LED na Arduino?

Shema povezave za model Arduino s potenciometrom in LED:

Shema povezave za model Arduino s potenciometrom in LED

Naslednji program je primeren za delovanje tega modela (lahko preprosto kopirate program v Arduino IDE):

// podajte imena zatičev z LED
// in potenciometer
#define led 9
#definiraj pot A0
praznina nastavitev()
{
// zatič z LED - izhod
pinMode(led, IZHOD);
// zatič s potenciometrom - vhod
pinMode(pot, INPUT);
}
void loop()
{
// deklariraj spremenljivko x
int x;
// odčitajte napetost s potenciometra:
// prejeta bo številka od 0 do 1023
// delite s 4, dobite število v območju
// 0-255 (ulomek bo zavržen)
x = analogRead(pot) / 4;
// izpiši rezultat na LED
analogWrite(led, x);
}

Takole izgleda sestavljen Arduino model potenciometra z LED:

Model Arduino z sestavljenim potenciometrom in LED

S tem je tretja lekcija "Arduino za začetnike" zaključena. Se nadaljuje!

Objave lekcije:

  1. Prva lekcija:.
  2. Druga lekcija:.
  3. Tretja lekcija:.
  4. Četrta lekcija:.
  5. Peta lekcija:.
  6. Šesta lekcija: .
  7. Sedma lekcija: .
  8. Osma lekcija: .
  9. Deveta lekcija:

In poskusimo dokončati novo nalogo. Mislim, da so vsi videli novoletne vence, v katerih LED diode gladko utripajo. Recimo, da želimo narediti nekaj takega.
Ogledali smo si že funkcijo digitalWrite() in vemo, da je vrednost, ki jo zapiše, lahko dve možnosti - visoka ali nizka. V tem primeru nam bo pomagala funkcija analogWrite(). "Formulacije" funkcij se razlikujejo le v začetnih predponah, zato si jih je enostavno zapomniti.

Funkcija analogWrite(), tako kot digitalWrite(), vsebuje dva argumenta v oklepajih in deluje po istem besednem principu: "kje, kaj". Glavna razlika je možnost beleženja širokega razpona vrednosti namesto običajnih LOW ali HIGH. To nam bo omogočilo prilagajanje svetlosti LED. Glavna opomba, ki jo morate upoštevati, je, da ta funkcija deluje samo na določenih stikih. Ti zatiči so označeni s simbolom "~". Ta simbol označuje, da je to kontakt PWM. PWM (impulzno-širinska modulacija) v ruščini zveni kot PWM (impulzno-širinska modulacija). Načelo delovanja temelji na spreminjanju trajanja impulza. Grafično je to mogoče prikazati takole:

Poskusimo ugotoviti, kako to deluje, tako da si ogledamo preprost primer. Če želite to narediti, morate povezati LED s kontaktom PWM prek upora 150 ohmov in v Arduino "povezati" preprost program. Shema povezave in koda skice sta predstavljena spodaj:


praznina nastavitev()
{
pinMode(led,IZHOD);
}

void loop()
{
for(int i=0; i<=255; i++)
{
analogWrite(led,i);
zamuda (10);
}
for(int i=255; i>=0; i--)
{
analogWrite(led,i);
zamuda (10);
}
}


Mislim, da je koda na splošno jasna, vendar moramo posvetiti malo pozornosti zanki for(). Obstaja nekaj takega kot dovoljenje. Ker delamo z 8-bitno ločljivostjo (o tem bomo razpravljali malo kasneje), bo najmanjša vrednost 0, največja pa 255. Na koncu vsake iteracije nastavimo časovni zamik na 10 ms.

Vrnimo se k diagramu iz prejšnje lekcije in poskusimo narediti podobno girlando s funkcijo analogWrite().


int buttonPin = 2;
int zatiči = (3,5,6,9,10,11);

boolean lastButton = LOW;
logični trenutni gumb = LOW;
logično omogočanje = napačno;

praznina nastavitev()
{
pinMode(gumbPin, INPUT);
for(int način = 0; način<= 5; mode++) pinMode(pins, OUTPUT);
}

Boolean debounce (boolean last)
{
logični trenutni = digitalRead(buttonPin);
če(zadnji != trenutno)
{
zamuda (5);
trenutno = digitalRead(buttonPin);
}
povratni tok;
}

void loop()
{
currentButton = debounce(lastButton);
if(lastButton == LOW && currentButton == HIGH)
{
omogoči = !omogoči;
}

If(enable == true)
{
za (int i=0; i<=5; i++)
{
za (int svetlost = 0; svetlost<= 255; brightness++)
{
zamuda (1);
}
zamuda (40);
}
za (int i=0; i<=5; i++)
{
za (int svetlost = 255; svetlost >= 0; svetlost--)
{
analogWrite(pins[i], svetlost);
zamuda (1);
}
zamuda (40);
}
}

If(enable == false)
{
for(int i = 0; i<= 5; i++) digitalWrite(pins[i], LOW);
}

LastButton = trenutni gumb;
}


Vizualno je skica postala nekoliko bolj zapletena. Pravzaprav je tukaj vse preprosto in poglejmo. Identificirati moramo vse povezane LED, vendar namesto običajne int led uporabimo niz, katerega vsak element je PWM pin na Arduinu. Tudi v telesu funkcije void setup() smo ravnali zvito. “Izpis” vseh kontaktov smo zaupali zanki for(), z vsako iteracijo katere se na IZHODU konfigurira ustrezni kontakt. Pojdimo k funkciji void loop(). Funkcija debounce() in začetni pogoj if() ostaneta nespremenjena. Še vedno preverjamo ravni dveh spremenljivk: prejšnje vrednosti (na začetku LOW) in trenutnega stanja gumba. Ko so ti pogoji izpolnjeni, se vrednost spremenljivke omogoči obrne. S tem v mislih smo dodali še dva preprosta pogoja if(). Če je enable = true, je girlanda vklopljena, katere gladkost "prelivanja" nadzira zanka for(). Če je enable = false, so vse LED diode izklopljene. Na koncu pogojev spremenljivka lastButton prevzame trenutno stanje gumba.
Med testiranjem našega programa smo opazili, da vse ne deluje po pričakovanjih. Se spomnite, v zadnji lekciji smo naredili spremembo, da če je časovna zakasnitev velika, se bo gumb sprožil po izteku? V prejšnjem primeru, ko je bila girlanda vklopljena, je bila skupna zakasnitev v telesu funkcije void loop() 85 ms. To nam je dalo možnost, da v določenem času »prispemo tja«. V tej skici se pod enakim pogojem zakasnitev večkrat razlikuje. Morda, če želite izklopiti girlando, se beseda "prekiniti" predlaga sama od sebe. To bo rešitev tega problema!

Upam, da vam je bil ta članek koristen. V naslednji vadnici si bomo ogledali prekinitve v Arduinu in dosegli želeni rezultat.




Vrh