Tafuta Msimbo

Somo la 98-7: Mwendo wa Mwanga Kwa Kutumia Arduino na LED 5

Somo la 98-7: Mwendo wa Mwanga Kwa Kutumia Arduino na LED 5

Taa ya kutembea (pia huitwa taa ya "kufukuza" au "Knight Rider") ni mojawapo ya miradi ya kawaida ya kuanzia ya Arduino — na kwa sababu nzuri. Inakufundisha jinsi ya kudhibiti matokeo mengi kwa mfululizo, jinsi ya kupanga muda wa matukio, na jinsi ya kufikiri kuhusu vipinga vya kupunguza mkondo, wakati wote ukizalisha kitu cha kuvutia kwa macho. Katika mradi huu utaunganisha LED tano kwa Arduino na kuzipanga ili kila moja iwake kwa zamu, na kuunda udanganyifu wa taa moja "inayotembea" kando ya mstari.

5 leds on breadboard with resistor shown connected to Arduino UNO
LED 5 kwenye ubao wa breadboard na kipinga kilichoonyeshwa kimeunganishwa kwa Arduino UNO

Mara unapoelewa muundo huu, unaweza kuubadilisha kwa matumizi ya kweli mengi ya kushangaza:

  • Mwangaza wa mapambo: mpaka wa kufukuza kwa rafu, fremu ya picha, au modeli.
  • Viashiria vya mwelekeo: athari ya ishara ya kugeuka kwa mfululizo kwa gari la kuigiza au baiskeli ya umeme.
  • Onyesho la maendeleo au hali: mstari wa LED unaoendelea kadri mchakato unavyokamilika.
  • Vifaa vya michezo na bao: "lengo linalotembea" au kiashiria cha ngazi.
  • Kifaa cha kufundishia: onyesho la wazi zaidi la matokeo ya kidijitali na upangaji muda.

Uunganishaji huo huo wa LED tano unatumika tena katika miradi mingine kadhaa katika kozi hii, kwa hivyo vifaa unavyounda hapa vinakuwa jukwaa linaloweza kutumika tena.

Jinsi Taa ya Kutembea Inavyofanya Kazi

Kanuni ni sawa kabisa na kuwasha LED moja — inarudiwa mara tano tu (kwenye video saa 30:47). Kila LED imeunganishwa kwa pini yake ya Arduino kupitia kipinga chake cha kupunguza mkondo, na vipinga vyote vinashirikiana reli ya ardhi ya kawaida. Kisha sketch huwasha pini moja HIGH, inasubiri, inaiweka LOW, inasubiri, na kuendelea na pini inayofuata. Kwa kuwa ni LED moja tu inayowaka kwa wakati mmoja, jicho husoma mfululizo kama mwendo.

Thamani mbili za muda ndizo zinazoipa athari tabia yake. Muda wa kuwaka hudhibiti muda ambao kila LED inabaki ikiwaka, na muda wa kuzima hudhibiti pengo kabla ya LED inayofuata kuwaka. Muda mfupi wa kuwaka na muda mrefu wa kuzima huzalisha nukta moja inayosafiri haraka; muda mrefu wa kuwaka na muda mfupi wa kuzima huzalisha mwendo laini zaidi, unaoendelea (kwenye video saa 35:00).

Vifaa na Sehemu

  • 1 × bodi ya Arduino (Uno, Nano, au sawa na hiyo)
  • 5 × LED (rangi yoyote; kuchanganya rangi hufanya athari iwe rahisi kusoma)
  • 5 × vipinga — 300 Ω hadi 1 kΩ hufanya kazi vizuri
  • 1 × ubao wa breadboard
  • Wayaya za jumper
  • Kebo ya USB au pakiti ya betri kwa nishati

Ikiwa unataka kuongeza lahaja ya kitufe cha kubonyeza baadaye, utahitaji pia kitufe kimoja cha kubonyeza cha muda na wayaya mbili za ziada za jumper.

Kuchagua Thamani ya Kipinga

LED ina voltage ya mbele ya takriban 2 V na inataka karibu 10 mA kwa mwangaza kamili (kwenye video saa 03:49). Kwa usambazaji wa 5 V, kipinga lazima kipunguze 3 V zilizobaki. Kwa kutumia sheria ya Ohm, R = V / I = 3 V / 0.01 A = 300 Ω. Kwa vitendo kitu chochote kutoka 300 Ω hadi karibu 1 kΩ kitafanya kazi — kadri upinzani unavyoongezeka, LED inakuwa hafifu, lakini mzunguko unakuwa salama na wenye ufanisi zaidi (kwenye video saa 05:33).

Schematic for Arduino walking light LEDs with push button
Mchoro wa LED za taa ya kutembea za Arduino na kitufe cha kubonyeza

Mwongozo wa Kuunganisha

wiring of 5 LED on Arduino
uunganishaji wa LED 5 kwenye Arduino

Weka LED tano kwenye ubao wa breadboard na anodi zao (mguu mrefu) zikielekea upande mmoja. Unganisha kila katodi (mguu mfupi, wenye upande tambarare) kwa kipinga chake, na unganisha mwisho wa mbali wa vipinga vyote vitano kwa reli ya ardhi ya kawaida. Kisha pitisha jumper kutoka kila anodi hadi pini ya Arduino.

Katika muundo huu LED zimepewa pini 3, 4, 5, 6 na 7 (kwenye video saa 31:29). Namba za pini zinafafanuliwa juu ya sketch, kwa hivyo ikiwa unapendelea mpangilio tofauti unahitaji kubadilisha mistari hiyo mitano tu.

Maelezo ya Msimbo

Sketch imekusudiwa kuwa rahisi ili mwanzilishi aweze kufuata kila mstari. Ni sehemu iliyo juu kabisa tu inayohitaji kuhaririwa kwa usanidi wako mwenyewe.

const int LED1 = 3;
const int LED2 = 4;
const int LED3 = 5;
const int LED4 = 6;
const int LED5 = 7;
int offTime = 30;  // the time each LED waits in the OFF state
int onTime = 100;  // the time each LED is ON

Ufafanuzi wa pini. Mistari mitano ya const int inaunganisha kila LED kwa pini halisi ya Arduino. Kwa kuwa zimetangazwa const, thamani haziwezi kubadilishwa baadaye katika programu — hii ni tabia ya usalama inayozuia kubadilisha kwa bahati mbaya. Ikiwa unaunganisha LED zako kwa pini tofauti, badilisha namba hapa na kitu kingine chochote.

onTime na offTime. Namba hizi mbili kamili ni vigezo pekee vya "tabia" katika mradi, na ndizo utakazotaka kujaribu nazo:

  • onTime — muda gani (katika millisekunde) kila LED hukaa ikiwaka. Thamani kubwa hufanya kila hatua ionekane polepole na ya makusudi zaidi.
  • offTime — mapumziko baada ya LED kuzimwa kabla ya inayofuata kuwaka. Thamani ndogo hufanya mwanga kusafiri kwa kasi zaidi.

Jaribu onTime = 200 na offTime = 200 kwa mwendo sawa wa kasi ya kati, au onTime = 30 na offTime = 30 kwa athari ya haraka sana, karibu isiyoeleweka (kwenye video saa 36:06).

Kitendakazi setup() hukimbia mara moja na kuweka pini zote tano kwa hali ya OUTPUT. Kitendakazi loop() kisha hurudia muundo huo wa hatua nne kwa kila LED: washa pini kwa HIGH, subiri onTime, washa kwa LOW, subiri offTime. LED ya tano inapomaliza, mzunguko huanza upya kutoka ya kwanza, na kutoa mwendo usio na mwisho.

Mradi wa Moja kwa Moja na Maonyesho

Kwa thamani chaguo-msingi LED huenda kando ya mstari kwa mwendo wa utulivu. Kupakia sketch na onTime na offTime zikiwa 200 ms hutoa mwendo thabiti na sawa; kuzishusha zote mbili hadi 30 ms hufanya mwanga upite kwenye mstari karibu haraka sana kufuatiliwa (kwenye video saa 36:21).

Majaribio mawili muhimu ya kujaribu mara tu inapofanya kazi:

  • Fanya muda wa kuwaka uwe mfupi kuliko muda wa kuzima ili kuunda kitone cha kusafiri kilicho wazi.
  • Fanya muda wa kuwaka uwe mrefu kuliko muda wa kuzima ili kuunda mwanga laini unaoingiliana.

Muunganisho huo wa LED tano hutumika tena katika mradi unaofuata, ambapo kitufe cha kubonyeza husongeza mwanga hatua moja kwa wakati. Ujenzi huo umeelezwa katika Somo la 98-8: Mwanga wa Kutembea kwa Kitufe cha Kubonyeza na LED na Arduino.

Ikiwa ungependa kuendesha mstari kutoka kwa ingizo la analojia badala ya kitufe, angalia Somo la 98-9: Kipimo cha Kiwango cha Voltage cha LED Kwa Kutumia Arduino au mwanga wa kutembea kwa potentiometer.

Kuendeleza Zaidi

Mara mwendo wa msingi unapofanya kazi, hatua inayofuata ya asili ni kufanya mwanga urudi na kwenda badala ya kuruka kutoka LED ya mwisho hadi ya kwanza. Hilo ni zoezi la msimbo pekee — hakuna vifaa vya ziada — na ni njia nzuri ya kufanya mazoezi ya mizunguko na safu. Unaweza pia kuchanganya mradi huu na toleo la kitufe cha kubonyeza ili kujenga onyesho linaloendeshwa kwa mkono.

Miradi inayohusiana kutoka video hii

Sura

  • [00:00] Muhtasari wa miradi kumi ya LED
  • [01:22] Utangulizi wa kozi ya hatua kwa hatua ya Arduino
  • [02:29] LED ni nini na jinsi ya kutambua pini zake
  • [03:49] Kuhesabu kizuizi cha kupunguza mkondo
  • [30:47] Kuanzisha mradi wa mwanga wa kutembea
  • [31:06] Mchoro wa muunganisho wa LED tano
  • [32:52] Ufafanuzi wa msimbo wa mwanga wa kutembea
  • [34:39] Maonyesho na kubadilisha thamani za muda
  • [36:41] Kusongeza mwanga kwa kitufe cha kubonyeza (somo tofauti)
  • [42:25] Upau wa voltage wa LED na potentiometer (somo tofauti)
  • [49:25] Taa ya trafiki ya Arduino (somo tofauti)

Bilder

wiring of 5 LED on Arduino
wiring of 5 LED on Arduino
Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs with push button
Schematic for Arduino walking light LEDs with push button
LED 5 kwenye ubao wa mzunguko na kipinga kilichoonyeshwa kimeunganishwa kwa Arduino UNO
LED 5 kwenye ubao wa mzunguko na kipinga kilichoonyeshwa kimeunganishwa kwa Arduino UNO
939-Lessson 98-LED-7: Arduino code walking LED light
Språk: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Filer📁

Arduino-bibliotek (zip)

Användarhandbok