Wa Koodu

Ẹkọ 98-6: Ere LED See saw pẹlu Arduino

Ẹkọ 98-6: Ere LED See saw pẹlu Arduino

Ìgbékalẹ̀ LED seesaw jẹ́ ìdánrawò ìbẹ̀rẹ̀ àtijọ́ tí ó ń kọ́ni ní ọ̀kan nínú àwọn èròǹgbà tí ó ṣe pàtàkì jùlọ nínú ìṣèlànà Arduino: ṣíṣe àwọn ìjáde méjì ní yíyípadà ní ìlù àkókò. Ní lílo LED méjì, àwọn resistor méjì, àti ọ̀wọ́n waya jumper díẹ̀, ìwọ yóò kọ́ ẹ̀rọ kan níbi tí LED aláwọ̀ ewé àti LED aláwọ̀ pupa yóò máa yí padà láti tàn, tí ó ń ṣàfarawé ìṣíkiri sókè-sísàlẹ̀ ti seesaw ilé-ìtàgé. Ó jẹ́ ìkọ́ tí ó rọrùn, ṣùgbọ́n ó ń ṣàfihàn àwọn ìpìlẹ̀ pàtàkì — ìtumọ̀ pin, àwọn ìdúró àkókò, àti àwọn ìpè digitalWrite() tẹ̀lẹ̀tẹ̀lẹ̀ — tí ó farahàn nínú fẹ́rẹ̀ẹ́ gbogbo sketch Arduino tí ìwọ yóò kọ.

two LEDs with resistor on breadboard connected to Arduino
two LEDs with resistor on breadboard connected to Arduino

Nítorí pé àpẹẹrẹ seesaw jẹ́ ní ti gidi "tan nnkan kan, pa á, tan nnkan mìíràn, pa á, tún ṣe," ìgbékalẹ̀ kan náà ń gbòòrò sí ọ̀pọ̀lọpọ̀ àwọn ìlò tí ó wúlò. Àwọn èròǹgbà díẹ̀ ni wọ̀nyí láti ru ìrònú rẹ sókè:

  • Àwọn ìmọ́lẹ̀ ìtọ́kasí tí ń yí padà — ẹgbẹ́ "ààbò / ìkìlọ̀" lórí pánẹ́ẹ̀lì ìṣàkóso tí ń yí padà sẹ́yìn àti sẹ́wájú.
  • Àfarawé ibùdókọ̀ ojú irin — àwọn fìtílà méjì tí ń ṣí pa dà bí ọkọ̀ ojú irin ti ń súnmọ́.
  • Àmì ìtọ́sọ́nà ọ̀nà méjì — ìfihàn ọfà "lọ sí ọ̀nà yìí / lọ sí ọ̀nà yẹn" fún ọ̀nà ibùdókọ̀ tàbí ibi ìdúró ọkọ̀.
  • Ìṣeṣọ̀ṣe àjọ̀dún — àwọn LED pupa àti ewé tí ń pààrọ̀ ipò fún ìṣeṣọ̀ṣe tí ń ṣí pa dà.
  • Ìpìlẹ̀ ẹ̀kọ́ — àwọn ọgbọ́n àkókò àti tẹ̀lẹ̀tẹ̀lẹ̀ níbí ni àwọn kan náà tí ìwọ yóò lò nígbà tí ó bá yá fún àwọn ìmọ́lẹ̀ òpópónà, ìmọ́lẹ̀ ìrìn, àti àwọn àwòrán LED púpọ̀.

Bí Ìpà Seesaw Ṣe Ń Ṣiṣẹ́

LED jẹ́ diode tí ó ń tàn ìmọ́lẹ̀, àti àmì rẹ̀ jẹ́ igun mẹ́ta tí ó ń tọ́ka sí ìlà kan. Ìlà tí ó fẹ́rẹ̀ jẹ́ cathode (òdì), àti ẹ̀yìn igun mẹ́ta náà ni anode (àròpọ̀). Lórí LED ti ara, ẹsẹ̀ tí ó gùn jù ni anode àti ẹsẹ̀ tí ó kúrú, tí ẹ̀gbẹ́ rẹ̀ fẹ́rẹ̀ ni cathode. Ìṣàn ń lọ láti anode sí cathode, nítorí náà anode ń sopọ̀ mọ́ pin Arduino rẹ àti cathode ń sopọ̀ nípasẹ̀ resistor sí ilẹ̀ (nínú fídíò ní 02:29).

Resistor náà ṣe pàtàkì. LED kékeré kan tí ó wọ́pọ̀ fẹ́ nǹkan bí 2 V kọjá rẹ̀ àti nǹkan bí 10 mA ìṣàn. Bí Arduino rẹ bá ń pèsè 5 V, 3 V tí ó kù gbọdọ̀ jẹ́ kí resistor dín kù. Ní lílo òfin Ohm, R = V / I = 3 V / 0.01 A = 300 Ω. Ohunkóhun láti nǹkan bí 300 Ω sí 1000 Ω yóò ṣiṣẹ́ — àwọn iye tí ó ga jù ń jẹ́ kí LED dín kù (nínú fídíò ní 03:49).

Fún seesaw, àwọn LED méjì náà ni a so pọ̀ ní ọ̀nà kan náà: anode kọ̀ọ̀kan ń lọ sí pin Arduino tirẹ̀, àti cathode kọ̀ọ̀kan ń lọ nípasẹ̀ resistor tirẹ̀ sí rail ilẹ̀ tí ó wọ́pọ̀. Ìyàtọ̀ kan ṣoṣo láàrin àwọn méjì náà ni pin tí wọ́n so mọ́.

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

  • 1 × pátákó Arduino (Uno, Nano, Mega, tàbí irú rẹ̀)
  • 2 × LED — ọ̀kan pupa, ọ̀kan ewé (àwọn àwọ̀ méjì èyíkéyìí yóò ṣiṣẹ́)
  • 2 × resistor, 300 Ω sí 1000 Ω (220 Ω tàbí 330 Ω ni àwọn àṣàyàn tí ó wọ́pọ̀)
  • 1 × pátákó burẹ́dì
  • Àwọn waya jumper (àwọn waya DuPont)
  • Waya USB fún ìṣèlànà àti agbára

Ìyẹn ni — kò sí àwọn bọ́tìnì tí a ń tẹ̀, kò sí potentiometer, kò sí àwọn sensọ. Èyí jẹ́ àtọ̀jọ àwọn ẹ̀yà tí ó kéré jùlọ pẹ̀lú ìmọ̀ọ́nà kí ìwọ lè dojú kọ gbogbo rẹ̀ sórí ìmọ̀ ọ̀rọ̀ kóòdù.

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

Arduino schematic for two LEDs see saw
Arduino schematic for two LEDs see saw
Arduino wiring for two LEDs see saw
Arduino wiring for two LEDs see saw

Ìsopọ̀ náà jẹ́ aláìsí àti rọrùn láti tẹ̀lé. Fi àwọn LED méjì náà sínú pátákó burẹ́dì. So anode (ẹsẹ̀ tí ó gùn jù) ti LED ewé mọ́ Arduino pin 2 àti anode ti LED pupa mọ́ Arduino pin 3. Cathode kọ̀ọ̀kan (ẹsẹ̀ tí ó kúrú jù) ń sopọ̀ mọ́ opin kan ti resistor tirẹ̀, àti opin kejì ti àwọn resistor méjì náà ń darapọ̀ mọ́ rail tí ó wọ́pọ̀ tí ó ń lọ sí GND pin Arduino (nínú fídíò ní 27:45).

Nítorí pé àwọn LED méjì náà ń pín rail ilẹ̀ kan náà, waya ilẹ̀ kan ṣoṣo ni a nílò láti pátákó burẹ́dì padà sí Arduino. Àwọn waya ìfihàn méjì náà — ọ̀kan sí pin 2, ọ̀kan sí pin 3 — ni àwọn ìsopọ̀ kan ṣoṣo tí ó yí padà láàrin àwọn LED méjì náà.

Àlàyé Kóòdù

Sketch náà jẹ́ kúkúrú pẹ̀lú ìmọ̀ọ́nà kí gbogbo ìlà ní ìtumọ̀. Àwọn apá tí ìwọ yóò fẹ́ ṣàtúnṣe ni wọ̀nyí:

Ìtumọ̀ Pin

const int greenLEDPin = 2;//define a pin for green LED
const int redLEDPin = 3;//define a pin for red LED

Àwọn ìdúró méjì wọ̀nyí ń sọ fún Arduino àwọn pin tí àwọn LED so mọ́. Bí ìwọ bá so àwọn LED rẹ mọ́ àwọn pin mìíràn — sọ pé pin 8 àti pin 9 — ibí yìí ni ibi kan ṣoṣo tí ìwọ nílò láti yí padà. Ọ̀rọ̀ const túmọ̀ sí pé iye náà dúró ṣinṣin fún ìgbésí ayé ètò náà àti pé a kò lè pa á rẹ́ lẹ́yìn náà.

Ìdúró Àkókò

const int ON_TIME = 500;

Iye iye kan n ṣakoso bi LED kọọkan ṣe wa ni tan fun igba ti o pẹ, ni milliseconds. Aiyipada ti 500 tumọ si LED kọọkan wa ni tan fun idaji iṣẹju kan, nitorinaa iyipo alawọ ewe-lẹhinna-pupa ni kikun gba iṣẹju kan. Sọ ọ silẹ si 200 fun didan iyara, tabi gbe e soke si 1000 fun lọra, iwọn iṣẹju kan fun LED kan (ninu fidio ni 30:17). Nitori awọn LED mejeeji pin iye yii, wọn maa wa ni ibamu nigbagbogbo — seesaw naa maa wa ni iwọntunwọnsi.

Iṣeto

Ninu setup(), awọn pin meji ni a kede bi awọn iṣejade pẹlu pinMode(), ati pe a bẹrẹ atẹle serial ni 9600 baud ki o le wo awọn ifiranṣẹ ipo LED ti n lọ kọja. Eyi n ṣiṣẹ lẹẹkan, nigbati board ba tan.

Loop naa

Iṣẹ loop() ni ibi ti seesaw naa ti n ṣẹlẹ. O n ṣe awọn iṣe mẹrin ni tẹlentẹle: tan LED alawọ ewe, duro ON_TIME milliseconds, pa a, lẹhinna ṣe kanna fun LED pupa. Nigbati loop ba de opin, o tun bẹrẹ lati oke laifọwọyi — iyẹn ni gbogbo ihuwasi "seesaw" naa. Ko si oniyipada ipo ati ko si ipo lati ṣayẹwo, nitori apẹrẹ naa jẹ tẹlentẹle lasan.

Ise agbese Laaye ati Ifihan

Ni kete ti a ba gbe koodu naa soke, iwọ yoo rii LED alawọ ewe tan fun idaji iṣẹju kan, lẹhinna LED pupa, lẹhinna alawọ ewe lẹẹkansi, lainidi. Ṣiṣi atẹle serial (Awọn irinṣẹ → Atẹle Serial, tabi Ctrl+Shift+M) fihan "Green LED ON" ati "Red LED ON" ti a tẹ jade bi apẹrẹ naa ti n ṣiṣẹ, eyiti o jẹ ọna irọrun lati jẹrisi pe akoko naa baamu ohun ti o ṣeto.

Gbiyanju lati yi ON_TIME pada si 200 ki o tun gbe soke — awọn LED yoo yipada ni iyara ti o han gbangba. Ṣeto si 1000 ati seesaw naa yoo di iyipada lọra, ti o mọọmọ. O tun le ge Arduino kuro lati USB ki o fi batiri tabi adapter 5 V fun u; sketch naa n ṣiṣẹ bakanna nitori pe o ti wa ninu iranti board naa tẹlẹ.

Awọn iṣẹ akanṣe ti o jọmọ lati fidio yii

Awọn ipin

  • [00:00] Akopọ ti awọn iṣẹ akanṣe LED Arduino 10
  • [01:22] Ifihan si ẹkọ igbese-nipasẹ-igbese Arduino
  • [02:29] Loye awọn LED: aami, anode, ati cathode
  • [03:49] Ṣiṣe iṣiro resistor jara LED pẹlu ofin Ohm
  • [27:32] Ṣafihan iṣẹ akanṣe LED seesaw
  • [27:45] Aworan onirin fun iṣẹ akanṣe seesaw
  • [28:28] Ṣalaye koodu seesaw
  • [30:06] Ṣafihan seesaw pẹlu awọn akoko oriṣiriṣi
  • [30:47] Akopọ iṣẹ akanṣe ina rin
  • [36:41] Ina rin ti a ṣakoso nipasẹ bọtini titẹ
  • [42:25] Mita igi foliteji LED pẹlu potentiometer
  • [49:25] Iṣẹ akanṣe ina opopona Arduino

Aworan

Arduino wiring for two LEDs see saw
Arduino wiring for two LEDs see saw
Arduino schematic for two LEDs see saw
Arduino schematic for two LEDs see saw
330_ohm_resistor
330_ohm_resistor
LEDs meji pẹlu resistor lori breadboard ti sopọ si Arduino
LEDs meji pẹlu resistor lori breadboard ti sopọ si Arduino
938-Lessson 98-LED-6: Arduino code two LED, See-saw
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