Arduino 101 Efectuarea unui clip LED cu un buton

În ultimul tutorial, am explicat de ce este ușor să lucrați pe proiecte electronice cu Arduino. În acest tutorial voi folosi o placă Arduino pentru a face un circuit simplu, unul care poate activa o lumină LED. Folosind mai multe coduri de bază voi face aceeași lumină LED clipește. În cele din urmă, voi adăuga un buton și îl folosesc pentru a accelera clipirile.

Unele dintre diagramele din acest articol au fost dezvoltate folosind programul Fritzing.


Furnituri

Componente Arduino

În acest tutorial voi folosi următoarele componente:

  • Arduino Uno R3 x 1
  • Breadboard x 1
  • Cablu USB standard tip B x 1
  • Buton de pornire x 1
  • Rezistor 10K x 1
  • Sârme scurte scurte x 3

Puteți cumpăra aceste articole fie prin intermediul unui magazin local de electronică, cum ar fi Fry's (dacă locuiți în SUA), fie prin Internet de pe site-ul Arduino, Amazon, Little Bird Electronics sau chiar eBay.

Alternativ, puteți alege oricare dintre aceste alte placi Arduino pentru a urma acest tutorial:

  • Arduino Leonardo
  • Arduino Mega Due
  • Arduino Mega 2560
  • Arduino Micro

Alte plăci arduino sau plăci compatibile cu terțe părți pot funcționa, de asemenea. Cu toate acestea, ele pot necesita un conector USB diferit. Asigurați-vă că placa dvs. Arduino se poate conecta la computer utilizând un cablu USB potrivit.

Mai mult, asigurați-vă că ați descărcat și ați instalat pe calculatorul dvs. cea mai recentă versiune a IDE-ului Arduino. Instalarea IDE-ului Arduino poate necesita câțiva pași pe computerele Windows, deoarece va trebui să instalați unele drivere. Pentru instrucțiuni suplimentare, urmați instrucțiunile de instalare de pe site-ul web Arduino.

S-ar putea să vă întrebați cum vom face o lumină atunci când nu am inclus pe lista componentelor? Asta e ușor! Panourile Arduino sunt de obicei echipate cu LED-uri de bord, pe care le putem folosi în proiectele noastre. Pentru a ne păstra circuitul cât mai simplu posibil, vom folosi acest LED.

Codul nostru va funcționa cu lumina marcată cu litera L de lângă ea.

1. Configurați un nou proiect

Pentru a începe, conectați placa dvs. Arduino la computer utilizând cablul USB corespunzător. Veți observa că o singură lumină sau mai multe lumini se pot activa temporar sau permanent. Arduino Uno are patru LED-uri la bord. Dacă placa dvs. are mai multe LED-uri, lumini intermitente indică faptul că este conectată la o sursă de alimentare și se încarcă. Este nevoie de aproximativ cinci secunde pentru ca Arduino să fie gata să interacționeze cu el.

Lansați ID-ul Arduino pe calculatorul dumneavoastră. Veți primi un spațiu de lucru gol în care veți scrie codul necesar pentru a programa placa dvs. Arduino.

Apoi, trebuie să-i spuneți ID-ul Arduino pe care se va conecta la dumneavoastră. Din meniu, selectați Instrumente> Consiliul, și apoi selectați placa dvs. Arduino din listă. Dacă ați ales să utilizați un birou oficial Arduino, atunci numele acestuia ar trebui să fie listat pentru a vă selecta. Placile de la terți sunt, de obicei, echivalente cu un alt consiliu oficial Arduino. Dacă știți ce bord este, atunci mergeți mai departe și selectați-l pe cel din listă. În caz contrar, consultați manualul pentru a afla care model din listă ar trebui să funcționeze cu placa dvs. specifică.

În cele din urmă, trebuie să selectați portul potrivit pentru comunicarea cu placa dvs. Arduino. Încă o dată din meniu, mergeți la Instrumente> Port serial, și selectați portul serial potrivit. Pe Mac, portul serial corect este adesea enumerat ca /dev/tty.usbmodem1421 sau asemănător. În Windows, conexiunea ar trebui să fie listată ca a COM port.


2. Porniți lumina

Arduino este echipat cu mai mulți conectori de intrare și ieșire, pe care le vom numi IO Pins. Acum, vrem să folosim un știft digital IO pentru a instrui lumina LED-ului să se aprindă. Deoarece utilizăm și lumina LED de la bord, pinul IO corespunzător a fost deja stabilit pentru noi de producătorii de arduino. Acesta este pinul 13, care, prin design, a fost atașat la lumina LED de la bord.

Copiați următorul cod și inserați-l în ID-ul Arduino:

 int led_pin = 13; void setup () pinMode (led_pin, OUTPUT);  void loop () digitalWrite (led_pin, HIGH); 

În cod, am folosit două funcții Arduino: pinMode (pin_number, mod) și digitalRead (număr_pin, valoare).

Voi suna pinMode () funcționează în interior înființat() pentru a instrui Arduino să-și trateze pinul-13 ca ieșire. Apoi, sunând la digitalWrite () funcționează în interior buclă() Mă pot activa ÎNALT semnal pe pin-13, care pornește lumina LED.

Faceți clic pe Încărcați pentru a împinge codul de mai sus în placa dvs. Arduino. Dacă este selectată placa corectă Arduino și portul serial, ar trebui să vedeți o bară de progres urmată de a Încărcat Încărcat mesaj.

În timp ce codul este încărcat, s-ar putea să vedeți lumini intermitente diferite, ceea ce indică o comunicare reușită între PC-ul dvs. și placa Arduino. În acest moment, LED-ul de bord ar trebui să fie pornit permanent.


3. Faceți-l să clipească

Ați terminat echivalentul de Arduino al "Hello World". Acum veți face ca acea lumină să clipească prin introducerea întârziere() funcția în codul de mai sus. întârziere() funcția acceptă o valoare întregă, egală cu o lungime de timp în milisecunde. 1000 milisecunde este egală cu o secundă.

 int întârziere_value = 1000; int led_pin = 13; void setup () pinMode (led_pin, OUTPUT);  void loop () digitalWrite (led_pin, HIGH); întârziere (delay_value); digitalWrite (led_pin, LOW); întârziere (delay_value); 

întârziere() funcția menține lumina LED și, de asemenea, o oprește pentru o secundă în timpul fiecarei iterații a buclă() funcţie. Dupa cum buclă() funcția este repetată permanent, acest cod va activa și opri în mod repetat LED-ul.

Diagrama valurilor digitale

Folosind o diagramă a undelor digitale, pot explica cum se schimbă comportamentul original. Înainte de introducerea funcției de întârziere în etapa a treia, am realizat un val digital care arăta ca în diagrama de mai sus. Fiecare ciclu de iterație a fiecărei buclă () a fost folosit pentru păstrarea luminii LED pornit.

Folosind funcția delay (), codul nostru împarte fiecare ciclu în două părți, făcând fiecare iterare să dureze două secunde. În prima secundă LED-ul este pornit și, în timpul secundei următoare, este oprit.

Această cifră arată modul în care funcția de întârziere () este utilizată pentru a menține starea actuală.

4. Modificați timpul de întârziere utilizând un buton

Până în prezent, comportamentul acestui proiect Arduino a fost bine condus de codul pe care l-am scris. Cu toate acestea, odată ce este încărcat și rulat, nu avem nici o modalitate de a interacționa cu acest circuit electronic. Acest lucru este foarte static și o voi schimba adăugând un buton care îmi va permite să schimb viteza de clipire. În acest pas, va trebui să folosesc a breadboard. Acesta este un moment bun pentru a arunca o privire la ceea ce este un breadboard și cum poate fi folosit.

breadboard

Un breadboard este o placă de prototipare fără sudură, utilizată pentru realizarea circuitelor electronice temporare, în principal pentru experimentarea diferitelor modele de plăci de circuit.

Plăcile moderne sunt alcătuite dintr-o bucată solidă din plastic perforat, cu mai multe cleme de cupru sub suprafața sa pentru realizarea conexiunilor electrice. Numeroasele găuri de pe suprafața acestor plăci permit introducerea diferitelor componente electronice fără a fi nevoie să le lipiți.

Panourile comune au două coloane, fiecare cu rânduri proprii de cinci găuri. Orice orificiu este conectat la toate celelalte găuri ale aceluiași rând, dar nu la oricare dintre găurile din coloana adiacentă. Cu alte cuvinte, dacă două fire nu sunt plasate în același rând al aceleiași coloane, atunci cele două nu sunt conectate unul la celălalt. Această configurare ne permite să împărtășim o singură conexiune de la o componentă prin alte patru puncte de conectare în același rând.

Motivul pentru care aveți două sau mai multe coloane pe același panou de bord este să permiteți conectarea mai multor circuite integrate (IC). IC-urile sunt de obicei conectate în ambele coloane ale panoului de bord, deoarece au mai mult de doi pini pe ambele părți, așa cum este ilustrat în diagrama următoare.

40-pin IC atașat la un breadboard.

Pe ambele laturi ale majorității panourilor există benzi lungi care sunt folosite pentru partajarea energiei. Aceste benzi sunt adesea denumite benzi de autobuz sau șine de putere, pe măsură ce acestea se deplasează de-a lungul întregii lungimi a panoului. Șinele de alimentare ale unor plăci vă vor permite să conectați conexiuni atât pozitive, cât și la sol. Spre deosebire de rândurile normale, toate găurile de-a lungul lungimii plăcii sunt conectate unul la celălalt.

Sinele de alimentare sunt marcate de obicei cu linii roșii și albastre care rulează de-a lungul întregii lungimi a panoului.

Atunci când cumperi un breadboard, este o idee bună să alegi tipul cu caneluri pe ambele părți ale plăcii. Aceste caneluri pot fi folosite pentru a atașa mai multe panouri de paie împreună pentru a crea un spațiu de lucru mai mare. Un breadboard de bună calitate este marcat cu numere și litere, ceea ce face ușor identificarea fiecărui rând și coloană.

Pasul 1

Începeți prin plasarea butonului de conectare și conectarea acestuia cu jupoanele de alimentare din placa Arduino. Arduino Uno poate produce două nivele de putere, 3-volți și 5-volți. Pentru acest circuit, va trebui să folosim șina 5V. Motivul pentru care ați folosi una peste alta depinde de componentele pe care le veți conecta. Este posibil ca unele componente să aibă nevoie de o tensiune mai mică pentru a funcționa, de unde rezultă ieșirea de 3V.

Circuit cu Arduino și breadboard

În diagrama de mai sus, avem un circuit complet. Am conectat pinii de sus ai butonului de comandă atât la pinul 5V, cât și la arduino și la rezistența de 10K. Aceasta se conectează apoi la pământul (GND) de pe Arduino. Al treilea fir (în galben) se conectează la pinul digital 2 și va transporta semnalul ON la placa Arduino.

rezistor

Scopul unui rezistor este de a încetini curentul electric, deoarece curentul trece prin acesta, limitând astfel cantitatea de curent care trece prin circuit. Acest lucru se realizează prin realizarea de rezistențe din materiale cu proprietăți scăzute conductive. Rezistența este măsurată în ohmi și poate fi determinată din următoarea ecuație:

rezistență (în ohmi) = putere sau tensiune (în volți) / curent (în amperi)

Să presupunem că vreau să conectez o lumină LED la o sursă de alimentare de 9V, dar LED-ul poate tolera doar 30 miliamperi de curent. Pe baza ecuației de mai sus, va trebui să folosim un rezistor de 300 ohmi pentru a limita curentul care trece prin lumina LED.

9 volți / 0,03 milli-amperi = 300 ohmi

Există trei categorii principale de rezistențe:

  1. Rezistențe fixe, cum ar fi cele pe care le folosim aici,
  2. Rezistențe variabile, cunoscute sub numele de potențiometre, și
  3. Rezistențele variabile care depind de calitățile fizice, cum ar fi temperatura (termistori) sau lumină (celule fotovoltaice)

Deși rezistoarele servesc la limitarea debitului curent, există diferite tipuri de rezistențe în fiecare dintre aceste trei categorii pentru diferite aplicații.

Cele mai multe rezistoare fixe sunt marcate cu benzi colorate pentru a ne ajuta să-i rezolvăm rezistența. Din stânga, primele două benzi dau prima și a doua cifră a valorii rezistenței. Cea de-a treia banda furnizeaza factorul de multiplicare. În cele din urmă, a patra bandă dă toleranța rezistorului.

Resistor coduri de culoare

Din culorile de pe rezistorul de mai sus, putem determina următoarele:

  • Maro (prima cifră) = 1
  • Negru (a doua cifră) = 0
  • Orange (multiplicator) = 10 ^ 3
  • Aur (toleranță) = +/- 5%
  • 10 * 10 ^ 3 = 10.000 ohmi sau 10 ohmi ohmi sau rezistență de 10K

Aici este tabelul complet de culori. Pentru mai multe informații, vă rugăm să consultați Wikipedia privind codurile de culoare ale rezistorului.

Culoare Cifră coeficient Toleranţă
Negru 0 x10 ^ 0 ± 1%
Maro 1 x10 ^ 1 ± 2%
roșu 2 x10 ^ 2 -
portocale 3 x10 ^ 3 (± 5%)
Galben 4 x10 ^ 4 ± 5%
Verde 5 x10 ^ 5 ± 0,25%
Albastru 6 x10 ^ 6 ± 10%
violet 7 x10 ^ 7 ± 1%
gri 8 x10 ^ 8 ± 0,05% (± 10%)
alb 9 x10 ^ 9 -
Aur - x10 ^ -1 ± 5%
Argint - x10 ^ -2 ± 10%
Nici unul - - ± 20%

Scopul rezistorului

Am conectat cablul de semnal galben de la pinul digital 2 la un picior al butonului. Același picior al butonului, pe cealaltă parte, se conectează prin rezistorul de 10 K la pământ pentru a forma un circuit complet. Când butonul nu este împins, curentul de călătorie este citit de Arduino ca LOW.

Odată ce butonul este împins în jos, o conexiune între pinul 2 și poziția 5V va fi stabilită prin picioarele butonului. Deoarece energia electrică va călători întotdeauna pe calea cea mai mică rezistență, va evita trecerea prin rezistor și va curge până la pinul 2, ceea ce duce la o citire înaltă de către placa Arduino.

Pasul 2

Acum, să terminăm pasul 4 și să facem ca LED-ul să clipească mai repede când apăsăm butonul.

 int întârziere_value = 1000; int led_pin = 13; int button_pin = 2; void setup () pinMode (led_pin, OUTPUT); pinMode (buton_pin, INPUT);  void loop () digitalWrite (led_pin, HIGH); întârziere (delay_value); digitalWrite (led_pin, LOW); întârziere (delay_value); int button_state = digitalRead (buton_pin); dacă (button_state == HIGH) delay_value = 100;  altceva delay_value = 1000; 

De data aceasta, codul îl instruiește pe Arduino să-și trateze pinul-2 ca sursă de intrare apelând pinMode (buton_pin, INPUT) în interiorul înființat() funcţie. Acest lucru ne permite să citim starea butonului mai târziu în interior buclă() funcția prin apel digitalRead (button_pin). Obținerea stării butonului ne permite să determinăm dacă funcția de întârziere ar trebui apelată cu o valoare mai mică.

Acum mergeți mai departe și încărcați codul de mai sus la Arduino, apoi apăsați butonul pentru a vedea lumina LED-ului clipește mai repede.


Depanare

Dacă ați ajuns atât de departe și codul de mai sus nu funcționează pentru dvs., ar putea exista câteva motive pentru acest lucru:

  • Acest lucru poate părea evident, dar asigurați-vă că Arduino este conectat la o sursă de alimentare și LED-ul ON este pornit.
  • Asigurați-vă că toate știfturile și firele, rezistorul și butonul de conectare sunt conectate ferm la placa dvs. Arduino și la placa de lucru. Dacă nu sunteți sigur de continuitatea conexiunilor, utilizați un multimetru pentru a măsura continuitatea.
  • Asigurați-vă că toate conexiunile la placa Arduino sunt conectate la intrările digitale corecte.
  • Dacă problema persistă, consultați ghidul de depanare Arduino.

Concluzie

Proiectul finalizat

În acest tutorial ați învățat câteva tehnici de bază în utilizarea unei plăci Arduino, a unui breadboard, a rezistențelor și a butoanelor, împreună cu IDE-ul Arduino. De asemenea, ați învățat cum întârziere() funcția poate fi utilizată pentru a menține o stare pentru orice perioadă de timp dată.

Dacă aveți întrebări despre acest tutorial, lăsați-le în secțiunea de comentarii, de mai jos.