Search Code

Lecția 07: Obținerea suplimentară de 5V și GND de la Arduino | Cursul Arduino Pas cu Pas

Lecția 07: Obținerea suplimentară de 5V și GND de la Arduino | Cursul Arduino Pas cu Pas

În această lecție din cadrul Cursului Robojax Arduino Pas cu Pas, explorăm o soluție practică pentru o problemă comună: epuizarea conexiunilor de 5V și GND de pe placa ta Arduino. Fie că construiești un proiect care necesită alimentarea unui servomotor, a unui afișaj LCD, a unui senzor ultrasonic sau a unei combinații de dispozitive, numărul limitat de pini de alimentare de pe un Arduino Uno sau Nano poate deveni rapid un blocaj. Acest ghid demonstrează cum să folosești creativ orice pin digital I/O ca sursă suplimentară de 5V sau ca o conexiune la masă, oferindu-ți flexibilitatea de a alimenta multiple componente fără a fi nevoie de o sursă de alimentare externă pentru dispozitivele cu consum redus de curent.

Această tehnică este deosebit de utilă pentru mai multe aplicații din lumea reală, inclusiv:

  • Alimentarea unui afișaj OLED sau LCD mic împreună cu un servomotor într-un singur proiect.
  • Furnizarea de energie către mai mulți senzori, cum ar fi un senzor ultrasonic și un detector de mișcare PIR, simultan.
  • Crearea unor configurații temporare de testare pe o breadboard unde ai nevoie de o sursă de alimentare rapidă și ușoară pentru un modul nou.
  • Acționarea LED-urilor de putere redusă sau a circuitelor la nivel logic care necesită o referință curată de 5V.

Înțelegerea limitărilor de alimentare ale Arduino

Înainte de a aborda soluția, este crucial să înțelegem arhitectura de alimentare a plăcii tale Arduino. Pe un Arduino Uno standard, ai de obicei un singur pin dedicat de 5V. Unele plăci de la terți, așa cum se menționează în videoclip, pot avea un al doilea pin de 5V, dar chiar și atunci, s-ar putea să ai nevoie de mai mult (în videoclip la 00:26).

Cantitatea de curent pe care o poți extrage din acești pini depinde de sursa ta de alimentare. Dacă alimentezi placa prin USB, curentul este limitat de portul USB sau de încărcătorul folosit—de exemplu, un încărcător de 1A va permite până la 1A, în timp ce un încărcător de 2,4A va permite mai mult (în videoclip la 01:55). Dacă folosești mufa cilindrică cu o sursă de 7-12V, curentul este reglementat de cipul regulator de tensiune AMS1117 de pe placă, care are o limită tipică de curent de 1,1A (în videoclip la 02:20).

De asemenea, este important să reținem conectorul ICSP de pe placă. După cum se explică în videoclip, acest conector oferă acces la pinii SPI (Serial Peripheral Interface), iar pinul din partea dreaptă este de fapt VCC (5V), în timp ce ultimul pin este GND (în videoclip la 00:54). Acest lucru îți oferă o altă locație fizică pentru a te conecta la magistrala de 5V.

Cu toate acestea, cea mai critică limitare de reținut este pentru pinii digitali I/O. Conform documentației oficiale Arduino, fiecare pin digital poate furniza sau absorbi un maxim de 20 de miliamperi (mA) (în videoclip la 03:30). Acest lucru este mai mult decât suficient pentru LED-uri, circuite logice și mulți senzori, dar este insuficient pentru dispozitive cu consum mare de curent, cum ar fi motoarele sau servomotoarele de mare putere. Pentru acestea, ar trebui să folosești întotdeauna pinul principal de 5V sau o sursă de alimentare externă.

Hardware și componente

Pentru această demonstrație, vei avea nevoie de următoarele componente:

  • 1x placă Arduino (Uno, Nano sau similar)
  • 1x LED (orice culoare)
  • 1x rezistor de 1kΩ
  • 1x Breadboard
  • Fire de legătură (jumper wires)
  • (Opțional) Un afișaj LCD 1602 sau un modul releu pentru demonstrație

Ghid de cablare

Cablarea pentru acest proiect este simplă, deoarece implică în principal conectarea unui pin digital la magistrala de alimentare a componentei tale și a altui pin digital la masa acesteia. În videoclip, instructorul demonstrează acest lucru alimentând un LED.

Iată cum să îl configurezi:

  1. Conectează LED-ul: Conectează anodul (piciorul mai lung) al LED-ului la pinul digital 5 de pe Arduino prin intermediul unui rezistor de limitare a curentului de 1kΩ.
  2. Conectează masa: Conectează catodul (piciorul mai scurt) al LED-ului direct la pinul digital 2 de pe Arduino.

Acest circuit simplu permite pinului 5 să acționeze ca sursă de 5V și pinului 2 ca masă, completând circuitul (în videoclip la 06:05).

Pentru o abordare mai scalabilă, poți folosi o breadboard pentru a distribui alimentarea, așa cum se arată în videoclip. Conectând magistrala de alimentare roșie a breadboard-ului la pinul 5 și magistrala de masă albastră/neagră la pinul 2, poți alimenta cu ușurință mai multe componente conectându-le la magistralele respective (în videoclip la 06:59).

Explicația codului

Codul furnizat pentru această lecție este extrem de simplu, deoarece singurul său scop este să configureze doi pini digitali pentru a acționa ca pini de alimentare. Cheia acestei funcționalități constă în cele două constante de configurare definite la începutul schiței.

Iată partea configurabilă de utilizator a codului:

#define VCC2  5 // definește pinul 5 sau orice alt pin digital aici ca VCC2
#define GND2  2 // definește pinul 2 sau orice alt pin digital ca Ground 2

Aceste două linii sunt nucleul personalizării. Directiva #define este o comandă de preprocesare care îi spune compilatorului Arduino să înlocuiască fiecare apariție a lui VCC2 cu numărul 5 și fiecare apariție a lui GND2 cu numărul 2 înainte ca codul să fie compilat. Acest lucru face extrem de ușor să schimbi pinii pe care îi folosești pentru alimentare. Dacă vrei să folosești pinul 8 ca sursă de 5V, trebuie doar să schimbi 5 cu 8 în prima linie. În mod similar, poți schimba pinul de masă editând a doua linie.

Restul codului este doar logica de inițializare din cadrul funcției setup(). Setează pinul definit ca VCC2 să fie un OUTPUT și apoi îl scrie HIGH, ceea ce scoate 5V. Invers, setează pinul definit ca GND2 să fie un OUTPUT și îl scrie LOW, ceea ce îl face să acționeze ca o conexiune la masă. Odată ce acest lucru este făcut în setup(), pinii își vor menține stările pe tot timpul cât Arduino este alimentat, iar tu poți adăuga logica principală a programului tău în funcția loop().

Demonstrație Live a Proiectului

În videoclip, instructorul demonstrează conceptul încărcând codul pe Arduino. Odată încărcat, LED-ul conectat între pinul 5 și pinul 2 se aprinde imediat, dovedind că pinul 5 furnizează tensiune, iar pinul 2 absoarbe curent ca masă. Pentru a ilustra și mai bine ideea, el arată că mutarea conexiunii de alimentare a LED-ului la un alt pin digital neconfigurat duce la neaprinderea LED-ului, deoarece acel pin nu este setat să scoată 5V (în videoclip la 06:37).

Demonstrația include și un exemplu practic folosind o breadboard. Conectând pinul de 5V la magistrala de alimentare a breadboard-ului și pinul de masă la magistrala de masă, el alimentează simultan un afișaj LCD 1602 și un modul de releu. Aceasta arată cum poți folosi această tehnică pentru a crea un mic magistral de distribuție a energiei dedicat componentelor tale cu curent redus, păstrând cablajul curat și organizat (în videoclip la 06:59).

Concluzie

Această lecție oferă un truc simplu, dar puternic, pentru a extinde capacitățile plăcii tale Arduino. Prin redefinirea pinilor digitali ca surse de alimentare, poți rezolva problema comună a conexiunilor limitate de 5V și GND. Ține minte limita critică de 20mA per pin și poți alimenta în siguranță o varietate de senzori și module mici în proiectele tale viitoare.

Capitole

  • [00:00] Introducere și Prezentare Generală a Pinilor de 5V
  • [00:54] Înțelegerea Header-ului ICSP și a Pinilor SPI
  • [01:55] Limitări de Curent Bazate pe Sursa de Alimentare
  • [03:30] Limitele de Curent ale Pinilor Digitali și Cazuri de Utilizare
  • [04:51] Explicația Codului pentru Crearea de 5V și GND Suplimentare
  • [06:05] Demonstrație de Cablare cu un LED
  • [06:59] Extinderea cu o Distribuție de Alimentare pe Breadboard

Imagini

Arduino UNO R3 compatible development board
Arduino UNO R3 compatible development board
538-Lesson 7: Getting Additional 5V and GND from Arduino
Limba: C++
/*
 * S01-07 Additional 5V or GND pin.
If your Arduino board voltage is 3.3V, then we will get 3.3V and GND pin

 * Arduino Sketch to give you extra 5V pin from Arduino
  Please watch video instruction here https://youtu.be/pQKrl5Kpi50
 This code is available at http://robojax.com/course1/?vid=lecture07

with over 100 lectures Free On YouTube. Watch it here http://robojax.com/L/?id=338
Get the code for the course: http://robojax.com/L/?id=339 
 * Written by Ahmad Shamshiri for Robojax, robojax.com http://youtube.com/robojaxTV
 * on Jan 01, 2019 at 08:54 in Ajax, Ontario, Canada
 * 
 */
#define VCC2  5 // define pin 5 or any other digital pin here as VCC2
#define GND2  2 // define pin 2 or any other digital pin as Ground 2

void setup() {
    
  pinMode(VCC2,OUTPUT);//define a digital pin as output
  digitalWrite(VCC2, HIGH);// set the above pin as HIGH so it acts as 5V

  pinMode(GND2,OUTPUT);//define a digital pin as output
  digitalWrite(GND2, LOW);// set the above pin as LOW so it acts as Ground  

}

void loop() {
	//Robojax Step By Step Arduino Course http://robojax.com/L/?id=338


}

Fișiere📁

Nu sunt disponibile fișiere.