Bincika Lambar

Darasi na 98-8: Hasken Tafiya da Maɓallin Turawa da LED da Arduino

Darasi na 98-8: Hasken Tafiya da Maɓallin Turawa da LED da Arduino

Wannan aikin yana nuna maka yadda ake gina "hasken tafiya" wanda ke ci gaba mataki ɗaya duk lokacin da ka danna maɓallin turawa. Maimakon haske da ke gudana da nasa lokaci, kana samun kai tsaye, sarrafa ta taɓawa: kowane dannawa yana motsa LED ɗin da ke haskakawa mataki ɗaya gaba, kuma bayan LED na ƙarshe yana komawa zuwa na farko. Wannan yana ɗaya daga cikin mahimman tubalan gini a cikin koyon Arduino, domin yana koya maka yadda ake haɗa shigarwar dijital (maɓallin) tare da injin juyawa (wace LED ke haskakawa a yanzu) — tsarin da za ka sake amfani da shi akai-akai.

5 leds on breadboard with push button shown connected to Arduino UNO
5 leds on breadboard with push button shown connected to Arduino UNO

Da zarar ka fahimci wannan tsarin, wannan dabarar ɗaya ce ke tafiyar da ɗimbin ayyuka na gaske. Ga wasu ra'ayoyi masu amfani da za ka iya ginawa da ita:

  • Mai zaɓin menu a kan na'ura inda kowane dannawa ke nuna zaɓi na gaba.
  • Mai nuna mataki na jeri don inji ko tsari (mataki 1, mataki 2, mataki 3...).
  • Nunin maki ko mataki da kake ci gaba da hannu ta maɓalli.
  • Mai nuna "tashar gaba" ko "yanayin gaba" don mai sarrafa haske.
  • Wasan mai sauƙi ko mai amsa tambayoyi inda 'yan wasa ke bi da bi suna kunna fitila ta gaba.
  • Mai jera relay ko kaya inda kowane dannawa ke kunna fitarwa ta gaba bisa tsari.

Babban fa'ida akan hasken tafiya na atomatik shine sarrafawa: babu abin da ke faruwa har sai ka danna, don haka hasken yana ci gaba ne kawai lokacin da kai ka yanke shawara. Bidiyon kuma ya lura cewa wannan ra'ayin juyawa da jeri na iya tafiyar da relay don kunna hasken AC ko sarrafa mota, ba LED kawai ba (a bidiyo a 19:52).

Kayan Aiki da Abubuwan Haɗi

Jerin sassan gajere ne kuma marasa tsada:

  • Kwamfutar Arduino (Uno, Nano, Mega, ko kowace kwamfuta mai dacewa).
  • LED biyar — 5 mm ko 3 mm, kowane launi da kake so.
  • Resistor mai iyakance wutar lantarki guda biyar, 200 Ω zuwa 1000 Ω (bidiyon yana amfani da 1 kΩ).
  • Maɓallin turawa ɗaya (maɓallin taɓawa na ɗan lokaci shine mafi kyau).
  • Breadboard da wasu wayoyi na DuPont.

Wata sanarwa ta gaggawa kan LED: cathode shine ƙafar da ta fi guntu kuma gefen da ke da lebur, yayin da anode shine ƙafar da ta fi tsayi (a bidiyo a 03:13). Ƙimar resistor ba ta da mahimmanci — resistor mafi girma yana sa LED ɗin ya yi duhu, don haka duk wani abu daga kusan 300 Ω zuwa 1000 Ω zai yi aiki lafiya (a bidiyo a 05:33).

Jagorar Waya

Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
wiring for Arduino walking light LEDs with push button
wiring for Arduino walking light LEDs with push button

Wayan daidai yake da na daidaitaccen hasken tafiya na LED biyar, tare da ƙara maɓallin turawa ɗaya. Anode na kowane LED yana haɗuwa da nasa fil ɗin Arduino, kuma kowane cathode yana haɗuwa ta nasa resistor zuwa hanyar ƙasa ɗaya a kan breadboard. A cikin wannan ginin an haɗa LED ɗin zuwa filaye 3, 4, 5, 6, da 7 (a bidiyo a 31:37). An sanya maɓallin turawa a kan breadboard tare da ƙafa ɗaya zuwa ƙasa ɗaya kuma ɗayan ƙafar zuwa fil 2 — fil ɗin da lambar ke amfani da shi don maɓallin (a bidiyo a 37:04).

Domin lambar tana kunna resistor na ciki na Arduino, ba a buƙatar resistor na waje a kan maɓallin. Lokacin da ba a danna maɓallin ba fil ɗin yana karanta HIGH, kuma lokacin da ka danna shi ana ja fil ɗin zuwa ƙasa kuma yana karanta LOW (a bidiyo a 14:02).

Bayanin Lambar

Cikakken shirin yana samuwa a ƙasan wannan labarin. A nan muna mai da hankali kan sassan da za ka so ka canza.

A saman sketch ɗin, an sanya kowane LED da maɓallin zuwa fil. Wannan shine inda kake keɓance ginin don dacewa da wayarka:

const int pushButtonPin = 2; // push button pin
const int LED1 = 3;
const int LED2 = 4;
const int LED3 = 5;
const int LED4 = 6;
const int LED5 = 7;

int LED_ON = LED1; // which LED is currently lit

Maɓallin LED_ON shine zuciyar aikin. Yana tunawa wace LED ke haskakawa a yanzu, yana farawa daga LED1. Duk lokacin da ka danna maɓallin, lambar tana ci gaba da LED_ON zuwa LED na gaba a cikin jeri kuma tana kashe na baya, don haka LED ɗaya ne kawai ke haskakawa a lokaci ɗaya.

Akwai kuma ɗan jinkiri bayan kowane dannawa:

delay(200); // debounce / give the user time between presses

Wannan dakatarwar millisecond 200 tana hana dannawa ɗaya ta jiki yin rijista a matsayin dannawa da yawa. Idan yatsanka yana girgiza ko maɓallin yana jin yana da saurin mayar da martani, ƙara wannan lambar; idan kana son amsa mai sauri, rage ta. Ka sani cewa saita ta ƙasa da ƙasa na iya sa hasken ya tsallake gaba ba zato ba tsammani (a bidiyo a 41:20).

Babbar dabaru yana cikin loop(). Yana karanta maɓallin, kuma sai lokacin da aka danna maɓallin (karanta LOW) ne kawai yake ciyar da hasken gaba. Jerin yana amfani da jerin bincike na if / else if don matsawa daga LED1 zuwa LED2 zuwa LED3, da sauransu, yana komawa LED1 bayan na ƙarshe. Idan kana son canza alkibla ko tsarin LED ɗin, wannan shine sashen da za a gyara — kawai sake sanya wace fil ɗin ke biye da wace.

Aikin Kai Tsaye da Nunawa

Bayan loda lambar, danna maɓallin yana kunna LED na farko; sakin shi yana barin wannan LED ɗin a kunne. Dannawa ta gaba tana motsa hasken zuwa LED na biyu, sannan na uku, na huɗu, da na biyar, kuma dannawa ta gaba tana komawa na farko — juyawa mai ci gaba (a bidiyo a 40:22).

Wani sakamako mai kyau na jinkirin milisakan 200  shine idan ka riƙe maɓallin a ƙasa, hasken yana ci gaba da tafiya da kansa kowane milisakan 200 , wanda ke mai da aikin ya zama hasken tafiya ta atomatik yayin da aka riƙe maɓallin (a bidiyo a 42:07). Saki maɓallin kuma yana tsayawa akan LED ɗin da yake yanzu. Wannan yana ba ka duka mataki na hannu da gudu ba tare da hannu ba daga maɓalli ɗaya.

Idan ka fi son hasken ya gudana ta atomatik ba tare da wani maɓalli kwata-kwata ba, wannan wani gini ne daban. Sigar atomatik an rufe ta a Daras 98-7: Hasken Tafiya Ta Amfani da Arduino da LED 5.

Ayyukan da suka danganci wannan bidiyo

Babi

  • [00:00] Bayanin ayyukan LED 10 na Arduino
  • [01:22] Gabatarwa ga kwas ɗin Arduino mataki-mataki
  • [02:29] Fahimtar LED: alamomi, polarity da fil
  • [03:49] Lissafin resistor mai iyakance wutar LED
  • [30:47] Hasken tafiya da LED 5: waya da ka'ida
  • [32:52] Lambar hasken tafiya: fil, lokaci da loop
  • [36:41] Ciyar da hasken gaba da maɓallin turawa
  • [37:44] Hasken tafiya da maɓallin turawa: bayanin lambar
  • [40:22] Nunawa da daidaita jinkirin dannawa
  • [57:16] Kammalawa da kammalawar kwas

Hotuna

wiring for Arduino walking light LEDs with push button
wiring for Arduino walking light LEDs with push button
Schematic for Arduino walking light LEDs with push button
Schematic for Arduino walking light LEDs with push button
Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
5 LEDs a kan breadboard tare da maɓallin turawa da aka nuna an haɗa su da Arduino UNO
5 LEDs a kan breadboard tare da maɓallin turawa da aka nuna an haɗa su da Arduino UNO
940-Lessson 98-LED-8: Arduino code walking LED light with push button
Harshe: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Fayiloli📁

Littattafan Arduino (zip)

Jagoran Mai Amfani