Wa Koodu

Ẹ̀kọ́ 98-10: Ina Ìṣíkiri Arduino

Ẹ̀kọ́ 98-10: Ina Ìṣíkiri Arduino

Àwọn ina ìkọ̀sẹ̀mọ́nà jẹ́ ọ̀kan lára àwọn ètò ojoojúmọ́ tí a kì í ronú nípa rẹ̀ — títí tí a bá kọ́ ọ̀kan. Nínú iṣẹ́ yìí, ìwọ yóò lo Arduino láti ṣe àfarawé ìtẹ̀léntẹ̀lè ina ìkọ̀sẹ̀mọ́nà gidi: àwọ̀ ewé wà ní títàn, lẹ́yìn náà àwọ̀ ọ̀gẹ̀dẹ̀, lẹ́yìn náà àwọ̀ pupa, ọ̀kọ̀ọ̀kan fún àkókò tí a lè ṣàtúnṣe rẹ̀, tí yóò máa tẹ̀síwájú láìní òpin. Ó jẹ́ iṣẹ́ àkọ́kọ́ tí ó dára jùlọ fún olùbẹ̀rẹ̀ nítorí pé ó ń kọ́ nípa ìmọ̀ ìtẹ̀léntẹ̀lè àkókò, ìṣàkóso àwọn ìjáde púpọ̀, àti ìbáṣepọ̀ láàrin ohun tí ìwọ kọ sínú kóòdù àti ohun tí ìwọ rí nínú ayé gidi.

Ina ìkọ̀sẹ̀mọ́nà nínú ayé gidi pẹ̀lú àwọ̀ mẹ́ta

Yàtọ̀ sí àfihàn kíláàsì, ìmọ̀ ìtẹ̀léntẹ̀lè àkókò tí ìwọ kọ́ níbí ń farahàn ní gbogbo ibi:

  • Kíkọ́ àwòṣe ina ìkọ̀sẹ̀mọ́nà gidi fún ọkọ̀ ojú irin àwòṣe tàbí díórámà
  • Ṣíṣẹ̀dá ètò àmì àkókò fún iṣẹ́-ọwọ́ tàbí gàrààjì (àpẹẹrẹ, àmì "ààbò láti wọlé" / "dúró")
  • Kíkọ́ ìpìlẹ̀ fún àwọn àmì ìkọ̀sẹ̀mọ́nà ìrékọjá ẹlẹ́sẹ̀ pẹ̀lú àwọn ìpele tí bọ́tìnì ń dá
  • Ṣíṣe àwòṣe ìtẹ̀léntẹ̀lè relay àkókò fún àwọn iṣẹ́ ilé-iṣẹ́ tàbí ìdáná ilé
  • Kíkọ́ àwọn ọmọdé nípa ìtẹ̀léntẹ̀lè, àkókò, àti ẹ̀rọ-ìtànṣẹ́ pẹ̀lú ohun tí wọ́n mọ̀ dáadáa

Apá tí ó dára jùlọ: gbogbo rẹ̀ ń ṣiṣẹ́ lórí ara rẹ̀ ní kété tí a bá gbé e sókè. Ìwọ ń ṣètò Arduino lẹ́ẹ̀kan láti kọ̀mpútà rẹ, lẹ́yìn náà ìwọ yóò fi bátìrì tàbí adáptà fún un ní agbára, yóò sì ṣiṣẹ́ títí láé — kò nílò kọ̀mpútà (nínú fídíò ní 12:27).

àwọn LED pupa, ewé àti ọ̀gẹ̀dẹ̀ lórí pátákó búrẹ́dì fún iṣẹ́ ina ìkọ̀sẹ̀mọ́nà
àwọn LED pupa, ewé àti ọ̀gẹ̀dẹ̀ lórí pátákó búrẹ́dì fún iṣẹ́ ina ìkọ̀sẹ̀mọ́nà

Bí Ina Ìkọ̀sẹ̀mọ́nà Ṣe Ń Ṣiṣẹ́

Ina ìkọ̀sẹ̀mọ́nà jẹ́ kìkì ìtẹ̀léntẹ̀lè àkókò ti àwọn ìjáde mẹ́ta. Arduino ń tan LED kan ní àkókò kan, ó dúró fún iye àwọn iṣẹ́jú àáyá tí a ṣètò, ó pa á, ó sì lọ sí èyí tí ó tẹ̀lé. Ìyípo náà yóò sì tún ṣe. Nínú àpẹẹrẹ àkókò fídíò náà, àwọ̀ ewé dúró fún iṣẹ́jú àáyá 3, àwọ̀ ọ̀gẹ̀dẹ̀ fún iṣẹ́jú àáyá 1, àti àwọ̀ pupa fún iṣẹ́jú àáyá 3 — ṣùgbọ́n gbogbo ìwọ̀nyí ni a lè ṣàtúnṣe nínú kóòdù (nínú fídíò ní 49:44).

àkókò ina ìkọ̀sẹ̀mọ́nà: ina pupa
àkókò ina ìkọ̀sẹ̀mọ́nà: ina pupa
àkókò ina ìkọ̀sẹ̀mọ́nà: ina ọ̀gẹ̀dẹ̀
àkókò ina ìkọ̀sẹ̀mọ́nà: ina ọ̀gẹ̀dẹ̀
àkókò ina ìkọ̀sẹ̀mọ́nà: ina ewé
àkókò ina ìkọ̀sẹ̀mọ́nà: ina ewé

Ìdí tí ìtẹ̀léntẹ̀lè náà fi dà bíi ti gidi ni pé àwọn àkókò náà ń ṣàfarawé ìṣàn ina ìkọ̀sẹ̀mọ́nà ayé gidi: ewé àti pupa gùn jù nítorí pé àwọn ọkọ̀ nílò àkókò láti gba oríta kọjá, nígbà tí ọ̀gẹ̀dẹ̀ kúrú nítorí pé ìkìlọ̀ ìyípadà nìkan ni. Ìwọ lè ṣàtúnṣe wọn láti bá ibi èyíkéyìí tí ìwọ fẹ́ mu.

Ẹ̀rọ àti Àwọn Ohun Èlò

Àkọsílẹ̀ àwọn ẹ̀yà fún iṣẹ́ yìí kéré:

  • 1 × pátákó Arduino (Uno, Nano, tàbí Mega — ohunkóhun tí ó ní ó kéré tán àwọn pínì dígítà 3)
  • 3 × LED (pupa, ọ̀gẹ̀dẹ̀/ọsàn, àti ewé — àwọn àwọ̀ oríṣiríṣi ń jẹ́ kí ipa náà hàn kedere)
  • 3 × resistor (300 Ω sí 1 kΩ ń ṣiṣẹ́ dáadáa; fídíò náà ń lo 1 kΩ)
  • 1 × pátákó búrẹ́dì
  • Àwọn waya jumper
  • Yàán: bátìrì lithium-ion tàbí adáptà agbára 5 V láti máa ṣiṣẹ́ lórí ara rẹ̀

Fídíò náà dábàá lílo àwọn LED mẹ́ta tí àwọ̀ wọn yàtọ̀ kedere kí ipa ina ìkọ̀sẹ̀mọ́nà náà lè hàn lẹ́sẹ̀kẹsẹ̀ — bí bẹ́ẹ̀ kọ́ ìwọ yóò ní láti kọ àmì wọn (nínú fídíò ní 02:04).

Nípa Ìdínà Ìṣàn LED

Gbogbo LED nílò resistor tí ń dínà ìṣàn nínú ìtẹ̀léntẹ̀lè. Èyí ni ìdí rẹ̀: LED ní foliteji iwájú tí ó fẹ́rẹ̀ẹ́ dúró ṣinṣin (ní àkókò, ó fẹ́rẹ̀ẹ́ tó 2 V fún àwọn LED 5 mm tí ó wọ́pọ̀), tí ìwọ bá sì so ó mọ́ra tààrà sí 5 V, ìṣàn náà yóò gòkè, yóò sì pa á run. Resistor náà ń gba foliteji tí ó kù.

Ní lílo òfin Ohm, tí LED bá sọ 2 V sílẹ̀ tí ìpèsè sì jẹ́ 5 V, nígbà náà 3 V gbọ́dọ̀ sọ sílẹ̀ kọjá resistor náà. Pẹ̀lú ìṣàn àfojúsùn tí ó tó 10 mA, iye resistor náà yóò fẹ́rẹ̀ẹ́ tó 300 Ω (nínú fídíò ní 04:41). Ní ìṣe, ohunkóhun láti 300 Ω sí 1 kΩ yóò ṣiṣẹ́ — àwọn iye tí ó ga jù yóò kàn jẹ́ kí LED náà ṣókùnkùn.

Ìtọ́sọ́nà Ìsopọ̀

Àwòrán ẹ̀rọ ina ìkọ̀sẹ̀mọ́nà Arduino
Àwòrán ẹ̀rọ ina ìkọ̀sẹ̀mọ́nà Arduino
Ìsopọ̀ àwọn ina ìkọ̀sẹ̀mọ́nà LED Arduino
Ìsopọ̀ àwọn ina ìkọ̀sẹ̀mọ́nà LED Arduino

A so LED kọ̀ọ̀kan ní ọ̀nà kan náà: anode (ẹsẹ̀ tí ó gùn jù) so mọ́ pínì dígítà Arduino kan, cathode (ẹsẹ̀ tí ó kúrú jù, ẹ̀gbẹ́ pẹlẹbẹ ti ara LED) sì so kọjá resistor mọ́ ilẹ̀.

Nínú ìsopọ̀ fídíò náà, LED pupa so mọ́ pínì 2, LED ọ̀gẹ̀dẹ̀/ọsàn mọ́ pínì 3, LED ewé sì mọ́ pínì 4 (nínú fídíò ní 50:50). Gbogbo àwọn resistor mẹ́ta náà pín ilẹ̀ kan náà lórí pátákó búrẹ́dì. Ìtẹ̀léntẹ̀lè àwọn àwọ̀ lórí pátákó búrẹ́dì kò ṣe pàtàkì — ohun tí ó ṣe pàtàkì ni pé àwọn nọ́mbà pínì nínú kóòdù rẹ bá àwọn pínì tí ìwọ lò ní gidi mu.

Ìmọ̀ràn kan tó wúlò láti inú fídíò náà: resistor lè wà ní ẹ̀gbẹ́ méjèèjì ti LED. O lè gbé e sí àárín Arduino pin àti LED anode, tàbí àárín LED cathode àti ilẹ̀ — ní ti ẹ̀rọ, ó jẹ́ ohun kan náà (ní fídíò ní 51:52).

Àlàyé Kóòdù

Ètò kíkún wà ní ìsàlẹ̀ àpilẹ̀kọ náà. Níbí a máa dá lórí àwọn apá tí ìwọ yóò fẹ́ ṣe àyípadà.

Ní orí sketch náà, ìtumọ̀ pin mẹ́ta ni ó so LED kọ̀ọ̀kan mọ́ digital pin kan. Bí o bá so àwọn LED rẹ mọ́ àwọn pin tó yàtọ̀, yí àwọn iye wọ̀nyí padà:

const int greenLED = 4;
const int yellowLED = 3;
const int redLED = 2;

Lẹ́yìn náà ni àwọn ìdúró àkókò wá. Àwọn wọ̀nyí ń ṣàkóso bí ìmọ́lẹ̀ kọ̀ọ̀kan yóò ṣe dúró títí, ní milliseconds. Fídíò náà ń lo 5000 ms fún àwọ̀ ewé, 1000 ms fún àwọ̀ ọ̀gẹ̀, àti 5000 ms fún àwọ̀ pupa ní àìpẹ́ — ṣùgbọ́n nígbà ìfihàn náà wọ́n yí wọn padà sí 3 s / 1 s / 3 s, àti lẹ́yìn náà sí 10 s / 3 s / 10 s (ní fídíò ní 56:27):

const int greenOnTime = 5000;
const int yellowOnTime = 1000;
const int redOnTime = 5000;

Láti yí ìgbà ìmọ́lẹ̀ òpópónà rẹ padà, kan ṣàtúnṣe àwọn iye mẹ́ta wọ̀nyí. Ṣé o fẹ́ ìkóríta tó lọ́ra, tó dàbí ti gidi? Gbìyànjú 10000, 3000, 10000. Ṣé o fẹ́ ìfihàn tó yára? Gbìyànjú 1000, 300, 1000.

Nínú loop(), ìtẹ̀lẹ̀ náà rọrùn: tan àwọ̀ ewé, dúró, pa àwọ̀ ewé; tan àwọ̀ ọ̀gẹ̀, dúró, pa àwọ̀ ọ̀gẹ̀; tan àwọ̀ pupa, dúró, pa àwọ̀ pupa; lẹ́yìn náà padà sí àwọ̀ ewé. Serial monitor ń tẹ̀jáde ìyípadà ipò kọ̀ọ̀kan kí o lè rí i pé àkókò náà bá ohun tí o retí mu.

Ìfihàn Ààyè

Ní kété tí a bá gbé kóòdù náà sókè, Arduino yóò ṣiṣẹ́ ìyípo náà fúnra rẹ̀. Nínú fídíò náà, LED àwọ̀ ewé tàn ní àkọ́kọ́, lẹ́yìn àkókò rẹ̀ àwọ̀ ọ̀gẹ̀ wá tàn fún ìgbà díẹ̀, lẹ́yìn náà àwọ̀ pupa, ìyípo náà sì tún bẹ̀rẹ̀ lẹ́sẹ̀kẹsẹ̀ (ní fídíò ní 55:20).

Serial monitor ń fi ìyípadà yìí hàn nínú ọ̀rọ̀ — "green LED on", "green off", "yellow on", àti bẹ́ẹ̀ bẹ́ẹ̀ lọ — èyí tó jẹ́ ọ̀nà tó dára láti jẹ́rìí pé àwọn iye àkókò rẹ ń ṣiṣẹ́ bí a ti retí. Nígbà tí o bá ti ṣetán láti máa ṣiṣẹ́ láìso USB, yọ USB kúrò kí o sì so batiri lithium-ion tàbí 5 V adapter pọ̀; Arduino yóò máa yípo láìsí kọ̀ǹpútà (ní fídíò ní 56:11).

Àwọn iṣẹ́ tó jọmọ́ láti inú fídíò yìí

Àwọn Ìpín

  • [00:00] Àkópọ̀ àwọn iṣẹ́ Arduino LED 10
  • [01:22] Ìfáàrà sí ẹ̀kọ́ Arduino ìgbésẹ̀-ìgbésẹ̀
  • [02:29] Kí ni LED: àmì, anode, àti cathode
  • [03:49] Ìṣirò resistor ìdènà-ìṣàn LED
  • [49:25] Ìfáàrà sí iṣẹ́ òpópónà ìmọ́lẹ̀
  • [49:44] Àlàyé àkókò òpópónà ìmọ́lẹ̀
  • [50:34] Àwòrán ìsopọ̀ fún òpópónà ìmọ́lẹ̀
  • [52:13] Àlàyé kóòdù fún òpópónà ìmọ́lẹ̀
  • [54:32] Ìfihàn ààyè pẹ̀lú serial monitor
  • [55:30] Yíyí àwọn iye àkókò padà
  • [56:11] Ṣíṣe òpópónà ìmọ́lẹ̀ lórí agbára batiri

Aworan

traffic light timing: green light
traffic light timing: green light
traffic light timing: yellow light
traffic light timing: yellow light
traffic light timing: red light
traffic light timing: red light
Schematic of Arduino traffic light
Schematic of Arduino traffic light
traffic_lights
traffic_lights
Arduino LED traffic lights wiring
Arduino LED traffic lights wiring
red, green and yellow leds on bread board for traffic light project
red, green and yellow leds on bread board for traffic light project
942-Lessson 98-LED-10: Arduino code traffic light
Ede: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Fáìlìs📁

Awọn ile-ikawe Arduino (zip)

Iwe Itọsọna Olumulo