Ẹ̀kọ́ 98-3: Bí o ṣe le Tan/Pa LED Toggle kan nípa Lílo Bọ́tìnì Tẹ pẹ̀lú Arduino
Awọn bọtini titẹ wa nibikibi — ninu awọn eremọọ, awọn ohun elo, ati awọn panẹli iṣakoso — ati ni akoko ti bọtini kan ba ni lati ṣe iṣẹ diẹ sii ju ọkan lọ, o nilo ọgbọn toggle. Ise agbese yii fihan ọ bi o ṣe le jẹ ki bọtini titẹ kan tan LED si tan pẹlu titẹ akọkọ ati pa pẹlu titẹ ti o tẹle, ki ina naa duro ni ibi ti o fi silẹ. Iwa yẹn "tẹ lẹẹkan lati di, tẹ lẹẹkansi lati tu" jẹ ipilẹ ti o fẹrẹ jẹ gbogbo bọtini akojọ, yipada agbara, ati yiyan ipo ti iwọ yoo kọ lailai.
Ni kete ti o ba loye toggle naa, ilana koodu kanna yoo gbooro si ohun elo gidi. O le lo lati:
- Yipada relay kan ti o n ṣakoso atupa AC tabi ina tabili lati bọtini panẹli kan.
- Bẹrẹ ati da moto tabi fifa omi duro pẹlu bọtini kan dipo meji.
- Yi larin awọn ipo iṣiṣẹ lori ẹrọ kan (fun apẹẹrẹ, lọra / yara / pa).
- Kọ itaniji didi ti o wa titi ti ẹnikan ba fi ọwọ gba.
- Ṣẹda bọtini mute fun iṣẹ ohun ti o ranti ipo rẹ.
- Ṣiṣẹ bi yipada agbara rirọ fun ohun elo ti o ni batiri, rọpo yipada ẹrọ.
Olukọ naa ṣe akiyesi aaye yii taara ninu fidio (ninu fidio ni 19:52): iṣẹ agbese naa kii ṣe nipa LED rara — o jẹ nipa ilana toggle, eyiti o le tọka si relay, awakọ moto, tabi eyikeyi iṣelọpọ miiran.
Ohun elo ati Awọn ẹya
Akojọ awọn ẹya jẹ kekere ni imọọmọ, nitorinaa eyi jẹ iṣẹ agbese nla ti o ba ṣẹṣẹ bẹrẹ. O nilo:
- Bọọdu Arduino kan — Uno, Nano, tabi Mega gbogbo wọn ṣiṣẹ.
- LED kan, 3 mm tabi 5 mm, eyikeyi awọ.
- Resistor kan fun LED, nibikibi lati 200 Ω si 1000 Ω. Iwe afọwọkọ naa ṣalaye idi naa (ninu fidio ni 03:49): LED kan dinku ni aijọju 2 V o si fa nipa 10 mA, nitorinaa pẹlu ipese 5 V, 3 V ti o ku gbọdọ jẹ ki resistor dinku. Ofin Ohm fun 3 V ÷ 0.01 A = 300 Ω, ati ohunkohun lati 300 Ω si 1000 Ω yoo ṣiṣẹ — awọn iye ti o ga julọ kan jẹ ki LED dudu.
- Bọtini titẹ kan. Fidio naa fihan mejeeji iru tactile mẹrin-pin kekere ati ẹya pin gigun (ninu fidio ni 12:43). Ti o ko ba ni bọtini titẹ, yipada lasan tun ṣiṣẹ — kan wa awọn ebute meji ti o ṣe ati fọ circuit naa.
- Breadboard kan ati awọn waya jumper DuPont diẹ.
Imọran ilowo kan lati fidio naa (ninu fidio ni 07:50): bọtini tactile mẹrin-pin ni awọn orisii meji ti awọn pin ti o sopọ ninu. Lo multimeter ni ipo continuity lati wa awọn pin meji ti o dun papọ — awọn ni ẹgbẹ kan ti yipada naa. So ẹgbẹ kan si pin input ati ẹgbẹ keji si ilẹ.
Itọsọna Waya
Waya naa jẹ kanna bi LED ti o rọrun ati awọn circuits bọtini titẹ, pẹlu bọtini ti a fi kun si oke. Anode LED (ẹsẹ gigun) lọ si pin 3, ati cathode rẹ (ẹsẹ kukuru, ni ẹgbẹ alapin ti ara) sopọ nipasẹ resistor si ilẹ. Bọtini titẹ sopọ laarin pin 2 ati ilẹ — ko nilo ohunkohun miiran, nitori koodu naa mu resistor pull-up inu Arduino ṣiṣẹ.
Pull-up inu yẹn tọ lati loye: laisi rẹ, pin input ti o lefo yoo ka ariwo laileto. Ṣiṣẹ INPUT_PULLUP mu pin naa duro ni 5 V nigba ti bọtini wa ni ṣiṣi, ati titẹ bọtini fa o lọ si 0 V. Eyi ni idi ti koodu fi ka LOW bi "titẹ" — ọgbọn naa yipada ni akawe si yipada lasan si ilẹ pẹlu resistor ita.
Alaye Koodu
Sketch kikun wa ni isalẹ nkan yii. Nibi a yoo dojukọ awọn ẹya ti iwọ yoo fẹ lati yipada.
Ni oke faili naa, awọn ipin pin meji jẹ asọye bi awọn iduro. Ti o ba gbe awọn waya rẹ si awọn pin oriṣiriṣi, eyi ni ibi kan ti o nilo lati ṣatunkọ:
const int pushButtonPin = 2;//define a pin number for push button
const int LEDPin = 3;//define a pin that is connected to LED
Nigbamii ni awọn oniyipada ipo mẹta. Iwọ kii ṣe deede nilo lati yipada awọn wọnyi, ṣugbọn o ṣe iranlọwọ lati mọ ohun ti wọn ṣe:
int pushButtonStatus = 0; // push value from pin 2
int lightStatus = 0;//light status
int pushed = 0;//push statuspushButtonStatus n tọju kika aise ti pin bọtini ni gbogbo igba nipasẹ lupu. lightStatus ranti ohun ti pin bọtini ka ni igba ti o kọja, eyi ti o jẹ bii sketch ṣe rii akoko titẹ tuntun dipo idahun lemọlemọ. pushed ni ami iyipada gangan — o yipada laarin 0 ati 1 o si pinnu boya LED yẹ ki o tan tabi pa.
Iyipada funrararẹ ni a ṣe pẹlu ẹtan iṣiro ti o mọ (ninu fidio ni 18:30). Yiyọ ami naa kuro ninu ọkan yiyipada rẹ: 1 - 0 fun 1, ati 1 - 1 fun 0. Nitorinaa ila kan ṣe iyipada ipo ni gbogbo igba ti a ba rii titẹ tuntun:
pushed = 1-pushed;//toggle the pushed value
delay(100);//give some time for finger to press
Idaduro 100 ms wa nibẹ lati jẹ ki ika rẹ kuro lori bọtini. Laisi rẹ, titẹ ti ara kan le ka ni ọpọlọpọ igba. Ti bọtini rẹ ba dabi pe ko ni igbẹkẹle tabi ika rẹ ba mì, mu iye yii pọ si (ninu fidio ni 40:39).
Ipo ti o fa iyipada jẹ bọtini si gbogbo sketch naa. O nikan n tan nigbati bọtini ko ba tẹ (HIGH, nitori pull-up) ati kika iṣaaju jẹ LOW — ti o tumọ si pe a ti tu bọtini silẹ lẹhin titẹ:
if(pushButtonStatus == HIGH && lightStatus == LOW){
pushed = 1-pushed;//toggle the pushed value
delay(100);//give some time for finger to press
}
Nikẹhin, a n dari LED lati ami iyipada, ati pe a fipamọ kika bọtini lọwọlọwọ fun afiwe ti o tẹle:
lightStatus = pushButtonStatus;
if(pushed == HIGH){
Serial.println("Light ON");
digitalWrite(LEDPin, HIGH); //turn the LED ON
}else{
Serial.println("Light OFF");
digitalWrite(LEDPin, LOW);//turn the LED OFF
}
O tun le ṣii Serial Monitor ni 9600 baud lati wo awọn ifiranṣẹ "Light ON" ati "Light OFF" bi o ṣe n tẹ bọtini naa.
Ifihan laaye
Ninu fidio (ninu fidio ni 19:41) o le rii ihuwasi naa ni iṣe: titẹ akọkọ tan LED o si wa ni titan lẹhin ti a ti tu ika silẹ. Titẹ ti o tẹle pa a, o si wa ni pipa. Ko si iwulo lati di bọtini mu, eyi ti o jẹ deede iyatọ laarin iṣẹ yii ati ẹya ti o rọrun "di lati tan" ti a bo ninu Ẹkọ 98-2: Bii o ṣe le Tan ati Pa LED nipa lilo Bọtini Titẹ pẹlu Arduino.
Fidio naa tun tọka si pe o le paarọ LED fun module relay lati yipada awọn ẹrọ ti o ni agbara mains, tabi fun awakọ motor lati bẹrẹ ati da motor duro. Imọ iyipada ko yipada — ẹrọ ti o jade nikan ni o yipada.
Awọn iyatọ miiran ti a fihan ninu fidio kanna — didan LED, apẹrẹ seesaw, ina ti n rin, mita igbona folti, ati ina opopona — ni a bo ninu awọn ẹkọ tiwọn, ti a so ni isalẹ.
Awọn iṣẹ ti o jọmọ lati fidio yii
- Ẹkọ 98-1: Bii o ṣe le Tan ati Pa LED pẹlu Arduino
- Ẹkọ 98-2: Bii o ṣe le Tan ati Pa LED nipa lilo Bọtini Titẹ pẹlu Arduino
- Ẹkọ 98-4: Didan Ina LED nipa lilo Arduino: Iṣakoso Imọlẹ
- Ẹkọ 98-5: Dan Ina Nigbati Bọtini Ba Tẹ nipa lilo Arduino
- Ẹkọ 98-6: Ere LED Seesaw pẹlu Arduino
- Ẹkọ 98-7: Ina Ti N Rin nipa lilo Arduino ati Awọn LED 5
- Ẹkọ 98-8: Ina Ti N Rin pẹlu Bọtini Titẹ ati Awọn LED pẹlu Arduino
- Ẹkọ 98-9: Mita Ipele Folti LED nipa lilo Arduino tabi ina ti n rin pẹlu potentiometer
- Ẹkọ 98-10: Ina Opopona Arduino
Awọn ipin
- [00:00] Akopọ ti awọn iṣẹ LED 10
- [01:00] Ifihan si ẹkọ igbese-nipasẹ-igbese Arduino
- [02:29] Ipilẹ LED: aami, anode, cathode, ati iṣiro resistor
- [05:53] Iṣẹ 1: Titan ati pipa LED
- [12:43] Iṣẹ 2: Bọtini titẹ n ṣakoso LED
- [17:13] Iṣẹ 3: Bọtini titẹ n yipada LED tan ati pa
- [20:12] Iṣẹ 4: Didan LED
- [23:20] Iṣẹ 5: Didan LED pẹlu bọtini titẹ
- [27:32] Iṣẹ 6: Seesaw pẹlu awọn LED meji
- [30:47] Iṣẹ 7: Ina ti n rin pẹlu awọn LED marun
- [36:41] Iṣẹ 8: Ina ti n rin ti o ni ilọsiwaju nipasẹ bọtini titẹ
- [42:25] Iṣẹ 9: Mita ipele folti LED pẹlu potentiometer
- [49:25] Iṣẹ 10: Ina opopona Arduino
This code has not been parsed yet. Please return to the admin panel to parse it.
Ohun ti o le nilo
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
Orisun & itọkasi
-
Iwe-ẹriDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Ita gbangba
-
Ita gbangba
-
Ita gbangba
Fáìlìs📁
Awọn ile-ikawe Arduino (zip)
-
koodu orisun akojọpọ ẹkọ 3-in-1 Smart Car ti SunFounder
3in1-kit-main-v2.zip12.80 MB
Iwe Itọsọna Olumulo
-
SunFounder 3-in-1 Arduino Smart Car iwe afọwọkọIwe yii ṣe afihan igbese-igbese apejọ ti SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB