Les 07: Kry bykomende 5V en GND van Arduino | Arduino Stap-vir-stap-kursus
In hierdie les uit die Robojax Arduino Stap-vir-Stap-kursus ondersoek ons 'n praktiese oplossing vir 'n algemene probleem: om sonder 5V- en GND-verbindings op jou Arduino-bord te raak. Of jy nou 'n projek bou wat krag benodig vir 'n servomotor, 'n LCD-skerm, 'n ultrasoniese sensor, of 'n kombinasie van toestelle, die beperkte aantal kragpenne op 'n Arduino Uno of Nano kan vinnig 'n knelpunt word. Hierdie gids demonstreer hoe om kreatief enige digitale I/O-pen as 'n bykomende 5V-bron of as 'n grondverbinding te gebruik, wat jou die buigsaamheid bied om veelvuldige komponente te krag sonder om 'n eksterne kragtoevoer vir lae-stroomtoestelle te benodig.
Hierdie tegniek is veral nuttig vir verskeie werklike toepassings, insluitend:
- Om 'n klein OLED- of LCD-skerm saam met 'n servomotor in 'n enkele projek te krag.
- Om krag aan veelvuldige sensors te verskaf, soos 'n ultrasoniese sensor en 'n PIR-bewegingsdetektor, gelyktydig.
- Om tydelike toetsopstellings op 'n broodbord te skep waar jy 'n vinnige en maklike kragbron vir 'n nuwe module nodig het.
- Om lae-krag-LED's of logiese-vlakstroombane te dryf wat 'n skoon 5V-verwysing benodig.
Verstaan Arduino-kragbeperkings
Voordat ons in die oplossing duik, is dit noodsaaklik om die kragargitektuur van jou Arduino-bord te verstaan. Op 'n standaard Arduino Uno het jy tipies 'n enkele toegewyde 5V-pen. Sommige derdeparty-borde, soos in die video genoem, mag 'n tweede 5V-pen hê, maar selfs dan mag jy meer nodig hê (in video by 00:26).
Die hoeveelheid stroom wat jy van hierdie penne kan trek, hang af van jou kragbron. As jy die bord via USB krag, word die stroom beperk deur die USB-poort of -laaier wat jy gebruik—byvoorbeeld, 'n 1A-laaier sal tot 1A toelaat, terwyl 'n 2.4A-laaier meer sal toelaat (in video by 01:55). As jy die vatprop met 'n 7-12V-toevoer gebruik, word die stroom gereguleer deur die AMS1117-spanningsreguleerder-skyfie aan boord, wat 'n tipiese stroomlimiet van 1.1A het (in video by 02:20).
Dit is ook belangrik om die ICSP-kopstuk op die bord te let. Soos in die video verduidelik, gee hierdie kopstuk toegang tot die SPI- (Serial Peripheral Interface) penne, en die pen aan die regterkant is eintlik VCC (5V), terwyl die laaste pen GND is (in video by 00:54). Dit gee jou nog 'n fisiese ligging om by die 5V-spoor in te skakel.
Die mees kritieke beperking om te onthou is egter vir die digitale I/O-penne. Volgens die amptelike Arduino-dokumentasie kan elke digitale pen 'n maksimum van 20 milliampere (mA) verskaf of sink (in video by 03:30). Dit is meer as genoeg vir LED's, logiese stroombane, en baie sensors, maar dit is onvoldoende vir hoë-stroomtoestelle soos motors of hoë-krag-servo's. Vir daardie moet jy altyd die hoof-5V-pen of 'n eksterne kragbron gebruik.
Hardeware en Komponente
Vir hierdie demonstrasie sal jy die volgende komponente benodig:
- 1x Arduino-bord (Uno, Nano, of soortgelyk)
- 1x LED (enige kleur)
- 1x 1kΩ-weerstand
- 1x Broodbord
- Springdrade
- (Opsioneel) 'n LCD 1602-skerm of 'n Relaismodule vir demonstrasie
Bedradingsgids
Die bedrading vir hierdie projek is eenvoudig, aangesien dit hoofsaaklik behels om 'n digitale pen aan jou komponent se kragspoor te koppel en 'n ander digitale pen aan sy grond. In die video demonstreer die instrukteur dit deur 'n LED te krag.
Hier is hoe om dit op te stel:
- Koppel die LED: Koppel die anode (langer been) van die LED aan digitale pen 5 op jou Arduino deur 'n 1kΩ-stroombeperkende weerstand.
- Koppel die Grond: Koppel die katode (korter been) van die LED direk aan digitale pen 2 op jou Arduino.
Hierdie eenvoudige stroombaan laat pen 5 as die 5V-bron optree en pen 2 as die grond, wat die stroombaan voltooi (in video by 06:05).
Vir 'n meer skaalbare benadering kan jy 'n broodbord gebruik om die krag te versprei, soos in die video gewys. Deur die rooi kragspoor van die broodbord aan pen 5 te koppel en die blou/swart grondspoor aan pen 2, kan jy maklik veelvuldige komponente krag deur hulle in die onderskeie spore te prop (in video by 06:59).
Kodeverduideliking
Die kode wat vir hierdie les verskaf word, is buitengewoon eenvoudig, aangesien die enigste doel daarvan is om twee digitale penne te konfigureer om as kragtoevoerpenne op te tree. Die sleutel tot hierdie funksionaliteit lê in die twee konfigurasiekonstantes wat bo-aan die skets gedefinieer word.
Hier is die gebruikerskonfigureerbare deel van die kode:
#define VCC2 5 // definieer pen 5 of enige ander digitale pen hier as VCC2
#define GND2 2 // definieer pen 2 of enige ander digitale pen as Grond 2
Hierdie twee reëls is die kern van die aanpassing. Die #define-riglyn is 'n voorverwerkeropdrag wat die Arduino-kompileerder vertel om elke voorkoms van VCC2 met die nommer 5 en elke voorkoms van GND2 met die nommer 2 te vervang voordat die kode gekompileer word. Dit maak dit ongelooflik maklik om te verander watter penne jy vir krag gebruik. As jy pen 8 as jou 5V-bron wil gebruik, verander jy eenvoudig die 5 na 8 in die eerste reël. Net so kan jy die grondpen verander deur die tweede reël te wysig.
Die res van die kode is net die aanvanklike logika binne die setup()-funksie. Dit stel die pen wat as VCC2 gedefinieer is as 'n OUTPUT en skryf dit dan HOOG, wat 5V uitset. Omgekeerd stel dit die pen wat as GND2 gedefinieer is as 'n OUTPUT en skryf dit LAAG, wat dit as 'n grondverbinding laat optree. Sodra dit in die setup() gedoen is, sal die penne hul toestande behou vir die hele tyd wat die Arduino aangedryf word, en jy kan jou hoofprogramlogika by die loop()-funksie voeg.
Lewende Projekdemonstrasie
In die video demonstreer die instrukteur die konsep deur die kode op die Arduino te laai. Sodra dit opgelaai is, skakel die LED wat tussen pen 5 en pen 2 gekoppel is onmiddellik aan, wat bewys dat pen 5 spanning verskaf en pen 2 stroom as grond insink. Om die punt verder te illustreer, wys hy dat die verskuiwing van die LED se kragverbinding na 'n ander, onopgestelde digitale pen daartoe lei dat die LED nie aanskakel nie, aangesien daardie pen nie ingestel is om 5V uit te voer nie (in video by 06:37).
Die demonstrasie sluit ook 'n praktiese voorbeeld met 'n broodbord in. Deur die 5V-pen aan die broodbord se kragrail en die grondpen aan die grondrail te koppel, dryf hy 'n 1602 LCD-skerm en 'n relêmodule gelyktydig aan. Dit wys hoe jy hierdie tegniek kan gebruik om 'n klein, toegewyde kragverspreidingsbus vir jou lae-stroom-komponente te skep, wat jou bedrading skoon en georganiseerd hou (in video by 06:59).
Gevolgtrekking
Hierdie les bied 'n eenvoudige maar kragtige truuk om die vermoëns van jou Arduino-bord uit te brei. Deur digitale penne as kragbronne te herdefinieer, kan jy die algemene probleem van beperkte 5V- en GND-verbindings oplos. Onthou die kritieke 20mA-limiet per pen, en jy kan veilig 'n verskeidenheid sensors en klein modules in jou toekomstige projekte aandryf.
Hoofstukke
- [00:00] Inleiding en Oorsig van 5V-penne
- [00:54] Verstaan die ICSP-kop en SPI-penne
- [01:55] Stroombeperkings Gebaseer op Kragbron
- [03:30] Digitale Penstroomlimiete en Gebruiksgevalle
- [04:51] Kodeverduideliking vir die Skep van Ekstra 5V en GND
- [06:05] Bedradingsdemonstrasie met 'n LED
- [06:59] Opskaling met 'n Broodbord-kragverspreiding
/*
* 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
}
Hulpbronne en verwysings
-
Buitenburg
-
Buitenburg
-
Buitenburg
-
Internaal
Lêers📁
Geen lêers beskikbaar.