Кодты іздеу

Сабақ 07: Arduino-дан қосымша 5V және GND алу | Arduino қадамдық курс

Сабақ 07: Arduino-дан қосымша 5V және GND алу | Arduino қадамдық курс

Осы сабақта Robojax Arduino Қадамдық Курсының аясында біз жиі кездесетін мәселенің практикалық шешімін қарастырамыз: Arduino тақтаңыздағы 5V және GND қосылымдарының таусылуы. Сервомоторды, LCD дисплейді, ультрадыбыстық сенсорды немесе бірнеше құрылғылардың комбинациясын қуаттандыруды қажет ететін жоба құрастырсаңыз да, Arduino Uno немесе Nano тақтасындағы қуат түйреуіштерінің шектеулі саны тез арада кедергіге айналуы мүмкін. Бұл нұсқаулық кез келген цифрлық I/O түйреуішін қосымша 5V көзі немесе жерге қосу ретінде шығармашылықпен қалай пайдалануға болатынын көрсетеді, бұл сізге төмен токты құрылғылар үшін сыртқы қуат көзінсіз бірнеше компоненттерді қуаттандыруға икемділік береді.

Бұл әдіс бірнеше нақты қолданбалар үшін өте пайдалы, соның ішінде:

  • Бір жобада сервомотормен қатар шағын OLED немесе LCD дисплейді қуаттандыру.
  • Бір уақытта ультрадыбыстық сенсор және PIR қозғалыс детекторы сияқты бірнеше сенсорларға қуат беру.
  • Жаңа модуль үшін жылдам және оңай қуат көзі қажет болғанда, макет тақтасында уақытша сынақ қондырғыларын жасау.
  • Таза 5V анықтамасын қажет ететін төмен қуатты LED немесе логикалық деңгейлік тізбектерді басқару.

Arduino қуат шектеулерін түсіну

Шешімге кіріспес бұрын, Arduino тақтаңыздың қуат архитектурасын түсіну өте маңызды. Стандартты Arduino Uno тақтасында әдетте бір арнайы 5V түйреуіші болады. Бейнеде атап өтілгендей, кейбір үшінші тарап тақталарында екінші 5V түйреуіші болуы мүмкін, бірақ сонда да сізге көбірек қажет болуы мүмкін (бейнеде 00:26).

Бұл түйреуіштерден ала алатын ток мөлшері қуат көзіңізге байланысты. Тақтаны USB арқылы қуаттандырсаңыз, ток USB портымен немесе зарядтағышпен шектеледі — мысалы, 1A зарядтағыш 1A-ға дейін рұқсат етеді, ал 2.4A зарядтағыш көбірек рұқсат етеді (бейнеде 01:55). 7-12V қоректендірумен баррель ұясын пайдалансаңыз, ток тақтадағы AMS1117 кернеу реттегіш чипімен реттеледі, оның әдеттегі ток шегі 1.1A құрайды (бейнеде 02:20).

Сондай-ақ, тақтадағы ICSP қосқышын ескеру маңызды. Бейнеде түсіндірілгендей, бұл қосқыш SPI (Serial Peripheral Interface) түйреуіштеріне қол жеткізуді қамтамасыз етеді, ал оң жақтағы түйреуіш іс жүзінде VCC (5V), ал соңғы түйреуіш GND болып табылады (бейнеде 00:54). Бұл сізге 5V шинасына қосылудың тағы бір физикалық орнын береді.

Дегенмен, ең маңызды шектеу — цифрлық I/O түйреуіштеріне қатысты. Ресми Arduino құжаттамасына сәйкес, әрбір цифрлық түйреуіш максималды 20 миллиампер (мА) ток бере алады немесе қабылдай алады (бейнеде 03:30). Бұл LED, логикалық тізбектер және көптеген сенсорлар үшін жеткілікті, бірақ қозғалтқыштар немесе жоғары қуатты сервомоторлар сияқты жоғары токты құрылғылар үшін жеткіліксіз. Олар үшін әрқашан негізгі 5V түйреуішін немесе сыртқы қуат көзін пайдалану керек.

Аппараттық құралдар мен компоненттер

Бұл демонстрация үшін сізге келесі компоненттер қажет болады:

  • 1x Arduino тақтасы (Uno, Nano немесе ұқсас)
  • 1x LED (кез келген түсті)
  • 1x 1кΩ резистор
  • 1x Макет тақтасы
  • Жалғағыш сымдар
  • (Қосымша) Демонстрация үшін LCD 1602 дисплейі немесе реле модулі

Сым қосу нұсқаулығы

Бұл жобаның сым қосуы қарапайым, өйткені ол негізінен цифрлық түйреуішті компонентіңіздің қуат шинасына және басқа цифрлық түйреуішті оның жерге қосуына қосуды қамтиды. Бейнеде нұсқаушы мұны LED қуаттандыру арқылы көрсетеді.

Міне, оны қалай орнату керек:

  1. LED қосыңыз: LED-тің анодын (ұзын аяғын) Arduino-дағы 5 цифрлық түйреуішіне 1кΩ ток шектейтін резистор арқылы қосыңыз.
  2. Жерге қосуды жалғаңыз: LED-тің катодын (қысқа аяғын) тікелей Arduino-дағы 2 цифрлық түйреуішіне қосыңыз.

Бұл қарапайым тізбек 5 түйреуішінің 5V көзі ретінде және 2 түйреуішінің жерге қосу ретінде әрекет етуіне мүмкіндік береді, тізбекті аяқтайды (бейнеде 06:05).

Неғұрлым масштабталатын тәсіл үшін бейнеде көрсетілгендей, қуатты тарату үшін макет тақтасын пайдалануға болады. Макет тақтасының қызыл қуат шинасын 5 түйреуішіне және көк/қара жерге қосу шинасын 2 түйреуішіне қосу арқылы сіз тиісті шиналарға қосу арқылы бірнеше компоненттерді оңай қуаттандыра аласыз (бейнеде 06:59).

Кодты түсіндіру

Бұл сабақ үшін берілген код өте қарапайым, өйткені оның жалғыз мақсаты — екі цифрлық түйреуішті қуат көзі ретінде әрекет етуге конфигурациялау. Бұл функцияның кілті скетчтің жоғарғы жағында анықталған екі конфигурация тұрақтысында жатыр.

Міне, кодтың пайдаланушы конфигурациялайтын бөлігі:

#define VCC2  5 // 5 түйреуішін немесе кез келген басқа цифрлық түйреуішті VCC2 ретінде анықтаңыз
#define GND2  2 // 2 түйреуішін немесе кез келген басқа цифрлық түйреуішті Ground 2 ретінде анықтаңыз

Бұл екі жол теңшеудің негізі болып табылады. #define директивасы — бұл код құрастырылмас бұрын Arduino компиляторына VCC2 әрбір кездесуін 5 санымен және GND2 әрбір кездесуін 2 санымен ауыстыруды айтатын препроцессор командасы. Бұл қуат үшін қай түйреуіштерді пайдаланып жатқаныңызды өзгертуді өте оңай етеді. Егер 8 түйреуішін 5V көзі ретінде пайдаланғыңыз келсе, бірінші жолдағы 5 санын 8 санына өзгерту жеткілікті. Сол сияқты, екінші жолды өңдеу арқылы жерге қосу түйреуішін өзгертуге болады.

Кодтың қалған бөлігі — setup() функциясының ішіндегі бастапқы инициализация логикасы. Ол VCC2 ретінде анықталған пинді OUTPUT етіп орнатады, содан кейін оны HIGH күйіне жазады, бұл 5В шығарады. Керісінше, GND2 ретінде анықталған пинді OUTPUT етіп орнатады және оны LOW күйіне жазады, бұл оны жерге қосу нүктесі ретінде жұмыс істетеді. Бұл setup() ішінде орындалғаннан кейін, пиндер Arduino қуатталған уақыт бойы өз күйлерін сақтайды, ал сіз негізгі бағдарлама логикаңызды loop() функциясына қоса аласыз.

Тірі жоба демонстрациясы

Бейнеде оқытушы кодты Arduino-ға жүктеп, тұжырымдаманы көрсетеді. Жүктелгеннен кейін, 5-пин мен 2-пин арасында қосылған LED бірден жанып, 5-пиннің кернеу беріп жатқанын және 2-пиннің жер ретінде ток тартып жатқанын дәлелдейді. Бұл ойды одан әрі түсіндіру үшін, ол LED-тің қуат қосылымын басқа, конфигурацияланбаған цифрлық пинге ауыстырғанда, LED жанбайтынын көрсетеді, себебі бұл пин 5В шығаруға орнатылмаған (бейнеде 06:37).

Демонстрация сонымен қатар макет тақтасын қолданатын практикалық мысалды қамтиды. 5V пинін макет тақтасының қуат шинасына және жер пинін жер шинасына қосу арқылы ол 1602 LCD дисплейін және реле модулін бір уақытта қуаттандырады. Бұл сіздің төмен токты компоненттеріңіз үшін шағын, арнайы қуат тарату шинасын жасау үшін бұл әдісті қалай қолдануға болатынын көрсетеді, сымдарыңызды таза және ұйымдасқан күйде сақтайды (бейнеде 06:59).

Қорытынды

Бұл сабақ Arduino тақтаңыздың мүмкіндіктерін кеңейтудің қарапайым, бірақ қуатты әдісін ұсынады. Цифрлық пиндерді қуат көздері ретінде қайта анықтау арқылы сіз шектеулі 5V және GND қосылымдарының жалпы мәселесін шеше аласыз. Әр пин үшін маңызды 20мА шегін есте сақтаңыз, сонда сіз болашақ жобаларыңызда әртүрлі сенсорлар мен шағын модульдерді қауіпсіз қуаттандыра аласыз.

Тараулар

  • [00:00] Кіріспе және 5V пиндеріне шолу
  • [00:54] ICSP тақырыбын және SPI пиндерін түсіну
  • [01:55] Қуат көзіне негізделген ток шектеулері
  • [03:30] Цифрлық пиндердің ток шектеулері және қолдану жағдайлары
  • [04:51] Қосымша 5V және GND жасауға арналған код түсіндірмесі
  • [06:05] LED-пен сым қосу демонстрациясы
  • [06:59] Макет тақтасының қуат таратуымен кеңейту

Суреттер

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


}

Ресурстар мен сілтемелер

Файлдар📁

Файлдар жоқ.