Pretraži kod

Lekcija 07: Dobijanje dodatnih 5V i GND iz Arduina | Arduino Korak po korak kurs

Lekcija 07: Dobijanje dodatnih 5V i GND iz Arduina | Arduino Korak po korak kurs

U ovoj lekciji iz Robojax Arduino Step By Step kursa, istražujemo praktično rješenje za čest problem: nestanak 5V i GND priključaka na vašoj Arduino ploči. Bilo da gradite projekat koji zahtijeva napajanje servo motora, LCD ekrana, ultrazvučnog senzora ili kombinacije uređaja, ograničen broj pinova za napajanje na Arduino Uno ili Nano ploči brzo može postati usko grlo. Ovaj vodič pokazuje kako kreativno koristiti bilo koji digitalni I/O pin kao dodatni 5V izvor ili kao uzemljenje, pružajući vam fleksibilnost za napajanje više komponenti bez potrebe za vanjskim napajanjem za uređaje niske struje.

Ova tehnika je posebno korisna za nekoliko stvarnih primjena, uključujući:

  • Napajanje malog OLED ili LCD ekrana zajedno sa servo motorom u jednom projektu.
  • Napajanje više senzora, kao što su ultrazvučni senzor i PIR detektor pokreta, istovremeno.
  • Kreiranje privremenih testnih postavki na breadboard ploči gdje vam je potreban brz i jednostavan izvor napajanja za novi modul.
  • Pokretanje LED dioda niske snage ili logičkih kola koja zahtijevaju čistu 5V referencu.

Razumijevanje ograničenja napajanja Arduina

Prije nego što zaronimo u rješenje, ključno je razumjeti arhitekturu napajanja vaše Arduino ploče. Na standardnom Arduino Uno, obično imate jedan namjenski 5V pin. Neke ploče trećih proizvođača, kao što je navedeno u videu, mogu imati drugi 5V pin, ali čak i tada, možda će vam trebati više (u videu na 00:26).

Količina struje koju možete povući sa ovih pinova zavisi od vašeg izvora napajanja. Ako napajate ploču putem USB-a, struja je ograničena USB priključkom ili punjačem koji koristite—na primjer, punjač od 1A će dozvoliti do 1A, dok će punjač od 2.4A dozvoliti više (u videu na 01:55). Ako koristite barrel jack sa 7-12V napajanjem, struja je regulisana AMS1117 regulatorom napona na ploči, koji ima tipično ograničenje struje od 1.1A (u videu na 02:20).

Također je važno napomenuti ICSP header na ploči. Kao što je objašnjeno u videu, ovaj header pruža pristup SPI (Serial Peripheral Interface) pinovima, a pin na desnoj strani je zapravo VCC (5V), dok je posljednji pin GND (u videu na 00:54). Ovo vam daje još jednu fizičku lokaciju za pristup 5V sabirnici.

Međutim, najkritičnije ograničenje koje treba zapamtiti je za digitalne I/O pinove. Prema službenoj Arduino dokumentaciji, svaki digitalni pin može isporučiti ili primiti maksimalno 20 miliampera (mA) (u videu na 03:30). Ovo je više nego dovoljno za LED diode, logička kola i mnoge senzore, ali je nedovoljno za uređaje visoke struje kao što su motori ili servo motori velike snage. Za te uređaje uvijek trebate koristiti glavni 5V pin ili vanjski izvor napajanja.

Hardver i komponente

Za ovu demonstraciju trebat će vam sljedeće komponente:

  • 1x Arduino ploča (Uno, Nano ili slična)
  • 1x LED dioda (bilo koja boja)
  • 1x 1kΩ otpornik
  • 1x Breadboard ploča
  • Jumper žice
  • (Opciono) LCD 1602 ekran ili relejni modul za demonstraciju

Vodič za povezivanje

Povezivanje za ovaj projekat je jednostavno, jer uglavnom uključuje povezivanje digitalnog pina na napajanje vaše komponente i drugog digitalnog pina na njeno uzemljenje. U videu, instruktor demonstrira ovo napajanjem LED diode.

Evo kako to postaviti:

  1. Povežite LED diodu: Povežite anodu (dužu nogicu) LED diode na digitalni pin 5 na vašoj Arduino ploči kroz 1kΩ otpornik za ograničenje struje.
  2. Povežite uzemljenje: Povežite katodu (kraću nogicu) LED diode direktno na digitalni pin 2 na vašoj Arduino ploči.

Ovaj jednostavan krug omogućava pinu 5 da djeluje kao 5V izvor, a pinu 2 kao uzemljenje, zatvarajući krug (u videu na 06:05).

Za skalabilniji pristup, možete koristiti breadboard ploču za distribuciju napajanja, kao što je prikazano u videu. Povezivanjem crvene sabirnice za napajanje na breadboard ploči na pin 5 i plave/crne sabirnice za uzemljenje na pin 2, lako možete napajati više komponenti tako što ih uključite u odgovarajuće sabirnice (u videu na 06:59).

Objašnjenje koda

Kod koji je dat za ovu lekciju je izuzetno jednostavan, jer mu je jedina svrha konfigurisati dva digitalna pina da djeluju kao pinovi za napajanje. Ključ ove funkcionalnosti leži u dvije konfiguracijske konstante definirane na vrhu skice.

Evo korisnički konfigurabilnog dijela koda:

#define VCC2  5 // definirajte pin 5 ili bilo koji drugi digitalni pin ovdje kao VCC2
#define GND2  2 // definirajte pin 2 ili bilo koji drugi digitalni pin kao Ground 2

Ove dvije linije su srce prilagođavanja. #define direktiva je pretprocesorska komanda koja govori Arduino kompajleru da zamijeni svaku pojavu VCC2 sa brojem 5 i svaku pojavu GND2 sa brojem 2 prije nego što se kod kompajlira. Ovo čini izuzetno lakim promjenu pinova koje koristite za napajanje. Ako želite koristiti pin 8 kao vaš 5V izvor, jednostavno promijenite 5 u 8 u prvoj liniji. Slično tome, možete promijeniti pin za uzemljenje uređivanjem druge linije.

Ostatak koda je samo logika inicijalizacije unutar setup() funkcije. Postavlja pin definiran kao VCC2 da bude OUTPUT, a zatim ga postavlja na HIGH, što izlazi 5V. Suprotno tome, postavlja pin definiran kao GND2 da bude OUTPUT i postavlja ga na LOW, što ga čini da djeluje kao uzemljenje. Nakon što se to uradi u setup(), pinovi će zadržati svoja stanja cijelo vrijeme dok je Arduino napajan, a svoju glavnu logiku programa možete dodati u loop() funkciju.

Demonstracija uživo projekta

U videu, instruktor demonstrira koncept učitavanjem koda na Arduino. Nakon što se učita, LED dioda spojena između pina 5 i pina 2 odmah se uključi, dokazujući da pin 5 isporučuje napon, a pin 2 prima struju kao uzemljenje. Da bi dodatno ilustrirao poentu, pokazuje da pomicanje napajanja LED diode na drugi, nekonfigurirani digitalni pin rezultira time da se LED dioda ne uključi, jer taj pin nije postavljen da izlazi 5V (u videu na 06:37).

Demonstracija također uključuje praktičan primjer korištenjem breadboarda. Spajanjem 5V pina na naponsku traku breadboarda i uzemljenog pina na traku za uzemljenje, istovremeno napaja 1602 LCD ekran i relejni modul. Ovo pokazuje kako možete koristiti ovu tehniku za stvaranje malog, namjenskog razvodnog busa za napajanje za svoje komponente niske struje, održavajući vaše ožičenje čistim i organiziranim (u videu na 06:59).

Zaključak

Ova lekcija pruža jednostavan, ali moćan trik za proširenje mogućnosti vaše Arduino ploče. Redefiniranjem digitalnih pinova kao izvora napajanja, možete riješiti uobičajeni problem ograničenih 5V i GND priključaka. Zapamtite kritično ograničenje od 20mA po pinu, i možete sigurno napajati razne senzore i male module u svojim budućim projektima.

Poglavlja

  • [00:00] Uvod i pregled 5V pinova
  • [00:54] Razumijevanje ICSP zaglavlja i SPI pinova
  • [01:55] Ograničenja struje na osnovu izvora napajanja
  • [03:30] Ograničenja struje digitalnih pinova i slučajevi upotrebe
  • [04:51] Objašnjenje koda za stvaranje dodatnih 5V i GND
  • [06:05] Demonstracija ožičenja s LED diodom
  • [06:59] Proširenje s raspodjelom napajanja na breadboardu

Slike

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


}

Datoteke📁

Nema dostupnih datoteka.