Raadi Koodka

Casharka 98-8: Iftiin Socod leh oo leh Badhan Riix iyo LED-yo leh Arduino

Casharka 98-8: Iftiin Socod leh oo leh Badhan Riix iyo LED-yo leh Arduino

Mashruucan wuxuu ku tusayaa sida loo dhiso "iftiin socda" oo hal tallaabo u horumarsan mar kasta oo aad riixdo badhanka riixista. Halkii iftiin ku shaqeeya waqtigiisa gaarka ah, waxaad helaysaa kontorool toos ah oo taabasho leh: riix kastaa wuxuu u dhaqaajiyaa LED-ka iftiimaya hal boos oo hore, ka dib LED-ka ugu dambeeya wuxuu ku soo noqdaa kii ugu horreeyay. Tani waa mid ka mid ah qaybaha ugu faa'iidada badan ee barashada Arduino, sababtoo ah waxay ku baraysaa sida loo isku daro gelitaan dhijitaal ah (badhanka) iyo mishiin gobol wareeg ah (LED-ka hadda iftiimaya) — qaab aad si joogto ah u isticmaali doonto.

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

Markaad fahanto qaabkan, isla caqli-galka ayaa xoojiya tiro badan oo mashaariic dhab ah. Waa kuwan dhowr fikradood oo wax ku ool ah oo aad ku dhisti karto:

  • Doorashada liiska qalabka halkaas oo riix kastaa muujiyo doorashada xigta.
  • Tilmaame tallaabo isku xigxiga oo mishiin ama geedi socod (tallaabo 1, tallaabo 2, tallaabo 3...).
  • Bandhig dhibco ama heer aad gacanta ku horumariso badhan.
  • Tilmaame "kanaalka xigta" ama "habka xigta" ee kontoroolka iftiinka.
  • Ciyaar fudud ama jawaab-bixin halkaas oo ciyaartoydu isku beddelanayaan iftiiminta laambadda xigta.
  • Relay ama isku xigxiga culayska halkaas oo riix kastaa dhaqaajiyo soo-saarka xigta si nidaamsan.

Faa'iidada ugu muhiimsan ee ka sarreeya iftiin si otomaatig ah u socda waa kontoroolka: waxba ma dhacaan ilaa aad riixdo, markaa iftiinku wuxuu horumarsanayaa oo keliya marka adiga go'aansato. Fiidiyowga sidoo kale wuxuu xusayaa in isla fikradda beddelka iyo isku xigxiga ay kaxayn karto relay si loo beddelo iftiin AC ama loo xakameeyo matoor, ma aha oo keliya LED-yada (fiidiyowga 19:52).

Qalabka iyo Qaybaha

Liiska qaybaha waa gaaban yahay oo jaban:

  • Boodh Arduino ah (Uno, Nano, Mega, ama boodh kasta oo la jaanqaadi kara).
  • Shan LED — 5 mm ama 3 mm, midab kasta oo aad jeceshahay.
  • Shan iska caabin xaddidan oo hadda socda, 200 Ω ilaa 1000 Ω (fiidiyowga wuxuu isticmaalaa 1 kΩ).
  • Hal badhan riixis ah (badhan taabasho ah oo momentari ah ayaa ugu fiican).
  • Boodh breadboard ah iyo xoogaa fiilooyin DuPont ah.

Fiiro gaar ah oo ku saabsan LED-yada: cathode waa lugta gaaban iyo dhinaca leh cidhifka fidsan, halka anode uu yahay lugta dheer (fiidiyowga 03:13). Qiimaha iska caabintu muhiim maaha — iska caabin sare ayaa si fudud LED-ka uga dhigta mid khafiif ah, markaa wax kasta oo ka bilaabma 300 Ω ilaa 1000 Ω ayaa si fiican u shaqeyn doona (fiidiyowga 05:33).

Tilmaame Fiilooyinka

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

Fiilooyinku asal ahaan waa isla mid la mid ah iftiin socda oo shan LED ah oo caadi ah, oo lagu daray hal badhan riixis ah. Anode kasta oo LED ah wuxuu ku xirmaa pin Arduino u gaar ah, cathode kastana wuxuu ku xirmaa iska caabintiisa gaarka ah oo ku xiran rail dhul la wadaago oo ku yaal breadboard-ka. Dhismahan LED-yada waxaa lagu xiray pins 3, 4, 5, 6, iyo 7 (fiidiyowga 31:37). Badhanka riixista waxaa lagu dhigay breadboard-ka iyadoo hal lug dhulka iyo lugta kale pin 2 — isla pin-ka koodhku u isticmaalo badhanka (fiidiyowga 37:04).

Sababtoo ah koodhku wuxuu dhaqaajiyaa iska caabinta pull-up gudaha ee Arduino, iska caabin dibadeed looma baahna badhanka. Marka badhanka aan la riixin pin-ku wuxuu akhriyaa HIGH, markaad riixdona pin-ka waxaa loo jiidayaa dhulka oo wuxuu akhriyaa LOW (fiidiyowga 14:02).

Sharaxaadda Koodhka

Barnaamijka buuxa waa la heli karaa maqaalkan hoostiisa. Halkan waxaan diiradda saarnaa qaybaha aad dhab ahaantii rabto inaad beddesho.

Xagga sare ee sketch-ka, LED kasta iyo badhanka waxaa loo qoondeeyay pin. Halkan waa halka aad ku habeyso dhismaha si uu u dhigmaa fiilooyinkaaga:

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

Doorsoonka LED_ON waa wadnaha mashruuca. Wuxuu xusuustaa LED-ka hadda iftiimaya, isagoo ka bilaabma LED1. Mar kasta oo aad riixdo badhanka, koodhku wuxuu u dhaqaajiyaa LED_ON LED-ka xigta ee isku xigxiga wuxuuna damiyaa kii hore, markaa hal LED oo keliya ayaa waligiis iftiimaya waqti kasta.

Sidoo kale waxaa jira dib u dhac yar oo riix kasta ka dib:

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

Joojinta 200 millisekan waxay ka hortagtaa in hal riixis jireed loo diiwaangeliyo sida riixisyo badan. Haddii farahaagu gariiraan ama badhanku uu dareemo mid aad u xasaasi ah, kordhi lambarkan; haddii aad rabto jawaab degdeg ah, hoos u dhig. Ogaow in dejinta aad u hooseysa ay ka dhigi karto iftiinka inuu si lama filaan ah u boodo (fiidiyowga 41:20).

Caqliga ugu muhiimsan wuxuu ku jiraa loop(). Wuxuu akhriyaa badhanka, oo kaliya marka badhanka la riixo (akhrinta LOW) ayuu nuurka horumariyaa. Taxanaha wuxuu isticmaalaa silsilad if / else if si uu uga guuro LED1 una guuro LED2 una guuro LED3, iyo wixii la mid ah, isagoo ku soo noqonaya LED1 ka dib midka ugu dambeeya. Haddii aad rabto inaad beddesho jihada ama nidaamka LED-yada, kani waa qaybta la tafatiran karo — si fudud u qoondee pin-ka keena kan xiga.

Mashruuca Tooska ah iyo Bandhigga

Ka dib markaad code-ka soo geliso, riixista badhanka waxay shidaa LED-ka koowaad; sii daynta waxay ka tagtaa LED-kaas shidan. Riixista xigta waxay nuurka u rartaa LED-ka labaad, ka dib saddexaad, afraad, iyo shanaad, iyo riixista xigta waxay ku soo noqotaa kan koowaad — wareeg joogto ah (fiidiyowga 40:22).

Saamayn wanaagsan oo ka timaadda daahitaanka 200 millisekond waa in haddii aad hayso badhanka, nuurku si iskiis ah u horumariyo 200 millisekond kasta, taasoo si wax ku ool ah u beddela mashruuca nuur socod otomaatig ah inta badhanka la hayo (fiidiyowga 42:07). Sii daa badhanka oo wuxuu ku istaagaa LED-ka hadda. Tani waxay ku siinaysaa labadaba tallaabooyin gacanta iyo socod gacmo-la'aan hal badhan.

Haddii aad doorbidayso in nuurku si otomaatig ah u socdo isagoo aan badhan lahayn, taasi waa dhismo gooni ah. Nooca otomaatigga ah waxaa lagu daboolay Casharka 98-7: Nuur Socod Isticmaalaya Arduino iyo 5 LED.

Mashruucyo la xiriira oo ka socda fiidiyowgan

Cutubyada

  • [00:00] Guudmar 10-ka mashruuc LED ee Arduino
  • [01:22] Hordhac koorsada tallaabo-tallaabo Arduino
  • [02:29] Fahanka LED-yada: calaamadaha, polarity iyo pin-yada
  • [03:49] Xisaabinta resistor xaddida korontada LED
  • [30:47] Nuur socod leh 5 LED: fiilooyinka iyo mabda'a
  • [32:52] Code-ka nuur socodka: pin-yada, waqtiga iyo loop-ka
  • [36:41] Horumarinta nuurka badhan riix
  • [37:44] Nuur socod leh badhan riix: sharraxa code-ka
  • [40:22] Bandhig iyo hagaajinta daahitaanka riixista
  • [57:16] Hadalada gunaanadka iyo soo gabagabeynta koorsada

Sawirro

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 LED oo ku yaal sabuuradda rootiga oo leh badhan riixid ah oo lagu xidhay Arduino UNO
5 LED oo ku yaal sabuuradda rootiga oo leh badhan riixid ah oo lagu xidhay Arduino UNO
940-Lessson 98-LED-8: Arduino code walking LED light with push button
Luqadda: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Faylasha📁

Arduino Libraries (zip)

Buugga Isticmaalaha