Code zoeken

Les 07: Extra 5V en GND verkrijgen van Arduino | Arduino Stap voor Stap Cursus

Les 07: Extra 5V en GND verkrijgen van Arduino | Arduino Stap voor Stap Cursus

In deze les van de Robojax Arduino Stap voor Stap Cursus verkennen we een praktische oplossing voor een veelvoorkomend probleem: het tekort aan 5V- en GND-aansluitingen op je Arduino-bord. Of je nu een project bouwt dat een servomotor, een LCD-scherm, een ultrasone sensor of een combinatie van apparaten van stroom moet voorzien, het beperkte aantal voedingspinnen op een Arduino Uno of Nano kan al snel een knelpunt worden. Deze handleiding laat zien hoe je op een creatieve manier elke digitale I/O-pin kunt gebruiken als extra 5V-bron of als aardverbinding, waardoor je de flexibiliteit hebt om meerdere componenten van stroom te voorzien zonder een externe voeding voor laagstroomapparaten.

Deze techniek is bijzonder nuttig voor verschillende praktische toepassingen, waaronder:

  • Het voeden van een kleine OLED- of LCD-display naast een servomotor in één project.
  • Het gelijktijdig voeden van meerdere sensoren, zoals een ultrasone sensor en een PIR-bewegingsdetector.
  • Het creëren van tijdelijke testopstellingen op een breadboard waar je een snelle en gemakkelijke stroombron nodig hebt voor een nieuwe module.
  • Het aansturen van laagvermogen-LED's of logische schakelingen die een schone 5V-referentie vereisen.

Inzicht in de voedingsbeperkingen van Arduino

Voordat we ingaan op de oplossing, is het cruciaal om de voedingsarchitectuur van je Arduino-bord te begrijpen. Op een standaard Arduino Uno heb je doorgaans één speciale 5V-pin. Sommige borden van derden, zoals opgemerkt in de video, kunnen een tweede 5V-pin hebben, maar zelfs dan heb je mogelijk meer nodig (in video op 00:26).

De hoeveelheid stroom die je uit deze pinnen kunt halen, hangt af van je stroombron. Als je het bord via USB van stroom voorziet, wordt de stroom beperkt door de USB-poort of oplader die je gebruikt—een 1A-oplader staat bijvoorbeeld tot 1A toe, terwijl een 2.4A-oplader meer toestaat (in video op 01:55). Als je de barrel-jack gebruikt met een 7-12V-voeding, wordt de stroom gereguleerd door de AMS1117-spanningsregelaar op het bord, die een typische stroomlimiet van 1.1A heeft (in video op 02:20).

Het is ook belangrijk om de ICSP-header op het bord op te merken. Zoals uitgelegd in de video, biedt deze header toegang tot de SPI-pinnen (Serial Peripheral Interface), en de pin aan de rechterkant is eigenlijk VCC (5V), terwijl de laatste pin GND is (in video op 00:54). Dit geeft je een andere fysieke locatie om toegang te krijgen tot de 5V-rail.

De meest kritieke beperking om te onthouden is echter voor de digitale I/O-pinnen. Volgens de officiële Arduino-documentatie kan elke digitale pin maximaal 20 milliampère (mA) leveren of opnemen (in video op 03:30). Dit is meer dan voldoende voor LED's, logische schakelingen en veel sensoren, maar onvoldoende voor hoogstroomapparaten zoals motoren of krachtige servo's. Gebruik daarvoor altijd de hoofd-5V-pin of een externe stroombron.

Hardware en componenten

Voor deze demonstratie heb je de volgende componenten nodig:

  • 1x Arduino-bord (Uno, Nano of vergelijkbaar)
  • 1x LED (elke kleur)
  • 1x 1kΩ-weerstand
  • 1x Breadboard
  • Jumperdraden
  • (Optioneel) Een LCD 1602-display of een relaismodule voor demonstratie

Bedradingshandleiding

De bedrading voor dit project is eenvoudig, omdat het voornamelijk gaat om het verbinden van een digitale pin met de voedingsrail van je component en een andere digitale pin met de aardrail. In de video demonstreert de instructeur dit door een LED van stroom te voorzien.

Zo stel je het in:

  1. Sluit de LED aan: Verbind de anode (langste poot) van de LED met digitale pin 5 op je Arduino via een 1kΩ-stroombegrenzende weerstand.
  2. Sluit de aarde aan: Verbind de kathode (kortste poot) van de LED rechtstreeks met digitale pin 2 op je Arduino.

Deze eenvoudige schakeling zorgt ervoor dat pin 5 fungeert als de 5V-bron en pin 2 als de aarde, waardoor het circuit wordt voltooid (in video op 06:05).

Voor een meer schaalbare aanpak kun je een breadboard gebruiken om de stroom te verdelen, zoals getoond in de video. Door de rode voedingsrail van het breadboard op pin 5 aan te sluiten en de blauwe/zwarte aardrail op pin 2, kun je gemakkelijk meerdere componenten van stroom voorzien door ze in de respectieve rails te steken (in video op 06:59).

Uitleg van de code

De code voor deze les is uitzonderlijk eenvoudig, omdat het enige doel is om twee digitale pinnen te configureren als voedingspinnen. De sleutel tot deze functionaliteit ligt in de twee configuratieconstanten die bovenaan de sketch zijn gedefinieerd.

Hier is het door de gebruiker configureerbare deel van de code:

#define VCC2  5 // definieer pin 5 of een andere digitale pin hier als VCC2
#define GND2  2 // definieer pin 2 of een andere digitale pin als Ground 2

Deze twee regels vormen de kern van de aanpassing. De #define-richtlijn is een preprocessorcommando dat de Arduino-compiler vertelt om elk exemplaar van VCC2 te vervangen door het getal 5 en elk exemplaar van GND2 door het getal 2 voordat de code wordt gecompileerd. Dit maakt het ongelooflijk eenvoudig om te wijzigen welke pinnen je gebruikt voor de voeding. Als je pin 8 als je 5V-bron wilt gebruiken, verander je eenvoudig de 5 in 8 in de eerste regel. Op dezelfde manier kun je de aardpin wijzigen door de tweede regel aan te passen.

De rest van de code is slechts de initialisatielogica binnen de setup()-functie. Het stelt de pin die is gedefinieerd als VCC2 in als een OUTPUT en schrijft er vervolgens HIGH naar, wat 5V uitvoert. Omgekeerd stelt het de pin die is gedefinieerd als GND2 in als een OUTPUT en schrijft er LOW naar, waardoor deze als aardverbinding fungeert. Zodra dit in de setup() is gedaan, behouden de pinnen hun status gedurende de hele tijd dat de Arduino van stroom is voorzien, en kun je je hoofdprogrammalogica toevoegen aan de loop()-functie.

Live projectdemonstratie

In de video demonstreert de instructeur het concept door de code op de Arduino te laden. Zodra deze is geüpload, gaat de LED die is aangesloten tussen pin 5 en pin 2 onmiddellijk branden, wat bewijst dat pin 5 spanning levert en pin 2 stroom afvoert als aarde. Om het punt verder te illustreren, laat hij zien dat het verplaatsen van de stroomaansluiting van de LED naar een andere, niet geconfigureerde digitale pin ervoor zorgt dat de LED niet gaat branden, omdat die pin niet is ingesteld om 5V uit te voeren (in video op 06:37).

De demonstratie omvat ook een praktisch voorbeeld met een breadboard. Door de 5V-pin aan te sluiten op de stroomrail van het breadboard en de aardpin op de aardrail, voorziet hij tegelijkertijd een 1602 LCD-display en een relaismodule van stroom. Dit laat zien hoe je deze techniek kunt gebruiken om een kleine, toegewijde stroomverdelingsbus te creëren voor je componenten met laag stroomverbruik, waardoor je bedrading schoon en georganiseerd blijft (in video op 06:59).

Conclusie

Deze les biedt een eenvoudige maar krachtige truc om de mogelijkheden van je Arduino-bord uit te breiden. Door digitale pinnen opnieuw te definiëren als stroombronnen, kun je het veelvoorkomende probleem van beperkte 5V- en GND-aansluitingen oplossen. Onthoud de kritieke limiet van 20mA per pin, en je kunt veilig een verscheidenheid aan sensoren en kleine modules van stroom voorzien in je toekomstige projecten.

Hoofdstukken

  • [00:00] Introductie en overzicht van 5V-pinnen
  • [00:54] De ICSP-header en SPI-pinnen begrijpen
  • [01:55] Stroombeperkingen op basis van stroombron
  • [03:30] Stroomlimieten van digitale pinnen en gebruiksscenario's
  • [04:51] Uitleg van code voor het creëren van extra 5V en GND
  • [06:05] Bedradingsdemonstratie met een LED
  • [06:59] Opschalen met een breadboard-stroomverdeling

Afbeeldingen

Arduino UNO R3 compatible development board
Arduino UNO R3 compatible development board
538-Lesson 7: Getting Additional 5V and GND from Arduino
Taal: 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


}

Bestanden📁

Geen bestanden beschikbaar.