Cerca codice

Lezione 07: Ottenere 5V e GND aggiuntivi da Arduino | Corso Arduino Passo Dopo Passo

Lezione 07: Ottenere 5V e GND aggiuntivi da Arduino | Corso Arduino Passo Dopo Passo

In questa lezione del Corso Passo Dopo Passo di Robojax su Arduino, esploriamo una soluzione pratica per un problema comune: esaurire le connessioni da 5V e GND sulla tua scheda Arduino. Che tu stia costruendo un progetto che richiede l'alimentazione di un servomotore, un display LCD, un sensore a ultrasuoni o una combinazione di dispositivi, il numero limitato di pin di alimentazione su un Arduino Uno o Nano può rapidamente diventare un collo di bottiglia. Questa guida dimostra come utilizzare creativamente qualsiasi pin I/O digitale come sorgente aggiuntiva da 5V o come connessione di terra, offrendoti la flessibilità di alimentare più componenti senza bisogno di un alimentatore esterno per dispositivi a bassa corrente.

Questa tecnica è particolarmente utile per diverse applicazioni reali, tra cui:

  • Alimentare un piccolo display OLED o LCD insieme a un servomotore in un singolo progetto.
  • Fornire alimentazione a più sensori, come un sensore a ultrasuoni e un rilevatore di movimento PIR, simultaneamente.
  • Creare configurazioni di test temporanee su una breadboard dove hai bisogno di una sorgente di alimentazione rapida e facile per un nuovo modulo.
  • Alimentare LED a bassa potenza o circuiti a livello logico che richiedono un riferimento pulito da 5V.

Comprendere i Limiti di Alimentazione di Arduino

Prima di addentrarci nella soluzione, è fondamentale comprendere l'architettura di alimentazione della tua scheda Arduino. Su un Arduino Uno standard, hai tipicamente un singolo pin dedicato da 5V. Alcune schede di terze parti, come notato nel video, possono avere un secondo pin da 5V, ma anche in quel caso potresti aver bisogno di più (nel video a 00:26).

La quantità di corrente che puoi prelevare da questi pin dipende dalla tua sorgente di alimentazione. Se alimenti la scheda tramite USB, la corrente è limitata dalla porta USB o dal caricatore che stai usando—ad esempio, un caricatore da 1A consentirà fino a 1A, mentre un caricatore da 2.4A consentirà di più (nel video a 01:55). Se usi il connettore barrel con un alimentatore da 7-12V, la corrente è regolata dal chip regolatore di tensione AMS1117 integrato, che ha un limite di corrente tipico di 1.1A (nel video a 02:20).

È anche importante notare l'header ICSP sulla scheda. Come spiegato nel video, questo header fornisce accesso ai pin SPI (Serial Peripheral Interface), e il pin sul lato destro è in realtà VCC (5V), mentre l'ultimo pin è GND (nel video a 00:54). Questo ti dà un'altra posizione fisica per accedere alla linea da 5V.

Tuttavia, la limitazione più critica da ricordare riguarda i pin I/O digitali. Secondo la documentazione ufficiale di Arduino, ogni pin digitale può fornire o assorbire un massimo di 20 milliampere (mA) (nel video a 03:30). Questo è più che sufficiente per LED, circuiti logici e molti sensori, ma è insufficiente per dispositivi ad alta corrente come motori o servomotori ad alta potenza. Per quelli, dovresti sempre usare il pin principale da 5V o una sorgente di alimentazione esterna.

Hardware e Componenti

Per questa dimostrazione, avrai bisogno dei seguenti componenti:

  • 1x scheda Arduino (Uno, Nano o simile)
  • 1x LED (qualsiasi colore)
  • 1x resistore da 1kΩ
  • 1x Breadboard
  • Cavi jumper
  • (Opzionale) Un display LCD 1602 o un modulo relè per la dimostrazione

Guida al Cablaggio

Il cablaggio per questo progetto è semplice, poiché coinvolge principalmente la connessione di un pin digitale alla linea di alimentazione del tuo componente e un altro pin digitale alla sua terra. Nel video, l'istruttore dimostra questo alimentando un LED.

Ecco come configurarlo:

  1. Collega il LED: Collega l'anodo (gamba più lunga) del LED al pin digitale 5 sul tuo Arduino tramite un resistore limitatore di corrente da 1kΩ.
  2. Collega la Terra: Collega il catodo (gamba più corta) del LED direttamente al pin digitale 2 sul tuo Arduino.

Questo semplice circuito consente al pin 5 di agire come sorgente da 5V e al pin 2 di agire come terra, completando il circuito (nel video a 06:05).

Per un approccio più scalabile, puoi usare una breadboard per distribuire l'alimentazione, come mostrato nel video. Collegando la linea di alimentazione rossa della breadboard al pin 5 e la linea di terra blu/nera al pin 2, puoi facilmente alimentare più componenti inserendoli nelle rispettive linee (nel video a 06:59).

Spiegazione del Codice

Il codice fornito per questa lezione è eccezionalmente semplice, poiché il suo unico scopo è configurare due pin digitali per agire come pin di alimentazione. La chiave di questa funzionalità risiede nelle due costanti di configurazione definite all'inizio dello sketch.

Ecco la parte configurabile dall'utente del codice:

#define VCC2  5 // definisci il pin 5 o qualsiasi altro pin digitale qui come VCC2
#define GND2  2 // definisci il pin 2 o qualsiasi altro pin digitale come Ground 2

Queste due righe sono il cuore della personalizzazione. La direttiva #define è un comando del preprocessore che dice al compilatore Arduino di sostituire ogni occorrenza di VCC2 con il numero 5 e ogni occorrenza di GND2 con il numero 2 prima che il codice venga compilato. Questo rende incredibilmente facile cambiare quali pin stai usando per l'alimentazione. Se vuoi usare il pin 8 come sorgente da 5V, basta cambiare il 5 in 8 nella prima riga. Allo stesso modo, puoi cambiare il pin di terra modificando la seconda riga.

Il resto del codice è solo la logica di inizializzazione all'interno della funzione setup(). Imposta il pin definito come VCC2 come OUTPUT e poi lo porta a HIGH, che emette 5V. Al contrario, imposta il pin definito come GND2 come OUTPUT e lo porta a LOW, facendolo agire come una connessione di terra. Una volta fatto questo nel setup(), i pin manterranno i loro stati per tutto il tempo in cui l'Arduino è alimentato, e puoi aggiungere la logica principale del tuo programma alla funzione loop().

Dimostrazione dal Vivo del Progetto

Nel video, l'istruttore dimostra il concetto caricando il codice sull'Arduino. Una volta caricato, il LED collegato tra il pin 5 e il pin 2 si accende immediatamente, dimostrando che il pin 5 fornisce tensione e il pin 2 assorbe corrente come terra. Per illustrare ulteriormente il punto, mostra che spostando la connessione di alimentazione del LED su un diverso pin digitale non configurato, il LED non si accende, poiché quel pin non è impostato per emettere 5V (nel video a 06:37).

La dimostrazione include anche un esempio pratico utilizzando una breadboard. Collegando il pin 5V alla barra di alimentazione della breadboard e il pin di terra alla barra di terra, alimenta simultaneamente un display LCD 1602 e un modulo relè. Questo mostra come puoi usare questa tecnica per creare un piccolo bus di distribuzione dell'alimentazione dedicato per i tuoi componenti a bassa corrente, mantenendo il cablaggio pulito e organizzato (nel video a 06:59).

Conclusione

Questa lezione fornisce un trucco semplice ma potente per espandere le capacità della tua scheda Arduino. Ridefinendo i pin digitali come fonti di alimentazione, puoi risolvere il problema comune delle connessioni limitate a 5V e GND. Ricorda il limite critico di 20mA per pin, e potrai alimentare in sicurezza una varietà di sensori e piccoli moduli nei tuoi progetti futuri.

Capitoli

  • [00:00] Introduzione e Panoramica dei Pin 5V
  • [00:54] Comprensione dell'Header ICSP e dei Pin SPI
  • [01:55] Limiti di Corrente in Base alla Sorgente di Alimentazione
  • [03:30] Limiti di Corrente dei Pin Digitali e Casi d'Uso
  • [04:51] Spiegazione del Codice per Creare 5V e GND Extra
  • [06:05] Dimostrazione di Cablaggio con un LED
  • [06:59] Espansione con una Distribuzione di Alimentazione su Breadboard

Immagini

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


}

File📁

Nessun file disponibile.