Wa Koodu

Ẹ̀kọ́ 98-9: Mítà Ìpele Fọ́ọ̀tì LED Nípa Lílo Arduino tàbí Ìmọ́lẹ̀ Rírìn pẹ̀lú Potentiometer

Ẹ̀kọ́ 98-9: Mítà Ìpele Fọ́ọ̀tì LED Nípa Lílo Arduino tàbí Ìmọ́lẹ̀ Rírìn pẹ̀lú Potentiometer

Ise agbese yii yoo fi ọ̀nà tí o lè gbà kọ́ mita ipele foliteji kan tí ó ń lo LED márùn-ún gẹ́gẹ́ bí àfihàn àwòrán ọ̀pá, tí Arduino àti potentiometer kan ṣoṣo ń darí rẹ̀ pátápátá. Bí o ṣe ń yí koko náà, Arduino yóò ka foliteji tí ń yí padà lórí pin analog kan yóò sì tan LED kan fún foliteji kọ̀ọ̀kan, nítorí náà ìlà àwọn ìmọ́lẹ̀ yóò "rìn" sókè àti sísàlẹ̀ pẹ̀lú koko náà ní ti gidi. Ó jẹ́ ọ̀nà tí ó ṣe kedere jùlọ láti lóye ìwọlé analog, nítorí o lè rí ìyípadà analog-sí-onínọ́míbà tí ń ṣẹlẹ̀ ní àkókò gidi gẹ́gẹ́ bí ọ̀pá ìmọ́lẹ̀ ti ara.

5 leds on breadboard with sliding veriable resistor shown connected to Arduino UNO
5 leds on breadboard with sliding veriable resistor shown connected to Arduino UNO

Iye tí ó wúlò níbí kọjá ìfihàn ìmọ́lẹ̀ lọ́nà púpọ̀. Ní kété tí o bá lóye bí o ṣe lè ṣe àwòrán foliteji tí a wọ̀n sí àwọn ìjáde kan, o lè tún àwòrán kan náà ṣe lò fún ohun èlò ìwọ̀n gidi. Fún àpẹẹrẹ, o lè kọ́:

  • Àfihàn ìdíwọ̀n bátìrì tí ó fi agbára tí ó kù nínú bátìrì 12 V tàbí banki agbára USB hàn gẹ́gẹ́ bí ìlà LED.
  • Mita ipele ojú omi inú àkò, níbi tí sensọ lèfóòmù kan ń gbé foliteji jáde ní ìbámu pẹ̀lú ìjìn.
  • Àfihàn ọ̀pá ìwọ̀n ìgbóná tí ń lo sensọ ìgbóná analog gẹ́gẹ́ bí LM35.
  • Mita agbára àmì tàbí ipele ohùn fún ẹ̀rọ rédíò tàbí amúgbóòrò.
  • Ìkàwé sensọ tí ó rọrùn fún transducer analog 0–5 V èyíkéyìí (ìfúnpá, ìmọ́lẹ̀, ipò).
  • Ìwádìí foliteji ìdánwò ibùdó fún yíyẹ̀wò àwọn ọ̀nà agbára láìsí ojú ìwọ̀n multimeter.

Nítorí pé a ń ṣe ìṣirò àwọn ààlà gẹ́gẹ́ bí ìpín ọgọ́rùn-ún ti foliteji pátákó náà, kóòdù kan náà ń ṣiṣẹ́ lórí àwọn pátákó 5 V gẹ́gẹ́ bí Uno àti Mega àti lórí àwọn pátákó 3.3 V pẹ̀lú ìyípadà ìlà kan ṣoṣo.

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

Àkọsílẹ̀ àwọn ẹ̀yà jẹ́ kéré púpọ̀ ní àmọ̀ọ́nà, a sì ṣàlàyé ohun gbogbo ní apá ìbẹ̀rẹ̀ fídíò náà (ní fídíò ní 01:54). Ìwọ yóò nílò:

  • Pátákó Arduino kan (Uno, Nano, tàbí Mega).
  • LED márùn-ún, ní pípéye àwọ̀ kan ṣoṣo kí ọ̀pá náà lè kà kedere, bí ó tilẹ̀ jẹ́ pé àwọ̀ àdàpọ̀ ń ṣiṣẹ́ dáadáa.
  • Resistor ìdínà márùn-ún. Ẹ̀kọ́ náà ń lo resistor 1 kΩ, ṣùgbọ́n ohunkóhun láti nǹkan bí 300 Ω sí 1 kΩ yóò ṣiṣẹ́; àwọn iye tí ó ga jù yóò kan jẹ́ kí àwọn LED ṣókùnkùn (ní fídíò ní 05:33).
  • Potentiometer kan. A ṣàfihàn irú koko yíyí àti irú gbígbé (ní fídíò ní 02:19).
  • Búrẹ́dìbọ́ọ̀dù àti àwọn waya ìsopọ̀.

Àkíyèsí kíákíá lórí LED fúnra rẹ̀, níwọ̀n bí ó ti ṣe pàtàkì fún wíyà: LED jẹ́ diode, nítorí náà ó ń gbé ìtọ́sọ́nà kan ṣoṣo. Ẹ̀gbẹ́ pẹlẹbẹ ti ara ṣiṣù náà, àti ẹsẹ̀ tí ó kúrú, ni cathode (òdì). Ẹsẹ̀ tí ó gùn ni anode (àfẹ́mọ́jú). Ẹ̀kọ́ náà ń ṣàlàyé àmì yìí àti ìrísí ara rẹ̀ ní kíkún (ní fídíò ní 02:39).

Iye resistor kì í ṣe àìdábọ̀. LED ń sọ nǹkan bí 2 V, àwọn irú 3 mm àti 5 mm kékeré sì ń fa nǹkan bí 10 mA. Pẹ̀lú ipese 5 V, 3 V tí ó kù gbọ́dọ̀ sọ kọjá resistor náà, nítorí náà òfin Ohm fún R = 3 V / 0.01 A = 300 Ω. Ìyẹn ni iye fún ìmọ́lẹ̀ tí ó pọ̀ jù; lílo 1 kΩ jẹ́ àyànfẹ́ tí ó ní ààbò, tí ó ṣókùnkùn díẹ̀ (ní fídíò ní 04:41).

Ìtọ́sọ́nà Wíyà

Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
wiring for Arduino walking light LEDs
wiring for Arduino walking light LEDs

Apá LED ti wíyà náà jẹ́ kíkúnná pẹ̀lú iṣẹ́ ìmọ́lẹ̀ rírìn tí ó ṣáájú: anode LED kọ̀ọ̀kan ń sopọ̀ mọ́ pin onínọ́míbà tirẹ̀, cathode kọ̀ọ̀kan sì ń gba resistor kọjá lọ sí ọ̀nà ilẹ̀ tí ó wọ́pọ̀. Nínú ẹ̀kọ́ náà a so àwọn LED mọ́ àwọn pin 7, 6, 5, 4, àti 3 (ní fídíò ní 43:04).

Potentiometer ni ẹ̀yà tuntun kan ṣoṣo. Àwọn pin ìta méjì rẹ̀ ń lọ sí àwọn ọ̀nà agbára méjì — pin ìta kan sí ilẹ̀ àti èkejì sí 5 V (tàbí 3.3 V bí o bá ń wọ̀n ètò 3.3 V). Pin àárín, tí a ń pè ní wiper, ni ìjáde àti ó gbọ́dọ̀ sopọ̀ mọ́ pin analog A0 (ní fídíò ní 43:30). Wiper ni ó ń mú foliteji tí ń yí padà jáde: bí o ṣe ń yí koko náà, wiper yóò rìn lórí ọ̀nà resistive yóò sì mú foliteji tí ó ń gbé jáde yí padà ní ṣíṣeé láàárín àwọn ọ̀nà méjì náà.

Àlàyé pàtàkì kan: bí o bá yọ potentiometer kúrò nígbà tí àyíká náà ń ṣiṣẹ́, pin analog yóò wà ní fífòyèé àwọn LED yóò sì máa ṣe ìtànkálẹ̀ lásán. A ṣàfihàn ìhùwàsí yẹn nínú fídíò náà (ní fídíò ní 48:52) ó sì jẹ́ ìránnilétí tí ó dára pé ìwọlé analog nígbà gbogbo nílò orísun foliteji tí a ti ṣàlàyé.

Àlàyé Kóòdù

Kóòdù náà kúrú àti ọ̀pọ̀ jùlọ rẹ̀ rọrùn, nítorí náà apá yìí ń dojú kọ àwọn apá tí ìwọ yóò fẹ́ yí padà nìkan. Gbogbo àwọn ètò wọ̀nyí wà ní orí sketch náà.

Àwọn ìtumọ̀ pin. Àwọn wọ̀nyí ń sọ fún Arduino àwọn pin tí àwọn LED àti potentiometer so mọ́. Bí o bá ti wíyà àwọn LED rẹ ní ọ̀nà mìíràn, yí àwọn nọ́mbà wọ̀nyí padà kí wọ́n bá a mu — ìtòlẹ́sẹẹsẹ náà ṣe pàtàkì, nítorí LED1 ni ààlà tí ó kéré jù àti LED5 ni èyí tí ó ga jù.

const int potPin = A0;//define a pin to connect potentiometer
const int LED1 = 7;
const int LED2 = 6;
const int LED3 = 5;
const int LED4 = 4;
const int LED5 = 3;

Foltiigi board. Eyi ni iye pataki julọ lati ṣe deede. O jẹ itọkasi ti a fi n ṣe iṣiro gbogbo ẹnu-ọna. Ṣeto rẹ si 5.0 fun Uno tabi Mega, ati si 3.3 fun 3.3 V Nano tabi board ti o jọra. Ti o ba fi aṣiṣe silẹ, gbogbo LED yoo yipada ni foltiigi ti ko tọ (ninu fidio ni 44:19).

float boardVoltage= 5.0;//for UNO and MEGA 5.0V for Nano either 5V or 3.3V

Ifihan foltiigi lori Serial. Ṣeto eyi si true lati tẹ foltiigi ti a wọn sori Serial Monitor ni 9600 baud, eyi ti o wulo pupọ lakoko iṣatunṣe. Ṣeto si false lati pa iṣẹjade mọ nigbati ohun gbogbo ba ṣiṣẹ.

boolean showVoltage = true;//true or false to read voltage in serial monitor

Bii iyipada ṣe n ṣiṣẹ. Analog-to-digital converter Arduino n da nọmba pada lati 0 si 1023, nitori pe o jẹ converter 10-bit (210 = 1024 igbesẹ). Koodu naa n yi nọmba aise naa pada si foltiigi gidi nipa lilo foltiigi board gẹgẹbi itọkasi. Eyi ni laini lati ranti ti o ba yipada si board 12-bit bii Due, nibiti iwọ yoo pin pẹlu 4095 dipo.

int sensorValue = analogRead(A0);
float voltage = sensorValue * (boardVoltage / 1023.0);

Imọ-ẹrọ ẹnu-ọna. Dipo kikọ foltiigi taara, a ṣe afihan igbesẹ kọọkan gẹgẹbi ipin ogorun foltiigi board. Ni 95% tabi ju bẹẹ lọ, gbogbo LED marun tan; ju 80% lọ mẹrin nikan; ati bẹẹbẹẹ lọ si isalẹ si 20%, nibiti LED kan tan. Ọna ipin ogorun yii ni o jẹ ki sketch naa gbe laarin awọn board 5 V ati 3.3 V laisi atunkọ awọn afiwe.

if (voltage >= boardVoltage*0.95)
{
      digitalWrite(LED1, HIGH);
      digitalWrite(LED2, HIGH);
      digitalWrite(LED3, HIGH);
      digitalWrite(LED4, HIGH);
      digitalWrite(LED5, HIGH);
}

Nitori koodu naa n lo else if, ẹka kan gan ni o n ṣiṣẹ fun igba kọọkan ninu loop, nitorinaa iye LED ti o tọ nikan ni o wa tan ni ẹẹkan. Idaduro 50 ms ni ipari loop kọọkan n jẹ ki ifihan naa ma ṣe fọ.

Ise Agbese Laaye ati Ifihan

Pẹlu sketch ti a gbe soke, ṣii Serial Monitor ni 9600 baud ki o si yi knob naa laiyara. Foltiigi ti a tẹ ati ọpa LED n tẹle ara wọn pẹkipẹki: ni bii 1 V LED kan tan, ni 2 V meji tan, ati bẹẹbẹẹ lọ titi di bii 4.8 V nibiti gbogbo marun wa tan (ninu fidio ni 47:37). Awọn kika naa wa laarin awọn ọgọrun kan ti foltiigi ti iye ti a reti, eyi ti o dara julọ fun converter 10-bit.

Ti awọn igbesẹ ba dabi aiṣedeede diẹ, awọn resistors ni o maa n jẹ dipo koodu naa. Ikẹkọ naa ṣe akiyesi pe awọn resistors carbon-film boṣewa gbe ifarada 10%, lakoko ti awọn iru metal-film buluu maa n jẹ 1% ti wọn si fun awọn igbesẹ ti o ni ibamu pupọ, ti o peye (ninu fidio ni 48:18).

O tun le paarọ potentiometer rotary fun potentiometer slide ki o si gba ihuwasi kanna pẹlu rilara laini, eyi ti o jẹ aṣayan ti o dara ti o ba gbero lati gbe mita naa sinu panel (ninu fidio ni 49:07).

Ti o ba fẹ gbe ina naa pẹlu ọwọ dipo knob, eyi ni a bo ninu Ẹkọ 98-8: Imọlẹ Rin pẹlu Bọtini Titẹ ati Awọn LED pẹlu Arduino. Ati ti o ba kan fẹ ki awọn LED rin lori aago tiwọn, wo Ẹkọ 98-7: Imọlẹ Rin Nipa Lilo Arduino ati Awọn LED 5.

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 10
  • [02:29] Awọn ipilẹ LED, awọn aami, ati iṣiro resistor
  • [42:25] Ifihan si mita ipele foltiigi LED
  • [43:04] Wiwa awọn LED ati potentiometer
  • [43:54] Ṣiṣalaye koodu ọpa foltiigi
  • [44:19] Ṣiṣeto itọkasi foltiigi board
  • [46:00] Imọ-ẹrọ ẹnu-ọna ati awọn igbesẹ ipin ogorun
  • [47:14] Ifihan: kika foltiigi pẹlu ọpa LED
  • [48:18] Ifarada resistor ati pipeye
  • [49:07] Lilo potentiometer slide

Aworan

wiring for Arduino walking light LEDs
wiring for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
5 leds lori breadboard pẹlu resistor oniyipada sisun han ti sopọ si Arduino UNO
5 leds lori breadboard pẹlu resistor oniyipada sisun han ti sopọ si Arduino UNO
941-Lessson 98-LED-9: Arduino code walking LED light controlled by potentiometer
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