Search Code

Лекција 07: Добивање дополнителни 5V и GND од Arduino | Arduino Чекор по чекор курс

Лекција 07: Добивање дополнителни 5V и GND од Arduino | Arduino Чекор по чекор курс

Во оваа лекција од Robojax Arduino Чекор-по-Чекор Курсот, истражуваме практично решение за чест проблем: недостаток на 5V и GND конекции на вашата Arduino плоча. Без разлика дали градите проект кој бара напојување на серво мотор, LCD дисплеј, ултразвучен сензор или комбинација на уреди, ограничениот број на пинови за напојување на Arduino Uno или Nano може брзо да стане тесно грло. Овој водич демонстрира како креативно да користите било кој дигитален I/O пин како дополнителен 5V извор или како ground конекција, обезбедувајќи ви флексибилност да напојувате повеќе компоненти без потреба од надворешно напојување за уреди со ниска струја.

Оваа техника е особено корисна за неколку реални апликации, вклучувајќи:

  • Напојување на мал OLED или LCD дисплеј заедно со серво мотор во еден проект.
  • Напојување на повеќе сензори, како што се ултразвучен сензор и PIR детектор за движење, истовремено.
  • Креирање привремени тест поставувања на breadboard каде што ви треба брз и лесен извор на напојување за нов модул.
  • Управување со LED диоди со ниска моќност или логички кола кои бараат чист 5V референтен напон.

Разбирање на ограничувањата на напојувањето на Arduino

Пред да навлеземе во решението, клучно е да ја разбереме архитектурата на напојување на вашата Arduino плоча. На стандарден Arduino Uno, обично имате еден посветен 5V пин. Некои плочи од трети страни, како што е забележано во видеото, може да имаат втор 5V пин, но дури и тогаш, може да ви треба повеќе (во видеото на 00:26).

Количината на струја што можете да ја повлечете од овие пинови зависи од вашиот извор на напојување. Ако ја напојувате плочата преку USB, струјата е ограничена од USB портот или полначот што го користите—на пример, полнач од 1A ќе дозволи до 1A, додека полнач од 2.4A ќе дозволи повеќе (во видеото на 01:55). Ако го користите barrel jack конекторот со напојување од 7-12V, струјата е регулирана од вградениот AMS1117 регулатор на напон, кој има типичен лимит на струја од 1.1A (во видеото на 02:20).

Исто така е важно да се забележи ICSP header-от на плочата. Како што е објаснето во видеото, овој header обезбедува пристап до SPI (Serial Peripheral Interface) пиновите, и пинот на десната страна е всушност VCC (5V), додека последниот пин е GND (во видеото на 00:54). Ова ви дава уште една физичка локација за пристап до 5V rail-от.

Сепак, најкритичното ограничување што треба да се запомни е за дигиталните I/O пинови. Според официјалната Arduino документација, секој дигитален пин може да обезбеди или прими максимум 20 милиампери (mA) (во видеото на 03:30). Ова е повеќе од доволно за LED диоди, логички кола и многу сензори, но е недоволно за уреди со висока струја како мотори или серво мотори со висока моќност. За тие, секогаш треба да го користите главниот 5V пин или надворешен извор на напојување.

Хардвер и компоненти

За оваа демонстрација, ќе ви требаат следниве компоненти:

  • 1x Arduino плоча (Uno, Nano или слична)
  • 1x LED (било која боја)
  • 1x 1kΩ отпорник
  • 1x Breadboard
  • Jumper жици
  • (Опционално) LCD 1602 дисплеј или Relay модул за демонстрација

Водич за жици

Жиците за овој проект се едноставни, бидејќи првенствено вклучуваат поврзување на дигитален пин со power rail-от на вашата компонента и друг дигитален пин со нејзиниот ground. Во видеото, инструкторот го демонстрира ова со напојување на LED диода.

Еве како да го поставите:

  1. Поврзете ја LED диодата: Поврзете ја анодата (подолгата нога) на LED диодата со дигитален пин 5 на вашата Arduino преку отпорник од 1kΩ за ограничување на струјата.
  2. Поврзете го Ground-от: Поврзете ја катодата (пократката нога) на LED диодата директно со дигитален пин 2 на вашата Arduino.

Ова едноставно коло овозможува пин 5 да дејствува како 5V извор, а пин 2 како ground, комплетирајќи го колото (во видеото на 06:05).

За поскалабилен пристап, можете да користите breadboard за да ја дистрибуирате моќноста, како што е прикажано во видеото. Со поврзување на црвениот power rail на breadboard-от со пин 5 и синиот/црн ground rail со пин 2, можете лесно да напојувате повеќе компоненти со нивно поврзување во соодветните rail-ови (во видеото на 06:59).

Објаснување на кодот

Кодот обезбеден за оваа лекција е исклучително едноставен, бидејќи неговата единствена цел е да конфигурира два дигитални пинови да дејствуваат како пинови за напојување. Клучот за оваа функционалност лежи во двете конфигурациски константи дефинирани на почетокот на sketch-от.

Еве го делот од кодот што може да се конфигурира од корисникот:

#define VCC2  5 // дефинирајте пин 5 или било кој друг дигитален пин овде како VCC2
#define GND2  2 // дефинирајте пин 2 или било кој друг дигитален пин како Ground 2

Овие две линии се јадрото на прилагодувањето. #define директивата е препроцесорска команда која му кажува на Arduino компајлерот да ја замени секоја појава на VCC2 со бројот 5 и секоја појава на GND2 со бројот 2 пред кодот да биде компајлиран. Ова го прави исклучително лесно менувањето на пиновите што ги користите за напојување. Ако сакате да користите пин 8 како ваш 5V извор, едноставно сменете го 5 во 8 во првата линија. Слично, можете да го промените ground пинот со уредување на втората линија.

Остатокот од кодот е само логиката за иницијализација во функцијата setup(). Таа го поставува пинот дефиниран како VCC2 да биде OUTPUT и потоа го запишува како HIGH, што излегува 5V. Обратно, го поставува пинот дефиниран како GND2 да биде OUTPUT и го запишува како LOW, што го прави да дејствува како заземјување. Откако ова е направено во setup(), пиновите ќе ги задржат своите состојби цело време додека Arduino е напојуван, и можете да ја додадете вашата главна програмска логика во функцијата loop().

Демонстрација на проектот во живо

Во видеото, инструкторот ја демонстрира концепцијата со вчитување на кодот на Arduino. Откако ќе се вчита, LED-от поврзан помеѓу пин 5 и пин 2 веднаш се вклучува, докажувајќи дека пин 5 испорачува напон и пин 2 влече струја како заземјување. За дополнително да ја илустрира поентата, тој покажува дека поместувањето на поврзувањето за напојување на LED-от на различен, неконфигуриран дигитален пин резултира со тоа што LED-от не се вклучува, бидејќи тој пин не е поставен да излегува 5V (во видео на 06:37).

Демонстрацијата исто така вклучува практичен пример со користење на breadboard. Со поврзување на 5V пинот на напојувачката шина на breadboard-от и пинот за заземјување на шината за заземјување, тој напојува 1602 LCD дисплеј и реле модул истовремено. Ова покажува како можете да ја користите оваа техника за да создадете мала, посветена шина за дистрибуција на напојување за вашите компоненти со низок напон, одржувајќи го вашето жицирање чисто и организирано (во видео на 06:59).

Заклучок

Оваа лекција обезбедува едноставен, но моќен трик за проширување на можностите на вашата Arduino плоча. Со редефинирање на дигиталните пинови како извори на напојување, можете да го решите вообичаениот проблем со ограничени 5V и GND врски. Запомнете ја критичната граница од 20mA по пин, и можете безбедно да напојувате различни сензори и мали модули во вашите идни проекти.

Поглавја

  • [00:00] Вовед и преглед на 5V пинови
  • [00:54] Разбирање на ICSP header-от и SPI пиновите
  • [01:55] Ограничувања на струјата врз основа на изворот на напојување
  • [03:30] Ограничувања на струјата на дигиталните пинови и случаи на употреба
  • [04:51] Објаснување на кодот за создавање дополнителни 5V и GND
  • [06:05] Демонстрација на жицирање со LED
  • [06:59] Зголемување со дистрибуција на напојување преку breadboard

Images

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


}

Files📁

No files available.