Search Code

Somo 07: Kupata 5V na GND ya Ziada kutoka Arduino | Kozi ya Arduino Hatua kwa Hatua

Somo 07: Kupata 5V na GND ya Ziada kutoka Arduino | Kozi ya Arduino Hatua kwa Hatua

Katika somo hili la Kozi ya Robojax Arduino Hatua kwa Hatua, tunachunguza suluhisho la vitendo kwa tatizo la kawaida: kukosa viunganisho vya 5V na GND kwenye bodi yako ya Arduino. Iwe unajenga mradi unaohitaji kuwasha motor ya servo, skrini ya LCD, sensor ya ultrasonic, au mchanganyiko wa vifaa, idadi ndogo ya pini za nguvu kwenye Arduino Uno au Nano inaweza haraka kuwa kikwazo. Mwongozo huu unaonyesha jinsi ya kutumia kwa ubunifu pini yoyote ya digital I/O kama chanzo cha ziada cha 5V au kama kiunganisho cha ardhi, kukupa urahisi wa kuwasha vipengele vingi bila kuhitaji ugavi wa nje wa nguvu kwa vifaa vya chini vya mkondo.

Mbinu hii ni muhimu hasa kwa matumizi kadhaa ya ulimwengu halisi, ikijumuisha:

  • Kuwasha skrini ndogo ya OLED au LCD pamoja na motor ya servo katika mradi mmoja.
  • Kusambaza nguvu kwa sensor nyingi, kama sensor ya ultrasonic na detector ya mwendo ya PIR, kwa wakati mmoja.
  • Kuunda mipangilio ya majaribio ya muda kwenye breadboard ambapo unahitaji chanzo cha nguvu cha haraka na rahisi kwa moduli mpya.
  • Kuendesha LED za nguvu ya chini au mizunguko ya kiwango cha mantiki inayohitaji rejea safi ya 5V.

Kuelewa Vikwazo vya Nguvu vya Arduino

Kabla ya kuingia kwenye suluhisho, ni muhimu kuelewa usanifu wa nguvu wa bodi yako ya Arduino. Kwenye Arduino Uno ya kawaida, kwa kawaida una pini moja maalum ya 5V. Baadhi ya bodi za watu wengine, kama ilivyobainishwa kwenye video, zinaweza kuwa na pini ya pili ya 5V, lakini hata hivyo, unaweza kuhitaji zaidi (katika video saa 00:26).

Kiasi cha mkondo unaweza kuchota kutoka kwenye pini hizi kinategemea chanzo chako cha nguvu. Ikiwa unawasha bodi kupitia USB, mkondo unazuiliwa na bandari ya USB au chaja unayotumia—kwa mfano, chaja ya 1A itaruhusu hadi 1A, wakati chaja ya 2.4A itaruhusu zaidi (katika video saa 01:55). Ikiwa unatumia barrel jack na ugavi wa 7-12V, mkondo unadhibitiwa na chip ya kudhibiti voltage ya AMS1117 iliyoko kwenye bodi, ambayo ina kikomo cha kawaida cha mkondo cha 1.1A (katika video saa 02:20).

Pia ni muhimu kutambua kichwa cha ICSP kwenye bodi. Kama ilivyoelezwa kwenye video, kichwa hiki kinatoa ufikiaji wa pini za SPI (Serial Peripheral Interface), na pini ya upande wa kulia ni VCC (5V), wakati pini ya mwisho ni GND (katika video saa 00:54). Hii inakupa eneo lingine la kimwili la kugusa reli ya 5V.

Hata hivyo, kikwazo muhimu zaidi cha kukumbuka ni kwa pini za digital I/O. Kulingana na nyaraka rasmi za Arduino, kila pini ya digital inaweza kusambaza au kuchukua kiwango cha juu cha milliamps 20 (mA) (katika video saa 03:30). Hii ni zaidi ya kutosha kwa LED, mizunguko ya mantiki, na sensor nyingi, lakini haitoshi kwa vifaa vya mkondo wa juu kama motors au servo za nguvu ya juu. Kwa hizo, unapaswa kutumia pini kuu ya 5V au chanzo cha nje cha nguvu.

Vifaa na Vipengele

Kwa onyesho hili, utahitaji vipengele vifuatavyo:

  • 1x bodi ya Arduino (Uno, Nano, au sawa)
  • 1x LED (rangi yoyote)
  • 1x resistor ya 1kΩ
  • 1x Breadboard
  • Waya za jumper
  • (Hiari) Skrini ya LCD 1602 au moduli ya Relay kwa onyesho

Mwongozo wa Wiring

Wiring ya mradi huu ni rahisi, kwani inahusisha kuunganisha pini ya digital kwenye reli ya nguvu ya kipengele chako na pini nyingine ya digital kwenye ardhi yake. Katika video, mwalimu anaonyesha hili kwa kuwasha LED.

Hapa ni jinsi ya kuisanidi:

  1. Unganisha LED: Unganisha anode (mguu mrefu) wa LED kwenye pini ya digital 5 kwenye Arduino yako kupitia resistor ya kikomo ya mkondo ya 1kΩ.
  2. Unganisha Ardhi: Unganisha cathode (mguu mfupi) wa LED moja kwa moja kwenye pini ya digital 2 kwenye Arduino yako.

Mzunguko huu rahisi unaruhusu pini 5 kufanya kama chanzo cha 5V na pini 2 kufanya kama ardhi, kukamilisha mzunguko (katika video saa 06:05).

Kwa mbinu inayoweza kupanuka zaidi, unaweza kutumia breadboard kusambaza nguvu, kama inavyoonyeshwa kwenye video. Kwa kuunganisha reli nyekundu ya nguvu ya breadboard kwenye pini 5 na reli ya bluu/nyeusi ya ardhi kwenye pini 2, unaweza kuwasha vipengele vingi kwa urahisi kwa kuvichomeka kwenye reli husika (katika video saa 06:59).

Maelezo ya Msimbo

Msimbo uliotolewa kwa somo hili ni rahisi sana, kwani madhumuni yake pekee ni kusanidi pini mbili za digital kufanya kama pini za ugavi wa nguvu. Ufunguo wa utendaji huu upo kwenye viunga viwili vya usanidi vilivyofafanuliwa juu ya sketch.

Hapa ni sehemu inayoweza kusanidiwa na mtumiaji ya msimbo:

#define VCC2  5 // fafanua pini 5 au pini nyingine yoyote ya digital hapa kama VCC2
#define GND2  2 // fafanua pini 2 au pini nyingine yoyote ya digital kama Ardhi 2

Mistari hii miwili ni msingi wa ubinafsishaji. Amri ya #define ni amri ya kabla ya kuchakata inayoiambia mkusanyaji wa Arduino kuchukua nafasi ya kila tukio la VCC2 na namba 5 na kila tukio la GND2 na namba 2 kabla ya msimbo kukusanywa. Hii inafanya iwe rahisi sana kubadilisha pini unazotumia kwa nguvu. Ikiwa unataka kutumia pini 8 kama chanzo chako cha 5V, unabadilisha tu 5 kuwa 8 kwenye mstari wa kwanza. Vile vile, unaweza kubadilisha pini ya ardhi kwa kuhariri mstari wa pili.

Sehemu iliyobaki ya msimbo ni mantiki ya uanzishaji ndani ya kazi ya setup(). Inaweka pini iliyofafanuliwa kama VCC2 kuwa OUTPUT na kisha kuiandikia HIGH, ambayo hutoa 5V. Kinyume chake, inaweka pini iliyofafanuliwa kama GND2 kuwa OUTPUT na kuiandikia LOW, ambayo inaifanya kufanya kazi kama muunganisho wa ardhi. Mara tu hii inapofanyika katika setup(), pini zitadumisha hali zake kwa muda wote Arduino inapokuwa na nguvu, na unaweza kuongeza mantiki yako kuu ya programu kwenye kazi ya loop().

Maonyesho ya Mradi wa Moja kwa Moja

Katika video, mwalimu anaonyesha dhana hii kwa kupakia msimbo kwenye Arduino. Mara tu inapopakiwa, LED iliyounganishwa kati ya pini 5 na pini 2 inawaka mara moja, ikithibitisha kwamba pini 5 inatoa voltage na pini 2 inapokea mkondo kama ardhi. Ili kuonyesha zaidi jambo hili, anaonyesha kwamba kuhamisha muunganisho wa nguvu wa LED kwenye pini nyingine ya dijiti ambayo haijasanidiwa husababisha LED isiwake, kwa sababu pini hiyo haijawekwa kutoa 5V (katika video saa 06:37).

Maonyesho pia yanajumuisha mfano wa vitendo kwa kutumia breadboard. Kwa kuunganisha pini ya 5V kwenye reli ya nguvu ya breadboard na pini ya ardhi kwenye reli ya ardhi, anawasha onyesho la 1602 LCD na moduli ya relay kwa wakati mmoja. Hii inaonyesha jinsi unavyoweza kutumia mbinu hii kuunda basi ndogo maalum ya usambazaji wa nguvu kwa vipengele vyako vya mkondo wa chini, kuweka wiring yako safi na iliyopangwa (katika video saa 06:59).

Hitimisho

Somo hili linatoa mbinu rahisi lakini yenye nguvu ya kupanua uwezo wa bodi yako ya Arduino. Kwa kufafanua upya pini za dijiti kama vyanzo vya nguvu, unaweza kutatua tatizo la kawaida la muunganisho mdogo wa 5V na GND. Kumbuka kikomo muhimu cha 20mA kwa kila pini, na unaweza kuwasha kwa usalama sensorer mbalimbali na moduli ndogo katika miradi yako ya baadaye.

Sura

  • [00:00] Utangulizi na Muhtasari wa Pini za 5V
  • [00:54] Kuelewa Kichwa cha ICSP na Pini za SPI
  • [01:55] Vikomo vya Mkondo Kulingana na Chanzo cha Nguvu
  • [03:30] Vikomo vya Mkondo wa Pini za Dijiti na Matumizi
  • [04:51] Maelezo ya Msimbo wa Kuunda 5V na GND ya Ziada
  • [06:05] Maonyesho ya Wiring na LED
  • [06:59] Kuongeza Kwa Usambazaji wa Nguvu wa Breadboard

Bilder

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


}

Filer📁

Inga filer tillgängliga.