» elektronika » Arduino »Arduino pre začiatočníkov

Arduino pre začiatočníkov


Arduino je doska mikrokontroléra, ktorú môžete naprogramovať na ovládanie externých zariadení. Interaguje s okolitým svetom prostredníctvom senzorov, motorov, LED, reproduktorov ... a dokonca aj internetu, čo z neho robí flexibilnú platformu pre rôzne projekty. Existuje pomerne málo mikroprocesorov, ale Arduino je populárne vďaka skutočnosti, že rôzne projekty sú veľmi aktívne rozmiestnené a diskutované na internete. Ak hľadáte na stránkach Google alebo youtube, nájdete milióny nápadov a informácií, pomocou ktorých môžete začať skúmať Arduino sami.
Aj keď nemáte skúsenosti s programovaním mikrokontrolérov - s Arduino sa rýchlo dozviete a niečo sa dozviete elektronika pomocou experimentov.

Čo potrebujete, aby ste mohli začať?
Arduino Uno-1ks
USB kábel-1ks
Svetre 1ks
1ks vývojová doska
Červená LED dióda 4 ks
220 ohmový rezistor 4ks
Rezistor 10 miestnosť 1 ks
Gombík bez fixácie
potenciometer
RGB LED so spoločnou katódou

To všetko si môžete kúpiť v miestnom obchode s rádiom alebo si ho môžete objednať na internete.

Na demonštráciu a simuláciu elektrických obvodov sa použil online simulátor.

Tento simulátor funguje najlepšie v prehliadači Chrome.
Pozrime sa bližšie na Arduino.

Arduino nie je veľký počítač, ku ktorému sa môžu pripojiť vonkajšie obvody. Arduino Uno používa Atmega 328P
Toto je najväčší čip na doske. Tento čip vykonáva programy, ktoré sú uložené v jeho pamäti. Program si môžete stiahnuť cez usb pomocou Arduino IDE. USB port poskytuje energiu aj pre arduino.

K dispozícii je samostatný napájací konektor. Na doske sú dva výstupy označené 5v a 3,3v, ktoré sú potrebné na napájanie rôznych zariadení. Nájdete tiež kolíky označené ako GND, jedná sa o uzemnenie (uzemnenie je 0V). Platforma Arduino má tiež 14 digitálnych výstupov (pinov), označených číslami od 0 do 13, ktoré sú pripojené k externým uzlom a majú dva stavy, vysoký alebo nízky (zapnutý alebo vypnutý). Tieto kontakty môžu pracovať ako výstupy alebo ako vstupy, t. môžu prenášať niektoré údaje a ovládať externé zariadenia alebo prijímať údaje zo zariadení. Nasledujúce závery na tabuli sa označujú ako A0-A5. Jedná sa o analógové vstupy, ktoré môžu prijímať údaje z rôznych snímačov. Toto je obzvlášť výhodné, keď potrebujete zmerať rozsah, ako je teplota. Analógové vstupy majú ďalšie funkcie, ktoré je možné aktivovať osobitne.


Ako používať doštičku.

Doska na varenie je potrebná na dočasné pripojenie dielcov, na kontrolu fungovania zariadenia pred tým, ako sa všetko spojí.
Všetky nasledujúce príklady sa zhromažďujú na doštičke, takže môžete rýchlo vykonávať zmeny obvodu a opakovane používať časti bez toho, aby ste sa museli obťažovať spájkovaním.

Doštička na doštičky má rady otvorov, do ktorých môžete vkladať časti a drôty. Niektoré z týchto dier sú navzájom elektricky spojené.

Dva horné a dolné rady sú zapojené do série po celej doske. Tieto riadky sa používajú na napájanie okruhu. Môže to byť 5 V alebo 3,3 V, ale v každom prípade je potrebné ako prvé spojiť 5 a GND so spojkou, ako je to znázornené na obrázku. Niekedy môžu byť tieto riadkové spojenia prerušené uprostred dosky, potom, ak potrebujete, môžete ich pripojiť, ako je to znázornené na obrázku.




Zostávajúce otvory umiestnené v strede dosky sú zoskupené do piatich otvorov. Používajú sa na pripojenie častí obvodu.

Prvá vec, ktorú sa pripájame k nášmu mikrokontroléru, je LED dióda. Schéma elektrického zapojenia je zobrazená na obrázku.


Prečo v obvode potrebujem odpor? V takom prípade obmedzuje prúd, ktorý prechádza cez LED. Každá LED je navrhnutá pre špecifický prúd, a ak je tento prúd väčší, potom LED zlyhá. Pomocou Ohmovho zákona zistite, akú hodnotu by mal mať odpor. Pre tých, ktorí nevedia alebo zabudli, Ohmov zákon hovorí, že existuje lineárna závislosť prúdu od napätia. To znamená, že čím viac pripájame napätie na odpor, tým viac ním bude pretekať prúd.
V = I * R
kde V- napätie cez odpor
ja- prúd cez odpor
R- zistená odolnosť.
Najprv musíme zistiť napätie na odpore. Väčšina z 3 mm alebo 5 mm LED, ktoré budete používať, má prevádzkové napätie 3V. Takže na odpor musíme zaplatiť 5-3 = 2v.

Potom vypočítame prúd prechádzajúci cez odpor.
Väčšina 3 a 5 mm LED svieti pri úplnom jase pri prúde 20 mA. Prúd viac, ako je tento, ich môže deaktivovať a prúd s menšou silou zníži ich jas bez toho, aby spôsobil akékoľvek poškodenie.

Chceme teda zapnúť LED v 5 V obvode tak, aby mal prúd 20 mA. Pretože všetky časti sú obsiahnuté v jednom obvode, odpor bude mať tiež prúd 20 mA.
Dostaneme
2V = 20 mA * R
2V = 0,02 A * R
R = 100 ohmov

100 ohmov je minimálny odpor, je lepšie použiť o niečo viac, pretože LED diódy majú určité variácie charakteristík.
V tomto príklade sa používa odpor 220 ohmov. Len preto, že autor ich má veľa: wink :.

Vložte LED do otvorov v strede dosky tak, aby jej dlhá svorka bola pripojená k jednej zo svoriek odporu. Pripojte druhý koniec odporu na 5V a druhý výstup LED na GND. LED by sa mala rozsvietiť.

Pamätajte, že existuje rozdiel v spôsobe pripojenia LED. Prúd tečie z dlhšieho terminálu na kratší. Na diagrame je možné si predstaviť, že prúd tečie v smere, v ktorom je trojuholník nasmerovaný. Skúste prepnúť LED a uvidíte, že sa nerozsvieti.

Ale ako pripojíte odpor, niet žiadneho rozdielu. Môžete ho otočiť alebo sa pokúsiť pripojiť na druhý výstup LED, nebude to mať vplyv na fungovanie obvodu. Stále bude obmedzovať prúd pomocou LED.

Anatómia náčrtu Arduino.

Programy pre Arduino sa nazývajú skica. Pozostávajú z dvoch hlavných funkcií. funkcie setup a funkcie slučka
vnútri tejto funkcie nastavíte všetky základné nastavenia. Aké závery budú fungovať pri vstupe alebo výstupe, ktoré knižnice sa majú pripojiť, inicializujú premenné. funkcie Nastavenie () Začne sa iba raz počas náčrtu, keď sa program spustí.
to je hlavná funkcia, ktorá sa vykoná po setup (), V skutočnosti je to samotný program. Táto funkcia bude fungovať donekonečna, kým nevypnete napájanie.

Blikajúca LED dióda Arduino




V tomto príklade zapojíme obvod s LED diódou do jedného z digitálnych pinov Arduino a pomocou programu ho zapneme a vypneme a naučíme sa niekoľko užitočných funkcií.



- táto funkcia sa používa v setup () a slúži na inicializáciu záverov, ktoré použijete ako vstup (Vstup) alebo výstup (Výstup), Údaje z špendlíka nemôžete čítať ani zapisovať, kým ich zodpovedajúcim spôsobom nenastavíte pinMode, Táto funkcia má dva argumenty: pinNumber- Toto číslo PIN budete používať.

režim- nastaví, ako bude pin fungovať. Pri vchode (Vstup) alebo výstup (Výstup), Na rozsvietenie LED musíme dať signál FROM Arduino. Aby sme to dosiahli, nakonfigurujeme pripnutie na ukončenie.
- táto funkcia slúži na nastavenie stavu (Štát) kolík (PinNumber), Existujú dva hlavné stavy (vo všeobecnosti sú 3), jeden je HIGH, špendlík bude 5v, ďalší je nízky a špendlík bude 0v. Aby sme rozsvietili LED, musíme nastaviť vysokú úroveň na kolíku pripojenom k ​​LED HIGH.

- oneskorenie. Slúži na oneskorenie programu o zadané obdobie v ms.
Nižšie je uvedený kód, ktorý spôsobuje, že LED dióda bliká.
// LED bliká

int ledPin = 7; // Arduino pin, ku ktorému je pripojená LED dióda

neplatné nastavenie () {
  pinMode (ledPin, OUTPUT); // nastaví pin ako EXIT
}

void loop () {
  digitalWrite (ledPin, HIGH); // svieti LED
  oneskorenie (1000); // oneskorenie 1000 ms (1 s)
  digitalWrite (ledPin, LOW); // Vypnite LED
  oneskorenie (1000); // počkajte 1 s
}


Malé vysvetlenie kódu.
Riadky začínajúce na „//“ sú komentáre Arduina, ktoré ich ignorujú.
Všetky príkazy končia bodkočiarkou, ak na ne zabudnete, zobrazí sa chybová správa.

ledPinje premenná. Premenné sa používajú v programoch na ukladanie hodnôt. V tomto príklade je to premenná ledPin priradená hodnota 7, je to číslo PIN Arduino. Keď Arduino v programe narazí na reťazec s premennou ledPin , použije hodnotu, ktorú sme zadali skôr.
Takže záznam pinMode (ledPin, OUTPUT) podobné záznamu pinMode (7, VÝSTUP).
Ale v prvom prípade stačí zmeniť premennú a zmení sa v každom riadku, kde sa používa, av druhom prípade, aby ste premennú zmenili, musíte vykonať zmeny v perách v každom príkaze.

v prvom riadku označuje typ premennej. Pri programovaní Arduina je dôležité vždy deklarovať typ premennej. Zatiaľ to musíte vedieť INT oznamuje záporné a kladné čísla.
Nižšie je uvedený modelovanie skica. Stlačením tlačidla Štart zobrazíte činnosť obvodu.



Podľa očakávania sa LED zhasne a po jednej sekunde sa rozsvieti. Skúste zmeniť oneskorenie a zistiť, ako to funguje.

Správa niekoľkých LED.

V tomto príklade sa naučíte, ako ovládať viacero LED. Za týmto účelom nainštalujte na dosku ďalšie 3 diódy LED a pripojte ich k odporom a kolíkom Arduino, ako je to znázornené nižšie.



Ak chcete postupne zapínať a vypínať kontrolky LED, musíte napísať program, ako je tento:
// Viacnásobné blikanie LED

int led1Pin = 4;
int led2Pin = 5;
int led3Pin = 6;
int led4Pin = 7;

neplatné nastavenie () {
  // nastaviť kolíky ako EXIT
  pinMode (led1Pin, OUTPUT);
  pinMode (led2Pin, OUTPUT);
  pinMode (led3Pin, OUTPUT);
  pinMode (led4Pin, OUTPUT);
}

void loop () {
  digitalWrite (led1Pin, HIGH); // svieti LED
  oneskorenie (1000); // oneskorenie 1 s
  digitalWrite (led1Pin, LOW); // zhasne LED
  oneskorenie (1000); // oneskorenie 1 s

  // urobte to isté pre ostatné 3 LED
  digitalWrite (led2Pin, HIGH); // svieti LED
  oneskorenie (1000); // oneskorenie 1 s
  digitalWrite (led2Pin, LOW); // zhasne LED
  oneskorenie (1000); // oneskorenie 1 s

  digitalWrite (led3Pin, HIGH); // svieti LED
  oneskorenie (1000); // oneskorenie 1 s
  digitalWrite (led3Pin, LOW); // zhasne LED
  oneskorenie (1000); // oneskorenie 1 s

  digitalWrite (led4Pin, HIGH); // svieti LED
  oneskorenie (1000); // oneskorenie 1 s
  digitalWrite (led4Pin, LOW); // zhasne LED
  oneskorenie (1000); // oneskorenie 1 s
}


Tento program bude fungovať dobre, ale nejde o najracionálnejšie riešenie. Kód je potrebné zmeniť. Aby program pracoval znova a znova, použijeme konštrukciu s názvom.
Cykly sú vhodné, keď potrebujete niekoľkokrát zopakovať rovnakú akciu. Vo vyššie uvedenom kóde opakujeme riadky

digitalWrite (led4Pin, HIGH);
oneskorenie (1000);
digitalWrite (led4Pin, LOW);
oneskorenie (1000); 

úplný kód náčrtu v prílohe for.zip [720 b] (stiahnuté: 1410)

Nastavenie jasu LED

Niekedy bude potrebné zmeniť jas LED diód v programe. To je možné vykonať pomocou príkazu analogWrite (), Tento príkaz zapína a vypína LED tak rýchlo, že oko nevidí blikanie. Ak je LED dióda zapnutá na polovicu času a na polovicu, vizuálne sa zdá, že svieti na polovicu svojho jasu. Toto sa nazýva modulácia šírky impulzu (PWM alebo PWM v angličtine). PWM sa používa pomerne často, pretože sa dá použiť na ovládanie „analógového“ komponentu pomocou digitálneho kódu. Nie všetky Arduino kolíky sú vhodné na tieto účely. Iba tie závery, okolo ktorých sa takéto označenie vyvodzuje “~".Uvidíte to pri kolíkoch 3,5,6,9,10,11.
Pripojte jednu z vašich LED k jednému z výstupov PWM (pre autora je to pin 9). Teraz spustite blikajúcu kontrolku LED skici, ale najskôr zmeňte príkaz digitalWrite () na analogWrite (). analogWrite () Má dva argumenty: prvým je číslo kolíka a druhým je hodnota PWM (0-255), ako sa uplatňuje na LED, bude to ich jas a v prípade elektromotorov rýchlosť otáčania. Nižšie je uvedený príklad kódu pre rôzne jasy LED.
// Zmena jasu LED

int ledPin = 9; // LED pripojená k tomuto kolíku
neplatné nastavenie () {
  pinMode (ledPin, OUTPUT); // inicializuje pin na výstup
}

void loop () {
  analogWrite (ledPin, 255); // plný jas (255/255 = 1)
  oneskorenie (1000); // pauza 1 s
  digitalWrite (ledPin, LOW); // zhasne LED
  oneskorenie (1000); // pauza 1 s

  analogWrite (ledPin, 191); // jas pri 3/4 (191/255 ~ = 0,75)
  oneskorenie (1000); // pauza 1 s
  digitalWrite (ledPin, LOW); // zhasne LED
  oneskorenie (1000); // pauza 1 s

  analogWrite (ledPin, 127); // polovičný jas (127/255 ~ = 0,5)
  oneskorenie (1000); // pauza 1 s
  digitalWrite (ledPin, LOW); // zhasne LED
  oneskorenie (1000); // pauza 1 s

  analogWrite (ledPin, 63); // štvrtinový jas (63/255 ~ = 0,25)
  oneskorenie (1000); // pauza 1 s
  digitalWrite (ledPin, LOW); // zhasne LED
  oneskorenie (1000); // pauza 1 s
}


Skúste v príkaze zmeniť hodnotu PWM analogWrite ()aby ste videli, ako to ovplyvňuje jas.
Ďalej sa dozviete, ako nastaviť jas plynule z plného na nulu. Môžete samozrejme skopírovať časť kódu 255-krát
analogWrite (ledPin, jas);
oneskorenie (5); // krátke oneskorenie
jas = jas + 1;

Ale chápete - nebude to praktické. Na tento účel je najlepšie použiť slučku FOR, ktorá bola použitá predtým.
Nasledujúci príklad používa dva cykly, jeden na zníženie jasu z 255 na 0
pre (int jas = 0; jas = 0; jas -) {

analogWrite (ledPin, jas);
oneskorenie (5);

}

oneskorenie (5) používa sa na spomalenie rýchlosti stúpania a klesania jasu 5 * 256 = 1280 ms = 1,28 s.)
Prvý riadok používa text „brightness-"tak, aby sa hodnota jasu znížila vždy, keď sa cyklus opakuje. Upozorňujeme, že cyklus bude fungovať tak dlho, ako bude jas> = 0Výmena značky > na znamenie >= do rozsahu jasu sme zahrnuli 0. Táto skica je modelovaná nižšie.
// plynulo meniť jas

int ledPin = 9; // K tomuto kolíku je pripojená LED dióda

neplatné nastavenie () {
  pinMode (ledPin, OUTPUT); // inicializuje pin na ukončenie
}

void loop () {
  // postupne zvyšujte jas (0 až 255)
  pre (int jas = 0; jas = 0; jas -) {
    analogWrite (ledPin, jas);
    oneskorenie (5);
  }

  oneskorenie (1000); // počkajte 1 s
 // plynulo znížte jas (255 na 0)
  pre (int jas = 255; jas> = 0; jas -) {
    analogWrite (ledPin, jas);
    oneskorenie (5);
  }

  oneskorenie (1000); // počkajte 1 s
}
}

To nie je príliš viditeľné, ale nápad je jasný.



RGB LED a Arduino

RGB LED sú v skutočnosti tri LED rôzne farby v jednom kryte.



Vrátane rôznych diód LED s rôznym jasom môžete kombinovať a získať rôzne farby. Pre Arduino, kde je počet stupňov jasu 256, získate 256 ^ 3 = 16581375 možných farieb. V skutočnosti ich bude samozrejme menej.
LED, ktorú použijeme, je spoločná katóda. tj všetky tri LED diódy sú konštrukčne spojené katódami s jedným terminálom. Tento pin spojíme s GND pinom. Zvyšné svorky musia byť cez obmedzovacie odpory pripojené k svorkám PWM. Autor použil závery 9-11, takže bude možné ovládať každú LED osobitne. Prvý náčrt ukazuje, ako zapnúť každú LED osobitne.



// RGB LED - test

// kolíkové spojenia
int červená = 9;
int green = 10;
int modrá = 11;

neplatné nastavenie () {
  pinMode (červený, VÝSTUP);
  pinMode (modrý, VÝSTUP);
  pinMode (zelený, VÝSTUP);
}

void loop () {
  // zapnutie / vypnutie červenej LED
  digitalWrite (červený, VYSOKÝ);
  oneskorenie (500);
  digitalWrite (červená, LOW);
  oneskorenie (500);
  
  // zapnutie / vypnutie zelenej LED
  digitalWrite (zelená, VYSOKÁ);
  oneskorenie (500);
  digitalWrite (zelená, LOW);
  oneskorenie (500);

  // zapnutie / vypnutie modrej LED
  digitalWrite (modrý, HIGH);
  oneskorenie (500);
  digitalWrite (modrý, LOW);
  oneskorenie (500);
}


Nasledujúci príklad používa príkazy analogWrite () a získať rôzne náhodné hodnoty jasu pre LED. Uvidíte, že sa rôzne farby náhodne menia.
// RGB LED - náhodné farby

// kolíkové spojenia
int červená = 9;
int green = 10;
int modrá = 11;
neplatné nastavenie () {
  pinMode (červený, VÝSTUP);
  pinMode (modrý, VÝSTUP);
  pinMode (zelený, VÝSTUP);
}
void loop () {
  // vyberte náhodnú farbu
  analogWrite (červený, náhodný (256));
  analogWrite (modrá, náhodná (256));
  analogWrite (zelená, náhodná (256));
  oneskorenie (1000); // počkajte jednu sekundu
}


Náhodné (256)-Vráti náhodné číslo v rozsahu od 0 do 255.
V priloženom súbore je náčrt, ktorý ukazuje plynulé prechody farieb z červenej na zelenú, potom na modrú, červenú, zelenú atď. perehody.zip [373 b] (stiahnuté: 386)
Príklad náčrtu funguje, ale existuje veľa duplikátov kódu. Kód môžete zjednodušiť napísaním vlastnej pomocnej funkcie, ktorá plynule zmení jednu farbu na inú.
Ako to bude vyzerať: funktsiya.zip [263 b] (stiahnuté: 420)
Pozrime sa na definíciu funkcie v častiach. Funkcia sa volá fader a má dva argumenty. Každý argument je oddelený čiarkou a má typ deklarovaný v prvom riadku definície funkcie: void fader (int color1, int color2), Vidíte, že oba argumenty sú deklarované ako inta dostanú mená color1 a color2 ako podmienené premenné na definovanie funkcie. prázdno znamená, že funkcia nevracia žiadne hodnoty, jednoducho vykoná príkazy. Keby bolo potrebné napísať funkciu, ktorá vrátila výsledok násobenia, vyzeralo by takto:
int multiplikátor (int number1, int number2) {

int produkt = number1 * number2;
vrátený produkt;

} 

Všimnite si, ako sme deklarovali Type int ako návratový typ
prázdno.
Vo vnútri funkcie sú príkazy, ktoré ste už použili v predchádzajúcej náčrte, iba čísla pinov boli nahradené znakom color1 a color2, Funkcia sa volá fader, jej argumenty sa vypočítajú ako color1 = red a color2 = zelená, Celý archív s využitím funkcií funktsii.zip [392 b] (stiahnuté: 320)

gombík

V nasledujúcom náčrte bude použité tlačidlo s normálne otvorenými kontaktmi bez toho, aby bolo potrebné ho opraviť.

Arduino pre začiatočníkov

To znamená, že zatiaľ čo tlačidlo nie je stlačené, prúd ním neprúdi a po uvoľnení sa tlačidlo vráti do pôvodnej polohy.
V obvode sa okrem tlačidla používa odpor. V tomto prípade neobmedzuje aktuálny, ale „ťahá“ tlačidlo na 0V (GND). tj kým nestlačíte tlačidlo na kolíku Arduino, ku ktorému je pripojené, úroveň bude nízka. Odpor použitý v obvode 10 kΩ.

// definovať kliknutie na tlačidlo
int buttonPin = 7;
neplatné nastavenie () {
  pinMode (buttonPin, INPUT); // inicializuje vstupný pin
  Serial.begin (9600); // inicializuje sériový port
}
void loop () {
  if (digitalRead (buttonPin) == HIGH) {// ak je tlačidlo stlačené
    Serial.println ("lisované"); // print "press"
  } else {
    Serial.println ("unpressed"); // inak "unpressed"
  }
}

V tejto náčrte je niekoľko nových tímov.
- Tento príkaz preberá hodnotu High (high level) a low (low level) výstupu, ktorý kontrolujeme. Po prvé, v setup () musí byť tento výstup nakonfigurovaný pre vstup.
; // kde buttonPin je číslo PIN, na ktorom je tlačidlo pripojené.
Sériový port umožňuje odosielať Arduino správy do počítača, zatiaľ čo program spúšťa samotný radič. Je to užitočné pri ladení programu, odosielaní správ na iné zariadenia alebo aplikácie. Ak chcete povoliť prenos údajov cez sériový port (známy tiež ako UART alebo USART), musíte ho inicializovať v nastavení ()

Serial.begin () má iba jeden argument: rýchlosť prenosu údajov medzi počítačom Arduino a počítačom.
skica, príkaz sa používa na zobrazenie správy na obrazovke v Arduino IDE (Tools >> Serial Monitor).
- návrh umožňuje ovládať priebeh programu kombináciou viacerých kontrol na jednom mieste.
Ak (ak) digitalRead vráti VYSOKÉ, na monitore sa zobrazí slovo „stlačené“. Inak (inak) sa na monitore zobrazí slovo „stlačené“. Teraz môžete skúsiť zapnúť a vypnúť LED stlačením jediného tlačidla.
// detekcia stlačenia tlačidla s LED výstupom
int buttonPin = 7;
int ledPin = 8;
neplatné nastavenie () {
  pinMode (buttonPin, INPUT); // tentoraz nastavíme pin tlačidla ako INPUT
  pinMode (ledPin, OUTPUT);
  Serial.egegin (9600);
}
void loop () {
  if (digitalRead (buttonPin) == HIGH) {
    digitalWrite (ledPin, HIGH);
    Serial.println ("lisované");
  } else {
    digitalWrite (ledPin, LOW);
    Serial.println ("unpressed");
  }
}


Analógový vstup.

analogRead umožňuje čítať údaje z jedného z analógových pinov Arduino a zobrazuje hodnotu v rozsahu od 0 (0V) do 1023 (5V). Ak je napätie na analógovom vstupe 2,5 V, vytlačí sa 2,5 / 5 * 1023 = 512
analogRead má iba jeden argument - Toto je číslo analógového vstupu (A0-A5). Nasledujúci náčrt poskytuje kód na čítanie napätia z potenciometra. Za týmto účelom pripojte variabilný odpor, extrémne kolíky na kolíky 5V a GND a stredný kolík na vstup A0.


Spustite nasledujúci kód a pozrite sa na sériovom monitore, ako sa hodnoty menia v závislosti od otáčania gombíka rezistora.
// analógový vstup

int potPin = A0; // k tomuto pinu je pripojený centrálny výstup potenciometra

neplatné nastavenie () {
  // predvolený je analógový pin povolený, takže inicializácia nie je potrebná
  Serial.egegin (9600);
}

void loop () {
  int potVal = analogRead (potPin); // potVal je číslo medzi 0 a 1023
  Serial.println (potVal);
}

Nasledujúca skica kombinuje skicu kliknutia na tlačidlo a skicu ovládania jasu pomocou LED. LED sa rozsvieti z tlačidla a potenciometer bude ovládať jas žiara.
// detekcia stlačenia tlačidla s LED výstupom a variabilnou intenzitou
int buttonPin = 7;
int ledPin = 9;
int potPin = A0;
neplatné nastavenie () {
  pinMode (buttonPin, INPUT);
  pinMode (ledPin, OUTPUT);
  Serial.egegin (9600);
}
void loop () {
  if (digitalRead (buttonPin) == HIGH) {// ak stlačíte tlačidlo
    int analogVal = analogRead (potPin);
    int scaledVal = mapa (analogVal, 0, 1023, 0, 255);
    analogWrite (ledPin, scaledVal); // zapnite led s intenzitou nastavenou bankou
    Serial.println ("lisované");
  } else {
    digitalWrite (ledPin, LOW); // vypnutie, ak nie je stlačené tlačidlo
    Serial.println ("unpressed");
  }
}
8.7
9
9

Pridajte komentár

    • usmievaťúsmevyxaxaokdontknowyahoonea
      bossškrabanecoklamaťánoáno, ánoútočnýtajomstvo
      ľutovaťtanecdance2dance3odpusteniehelpnápoje
      zastávkapriateliadobrýgoodgoodpíšťalaomdlieťjazyk
      dymtlieskanieCraydeklarovaťvýsměšnýdon-t_mentiondownload
      teplohnevlivýlaugh1MDAstretnutiemoskingnegatívny
      not_ipražená kukuricatrestaťprečítaťvydesiťzdesenievyhľadávať
      posmechthank_youtototo_clueumnikakútnasúhlasiť
      zlýbeeeblack_eyeblum3očervenieťchvastanienuda
      cenzurovanéžartysecret2hroziťvíťazstvoyusun_bespectacled
      shokrešpektlolprevedievitajtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodiFLUDzákazzavrieť
4 komentáre
Takto to funguje - // postupne zvyšovať jas (0 až 255)
pre (int jas = 0; jas <= 255; jas ++) {
analogWrite (ledPin, jas);
oneskorenie (5);
pri kompilácii dáva chybu Arduino: 1.6.5 (Windows 7), doska "Arduino Nano, ATmega328"

sketch_sep20a: 25: chyba: očakávané vyhlásenie pred tokenom '}'
očakávané vyhlásenie pred tokenom '}'
Skopíroval som nákres hladkého vznietenia.
Moja dióda LED sa prudko rozsvieti, ale zhasne.

Vysvetlite, prosím.
Skopíroval som nákres hladkého vznietenia.
Moja dióda LED sa prudko rozsvieti, ale zhasne.

Vysvetlite, prosím.

Odporúčame vám prečítať si:

Ruku pre smartphone ...