Noțiuni introductive despre Arduino: un ghid pentru începători

Noțiuni introductive despre Arduino: un ghid pentru începători

Arduino este o platformă de prototipare electronică open-source și este una dintre cele mai populare din lume - cu posibila excepție a Raspberry Pi. După ce a vândut peste 3 milioane de unități (și multe altele sub formă de dispozitive clone de la terți): ce o face atât de bună și ce poți face cu una?





Ce este Arduino?

Arduino se bazează pe hardware și software ușor de utilizat, flexibil. Este creat pentru artiști, designeri, ingineri, pasionați și oricine are cel mai mic interes pentru electronica programabilă.





Arduino simte mediul citind date de la diverse butoane, componente și senzori. Ele pot avea impact asupra mediului prin controlul LED-urilor, motoare , servo, relee și multe altele.





Proiectele Arduino pot fi independente sau pot comunica cu software-ul care rulează pe un computer ( Prelucrare este cel mai popular software pentru aceasta). Pot vorbi cu alți Arduino, Raspberry Pis, NodeMCU sau aproape orice altceva. Asigurați-vă că ați citit comparația noastră de microcontrolere de 5 USD pentru o comparație aprofundată a diferențelor dintre aceste microcontrolere.

S-ar putea să vă întrebați, de ce să alegeți Arduino? Arduino simplifică într-adevăr procesul de construire a unui proiect electronic programabil, făcându-l o platformă excelentă pentru începători. Puteți începe cu ușurință să lucrați la unul fără experiență electronică anterioară. Există mii de tutoriale disponibile și acestea sunt în dificultate, astfel încât să puteți fi siguri de o provocare odată ce stăpâniți elementele de bază.



În plus față de simplitatea Arduino, este, de asemenea, ieftin, multiplataformă și open source. Arduino Uno (cel mai popular model) se bazează pe microcontrolerele ATMEGA 16U2 de la Atmel. Există multe modele diferite produse, care variază în mărime, putere și specificații, așa că aruncați o privire la ghidul nostru de cumpărare pentru toate diferențele.

Planurile pentru forumuri sunt publicate în secțiunea a Creative Commons licență, astfel încât amatorii de experiență și alți producători sunt liberi să-și facă propria versiune a Arduino, extinzându-l potențial și îmbunătățindu-l (sau doar copiindu-l direct, ducând la proliferarea plăcilor Arduino cu costuri reduse pe care le găsim astăzi).





Ce poți face cu un Arduino?

Un Arduino poate face un număr uimitor de lucruri. Acestea sunt creierul ales pentru majoritatea imprimantelor 3D. Costul redus și ușurința de utilizare înseamnă că mii de producători, designeri, hackeri și creatori au realizat proiecte uimitoare. Iată doar câteva dintre proiectele Arduino pe care le-am realizat aici la MakeUseOf:

Ce se află în interiorul unui Arduino?

Deși există multe tipuri diferite de plăci Arduino disponibile, acest manual se concentrează pe Arduino uno model. Aceasta este cea mai populară placă Arduino din jur. Deci, ce face ca acest lucru să bifeze? Iată specificațiile:





  • Procesor: 16 Mhz ATmega16U2
  • Memorie flash: 32KB
  • RAM: 2KB
  • Tensiune de operare: 5V
  • Tensiune de intrare: 7-12V
  • Număr de intrări analogice: 6
  • Număr de I / O digitale: 14 (6 dintre ele Modulare lățime impulsuri - PWM )

Specificațiile pot părea gunoi în comparație cu computerul dvs. desktop, dar nu uitați că Arduino este un dispozitiv încorporat, cu mult mai puține informații de procesat decât desktopul dvs. Este mai mult decât capabil pentru cele mai multe proiecte electronice.

O altă caracteristică minunată a Arduino este capacitatea de a utiliza ceea ce se numește „scuturi” sau plăci suplimentare. Deși scuturile nu vor fi acoperite în acest manual, ele reprezintă un mod foarte elegant de a extinde caracteristicile și funcționalitatea Arduino.

De ce veți avea nevoie pentru acest ghid

Mai jos veți găsi o listă de cumpărături cu componentele de care veți avea nevoie pentru acest ghid pentru începători. Toate aceste componente ar trebui să vină sub 50 USD în total. Această listă ar trebui să fie suficientă pentru a vă oferi o bună înțelegere a elementelor electronice de bază și să aibă suficiente componente pentru a construi niște proiecte destul de interesante folosind acest ghid sau orice alt ghid Arduino. Dacă nu doriți să selectați fiecare componentă, vă recomandăm să achiziționați în schimb un kit de pornire.

Dacă nu puteți obține o anumită valoare a rezistenței, ceva cât mai apropiat posibil va funcționa de obicei bine.

Prezentare generală a componentelor electrice

Să ne uităm la ce anume sunt toate aceste componente, ce fac și cum arată.

Pană de pâine

Utilizate pentru a prototipa circuitele electronice, acestea oferă un mijloc temporar de conectare a componentelor împreună. Panourile sunt blocuri de plastic cu găuri în care firele pot fi introduse. Găurile sunt aranjate în rânduri, în grupuri de câte cinci. Când doriți să rearanjați un circuit, trageți firul sau partea din gaură și mutați-l. Multe plăci de conținut conțin două sau patru grupuri de găuri care se întind pe lungimea plăcii, de-a lungul părților laterale și sunt toate conectate - acestea sunt de obicei pentru distribuirea energiei și pot fi etichetate cu o linie roșie și albastră.

Panourile sunt excelente pentru producerea rapidă a unui circuit. Ele pot deveni foarte dezordonate pentru un circuit mare, iar modelele mai ieftine pot fi notoriu nesigure, deci merită să cheltuiți mai mulți bani pe unul bun.

LED-uri

LED înseamnă Dioda electro luminiscenta . Sunt o sursă de lumină foarte ieftină și pot fi foarte strălucitoare - mai ales atunci când sunt grupate împreună. Acestea pot fi achiziționate într-o varietate de culori, nu se încălzesc deosebit și durează mult. Este posibil să aveți LED-uri în televizor, tabloul de bord al mașinii sau în becurile Philips Hue.

Microcontrolerul dvs. Arduino are, de asemenea, un LED încorporat pe pinul 13 care este frecvent utilizat pentru a indica o acțiune sau eveniment sau doar pentru testare.

Rezistor foto

Un rezistor foto ( p hotocell sau Rezistor dependent de lumină ) permite Arduino să măsoare schimbările de lumină. Puteți utiliza acest lucru pentru a porni computerul când este lumina zilei, de exemplu.

Comutator tactil

câți ani trebuie să ai pentru a folosi paypal

Un comutator tactil este practic un buton. Apăsarea acestuia va completa circuitul și (de obicei) va trece de la 0V la + 5V. Arduinos poate detecta această schimbare și poate răspunde în consecință. Acestea sunt deseori momentan - adică sunt „apăsate” doar atunci când degetul le ține apăsate. După ce ați dat drumul, acestea vor reveni la starea lor implicită („ne-apăsat” sau dezactivat).

Piezo Speaker

Un difuzor piezo este un difuzor mic care produce sunet din semnale electrice. Sunt deseori duri și tinichii și nu sună nimic ca un difuzor real. Acestea fiind spuse, sunt foarte ieftine și ușor de programat. Jocul nostru Buzz Wire folosește unul pentru a juca Cântec tematic Monty Python „Flying Circus” .

Rezistor

Un rezistor limitează fluxul de electricitate. Sunt componente foarte ieftine și o bază de circuite electronice profesionale și amatori. Acestea sunt aproape întotdeauna necesare pentru a proteja componentele de suprasolicitare. De asemenea, sunt necesare pentru a preveni un scurtcircuit dacă Arduino + 5V se conectează direct la sol. Pe scurt: foarte la îndemână și absolut esențial.

Sârme jumper

Sârmele jumper sunt folosite pentru a crea conexiuni temporare între componentele de pe panoul dvs. de calcul.

Configurarea Arduino

Înainte de a începe orice proiect, trebuie să-ți faci Arduino să vorbească cu computerul. Acest lucru vă permite să scrieți și să compilați codul pentru executarea Arduino, precum și să oferiți o modalitate prin care Arduino să funcționeze alături de computer.

Instalarea pachetului software Arduino pe Windows

Mergeți la Site-ul Arduino și descărcați o versiune a software-ului Arduino potrivită pentru versiunea dvs. de Windows. După descărcare, urmați instrucțiunile pentru a instala Arduino Mediu de dezvoltare integrat (AICI).

Instalarea include drivere, deci, în teorie, ar trebui să fii bun să mergi imediat. Dacă acest lucru nu reușește din anumite motive, încercați acești pași pentru a instala driverele manual:

  • Conectați placa și așteptați ca Windows să înceapă procesul de instalare a driverului. După câteva momente, procesul va eșua, în ciuda eforturilor sale.
  • Click pe Meniul Start > Panou de control .
  • Navigheaza catre Sistem și securitate > Sistem . Odată ce fereastra de sistem este activată, deschideți fișierul Manager de dispozitiv .
  • Sub Porturi (COM & LPT), ar trebui să vedeți un port deschis numit Arduino UNO (COMxx) .
  • Faceți clic dreapta pe Arduino UNO (COMxx) > Actualizați software-ul driverului .
  • Alege Răsfoiți computerul pentru software-ul Driver .
  • Navigați la și selectați fișierul driverului Uno, numit ArduinoUNO.inf , situat în Șoferii folderul descărcării software-ului Arduino.

Windows va finaliza instalarea driverului de acolo.

Instalarea pachetului software Arduino pe Mac OS

Descărcați software-ul Arduino pentru Mac de pe Site-ul Arduino . Extrageți conținutul fișierului .zip fișierul și rulați aplicația. Puteți să-l copiați în dosarul aplicațiilor, dar va rula foarte bine din desktop sau descărcări dosare. Nu trebuie să instalați niciun driver suplimentar pentru Arduino UNO.

Instalarea software-ului Arduino pe pachetul Ubuntu / Linux

Instalare gcc-avr și avr-libc :

sudo apt-get install gcc-avr avr-libc

Dacă nu aveți deja openjdk-6-jre, instalați și configurați și asta:

sudo apt-get install openjdk-6-jre
sudo update-alternatives --config java

Selectați corectul JRE dacă aveți mai multe instalate.

Du-te la Site-ul Arduino și descărcați software-ul Arduino pentru Linux. Poti răspândire și rulați-l cu următoarea comandă:

tar xzvf arduino-x.x.x-linux64.tgz
cd arduino-1.0.1
./arduino

Indiferent de sistemul de operare pe care îl executați, instrucțiunile de mai sus presupun că aveți o placă originală Arduino Uno. Dacă ați achiziționat o clonă, aproape sigur veți avea nevoie de drivere terțe înainte ca placa să fie recunoscută prin USB.

Rularea software-ului Arduino

Acum că software-ul este instalat și Arduino este configurat, să verificăm că totul funcționează. Cel mai simplu mod de a face acest lucru este folosind aplicația eșantion „Blink”.

Deschideți software-ul Arduino făcând dublu clic pe aplicația Arduino ( ./arduino pe Linux ). Asigurați-vă că placa este conectată la computer, apoi deschideți fișierul LED-ul clipește schiță de exemplu: Fişier > Exemple > 1. Bazele > Clipiți . Ar trebui să vedeți codul aplicației deschis:

Pentru a încărca acest cod pe Arduino, selectați intrarea în Instrumente > Bord meniul care corespunde modelului dvs. - Arduino uno în acest caz.

Selectați dispozitivul serial al plăcii dvs. din Instrumente > Port serial meniul. Pe Windows, acest lucru este probabil să fie COM3 sau mai sus. Pe Mac sau Linux, ar trebui să fie ceva /dev/tty.usbmodem în ea.

În cele din urmă, faceți clic pe Încărcare butonul din partea stângă sus a mediului dvs. Așteptați câteva secunde și ar trebui să vedeți RX și TX LED-urile de pe Arduino clipesc. Dacă încărcarea reușește, mesajul „Încărcare finalizată” va apărea în bara de stare.

La câteva secunde după terminarea încărcării, ar trebui să vedeți fișierul pinul 13 LED-ul de pe placă începe să clipească. Felicitări! Ai Arduino-ul tău în funcțiune.

Proiecte Starter

Acum, că știți elementele de bază, să ne uităm la câteva proiecte pentru începători.

Ați folosit anterior codul eșantion Arduino pentru a clipi LED-ul integrat. Acest proiect va aprinde intermitent un LED extern folosind o placă de verificare. Iată circuitul:

Conectați piciorul lung al LED-ului (picior pozitiv, numit anod ) la o Rezistor de 220 Ohm și apoi la digital pinul 7 . Conectați piciorul scurt (picior negativ, numit catod ) direct către sol (oricare dintre porturile Arduino cu GND pe el, alegerea dvs.). Acesta este un circuit simplu. Arduino poate controla digital acest pin. Pornirea pinului va aprinde LED-ul, oprindu-l, LED-ul se va stinge. Rezistorul este necesar pentru a proteja LED-ul de prea mult curent - se va arde fără unul.

Iată codul de care aveți nevoie:

void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the pin as an output
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, HIGH); // turn LED on
delay(1000); // wait 1 second
digitalWrite(7, LOW); // turn LED off
delay(1000); // wait one second
}

Acest cod face mai multe lucruri:

configurare nulă (): Acesta este condus de Arduino o dată de fiecare dată când începe. Aici puteți configura variabile și orice trebuie să ruleze Arduino.

pinMode (7, OUTPUT): Acest lucru îi spune lui Arduino să folosească acest pin ca ieșire, fără această linie, Arduino nu ar ști ce să facă cu fiecare pin. Acest lucru trebuie configurat o singură dată pentru fiecare pin și trebuie să configurați pinii pe care intenționați să îi utilizați.

bucla void (): Orice cod din această buclă este rulat în repetate rânduri, până când Arduino este oprit. Acest lucru poate face proiectele mai mari mai complexe, dar funcționează uimitor de bine pentru proiectele simple.

digitalWrite (7, HIGH): Acesta este folosit pentru a seta pinul ÎNALT sau SCĂZUT - PE sau OPRIT . La fel ca un întrerupător de lumină, atunci când pinul este HIGH, LED-ul va fi aprins. Când pinul este LOW, LED-ul se va stinge. În paranteze, trebuie să specificați câteva informații suplimentare pentru ca acest lucru să funcționeze corect. Informațiile suplimentare sunt cunoscute sub numele de parametri sau argumente.

Primul (7) este numărul pinului. Dacă ați conectat LED-ul la un alt pin, de exemplu, ați schimba acest lucru de la șapte la alt număr. Al doilea parametru trebuie să fie ÎNALT sau SCĂZUT , care specifică dacă LED-ul trebuie aprins sau oprit.

întârziere (1000): Îi spune lui Arduino să aștepte o anumită perioadă de timp în milisecunde. 1000 de milisecunde este egală cu o secundă, deci acest lucru va face ca Arduino să aștepte o secundă.

Odată ce LED-ul a fost aprins timp de o secundă, Arduino rulează același cod, doar continuă să oprească LED-ul și să aștepte încă o secundă. Odată ce acest proces sa încheiat, bucla începe din nou și LED-ul este din nou aprins.

Provocare: Încercați să reglați întârzierea dintre pornirea și oprirea LED-ului. Ce observi? Ce se întâmplă dacă setați întârzierea la un număr foarte mic, cum ar fi unul sau doi? Puteți modifica codul și circuitul pentru a clipi Două LED-uri?

Adăugarea unui buton

Acum că aveți un LED funcțional, să adăugăm un buton la circuitul dvs.:

Conectați butonul astfel încât să pună canalul în mijlocul panoului. Conectați sus în dreapta picior la Pinul 4 . Conectați dreapta-jos picior la a 10k Ohm rezistor și apoi la sol . Conectați stânga jos picior la 5V .

S-ar putea să vă întrebați de ce un buton simplu are nevoie de un rezistor. Aceasta are două scopuri. Este un trage în jos rezistor - leagă știftul de sol. Acest lucru asigură că nu sunt detectate valori false și împiedică Arduino gândire ați apăsat butonul când nu ați făcut-o. Al doilea scop al acestui rezistor este ca un limitator de curent. Fără ea, 5V ar merge direct în sol, fum magic ar fi eliberat, iar Arduino-ul tău ar muri. Acest lucru este cunoscut sub numele de scurtcircuit, astfel încât utilizarea unui rezistor împiedică acest lucru să se întâmple.

Când butonul nu este apăsat, Arduino detectează solul ( pinul 4 > rezistor > sol ). Când apăsați butonul, 5V este conectat la masă. Pinul Arduino 4 poate detecta această modificare, deoarece pinul 4 s-a schimbat acum de la sol la 5V;

Iată codul:

boolean buttonOn = false; // store the button state
void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the LED as an output
pinMode(4, INPUT); // configure the button as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(4)) {
delay(25);
if(digitalRead(4)) {
// if button was pressed (and was not a spurious signal)
if(buttonOn)
// toggle button state
buttonOn = false;
else
buttonOn = true;
delay(500); // wait 0.5s -- don't run the code multiple times
}
}
if(buttonOn)
digitalWrite(7, LOW); // turn LED off
else
digitalWrite(7, HIGH); // turn LED on
}

Acest cod se bazează pe ceea ce ați învățat în secțiunea anterioară. Butonul hardware pe care l-ați folosit este un momentan acțiune. Aceasta înseamnă că va funcționa numai în timp ce îl țineți apăsat. Alternativa este o zăvorâre acțiune. La fel ca întrerupătoarele de lumină sau priză, apăsați o dată pentru a porni, apăsați din nou pentru a opri. Din fericire, un comportament de blocare poate fi implementat în cod. Iată ce face codul suplimentar:

buton boolean Activat = fals: Această variabilă este utilizată pentru a stoca starea butonului - ON sau OFF, HIGH sau LOW. I se dă o valoare implicită false.

pinMode (4, INPUT): La fel ca codul utilizat pentru LED-uri, această linie spune Arduino că ați conectat o intrare (butonul dvs.) la pinul 4.

if (digitalRead (4)): Într-un mod similar cu digitalWrite () , digitalRead () este folosit pentru a citi starea unui pin. Trebuie să îi furnizați un număr PIN (4, pentru butonul dvs.).

După ce ați apăsat butonul, Arduino așteaptă 25ms și verifică din nou butonul. Acest lucru este cunoscut sub numele de descompunerea software-ului . Acest lucru asigură faptul că ceea ce Arduino crede că a fost o apăsare de buton, într-adevăr a fost o apăsare pe buton și nu zgomot. Nu trebuie să faceți acest lucru și, în majoritatea cazurilor, lucrurile vor funcționa bine fără asta. Este mai mult o bună practică.

Dacă Arduino este sigur că ați apăsat butonul, acesta modifică valoarea buton Pornit variabil. Aceasta comută starea:

ButtonOn este adevărat: Setați la fals.

ButtonOn este fals: Setați la adevărat.

În cele din urmă, LED-ul este aprins în funcție de starea stocată în buton Pornit .

Senzor de lumina

Să trecem la un proiect avansat. Acest proiect va utiliza un Rezistor dependent de lumină (LDR) pentru a măsura cantitatea de lumină disponibilă. Arduino va spune apoi computerului dvs. mesaje utile despre nivelul curent de lumină.

cum să activezi YouTube pe Alexa

Iată circuitul:

Deoarece LDR-urile sunt un tip de rezistență, nu contează în ce direcție sunt plasate - nu au o polaritate. Conectați 5V într-o parte a LDR. Conectați cealaltă parte la sol prin intermediul unui 1k Ohm rezistor. Conectați, de asemenea, această parte la intrare analogică 0 .

Acest rezistor acționează ca un rezistor derulant, la fel ca în proiectele anterioare. Este necesar un pin analogic, deoarece LDR-urile sunt dispozitive analogice, iar acești pini conțin circuite speciale pentru citirea corectă a hardware-ului analogic.

Iată codul:

int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from LDR

//tell computer the light level
if(light <100) {
Serial.println('It is quite light!');
}
else if(light > 100 && light <400) {
Serial.println('It is average light!');
}
else {
Serial.println('It is pretty dark!');
}
delay(500); // don't spam the computer!
}

Acest cod face câteva lucruri noi:

Serial.begin (9600): Acest lucru îi spune Arduino că doriți să comunicați prin serial la o rată de 9600. Arduino va pregăti tot ce este necesar pentru aceasta. Rata nu este atât de importantă, dar atât Arduino, cât și computerul trebuie să fie același.

analogRead (A0): Aceasta este utilizată pentru a citi valoarea care vine de la LDR. O valoare mai mică înseamnă că există mai multă lumină disponibilă.

Serial.println (): Acesta este folosit pentru a scrie text pe interfața serială.

Simplul dacă declarația trimite diferite șiruri (text) către computer, în funcție de lumina disponibilă.

Încărcați acest cod și păstrați cablul USB conectat (așa va comunica Arduino și de unde provine alimentarea). Deschideți monitorul serial ( Sus în dreapta > Monitor serial ), Ar trebui să vedeți mesajele sosind la fiecare 0,5 secunde.

Ce observi? Ce se întâmplă dacă acoperiți LDR sau străluciți o lumină puternică pe el? Puteți modifica codul pentru a imprima valoarea LDR peste serial?

Fă niște zgomot

Acest proiect folosește difuzorul Piezo pentru a scoate sunete. Iată circuitul:

Observați ceva familiar? Acest circuit este aproape exact la fel ca proiectul LED. Piezos sunt componente foarte simple - emit un sunet când li se dă un semnal electric. Conectați pozitiv picior la digital pinul 9 prin intermediul unui 220 Ohm rezistor. Conectați negativ picior la sol .

Iată codul, este foarte simplu pentru acest proiect:

void setup() {
// put your setup code here, to run once:
pinMode(9, OUTPUT); // configure piezo as output
}
void loop() {
// put your main code here, to run repeatedly:
tone(9, 1000); // make piezo buzz
delay(1000); // wait 1s
noTone(9); // stop sound
delay(1000); // wait 1s
}

Există doar câteva caracteristici noi de cod aici:

ton (9, 1000): Acest lucru face ca piezo-ul să genereze un sunet. Este nevoie de două argumente. Primul este pinul de utilizat, iar al doilea este frecvența tonului.

noTone (9): Aceasta nu mai produce sunet pe pinul furnizat.

Încercați să modificați acest cod pentru a produce o altă frecvență. Schimbați întârzierea la 1 ms - ce observați?

Unde să merg de aici

După cum puteți vedea, Arduino este o modalitate ușoară de a intra în electronică și software. Este unul dintre cele mai bune microcontrolere pentru începători. Sperăm că ați văzut că este ușor să construiți proiecte electronice simple cu Arduino. Puteți construi proiecte mult mai complexe după ce înțelegeți cele de bază:

  • Creați ornamente cu lumină de Crăciun
  • Arduino Shields pentru a vă alimenta proiectul
  • Construiește-ți propriul joc de pong cu un Arduino
  • Conectați-vă Arduino la internet
  • Creați un sistem de automatizare a casei cu Arduino

Ce Arduino dețineți? Există proiecte distractive pe care îți place să le faci? Pentru mai multe, aruncați o privire la cum să vă îmbunătățiți codarea Arduino cu VS Code și PlatformIO.

Acțiune Acțiune Tweet E-mail 15 Comenzi Windows Prompt Command (CMD) pe care trebuie să le cunoașteți

Promptul de comandă este încă un instrument Windows puternic. Iată cele mai utile comenzi CMD pe care fiecare utilizator Windows trebuie să le cunoască.

Citiți în continuare
Subiecte asemănătoare
  • DIY
  • Arduino
  • Electronică
Despre autor Joe Coburn(136 articole publicate)

Joe este absolvent de Informatică de la Universitatea Lincoln, Marea Britanie. Este un dezvoltator de software profesionist și, atunci când nu zboară cu drone sau nu scrie muzică, poate fi găsit adesea făcând fotografii sau producând videoclipuri.

Mai multe de la Joe Coburn

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona
Categorie Diy