Bincika Lambar

Kashi 98-3: Yadda ake Kunna/Kashe LED Mai Toggle Ta Amfani da Maɓallin Turawa da Arduino

Kashi 98-3: Yadda ake Kunna/Kashe LED Mai Toggle Ta Amfani da Maɓallin Turawa da Arduino

Maɓallan turawa suna ko'ina — a cikin remotes, kayan aiki, da allon sarrafawa — kuma lokacin da maɓalli ɗaya ya kamata ya yi aiki fiye da ɗaya, kuna buƙatar dabarar juyawa. Wannan aikin yana nuna muku yadda ake sa maɓallin turawa ɗaya ya kunna LED da latsa na farko kuma ya kashe da na gaba, don haka hasken ya tsaya daidai inda kuka bar shi. Wannan halin "latsa sau ɗaya don kulle, latsa kuma don saki" shine tushen kusan kowane maɓallin menu, maɓallin wuta, da mai zaɓin yanayi da za ku taɓa ginawa.

LED with resistor on breadboard connected to Arduino with a push button
LED with resistor on breadboard connected to Arduino with a push button

Da zarar kun fahimci juyawa, wannan tsarin lambar yana haɓaka zuwa kayan aiki na gaske. Kuna iya amfani da shi don:

  • Canza relay wanda ke sarrafa fitilar AC ko hasken tebur daga maɓallin panel ɗaya.
  • Fara da dakatar da mota ko famfo da maɓalli ɗaya maimakon biyu.
  • Juya ta yanayin aiki a kan na'ura (misali, a hankali / sauri / kashe).
  • Gina ƙararrawa mai kullewa wanda ke ci gaba da kasancewa a kunne har sai wani ya amince da shi.
  • Ƙirƙiri maɓallin shiru don aikin sauti wanda ke tunawa da yanayinsa.
  • Yi aiki azaman maɓallin wuta mai laushi don na'urar da ke aiki da baturi, maye gurbin maɓallin inji.

Malamin ya lura da wannan batu kai tsaye a cikin bidiyon (a cikin bidiyo a 19:52): aikin ba game da LED ba ne kwata-kwata — game da dabarar juyawa ne, wanda zaku iya nuna wa relay, direban mota, ko wani fitarwa.

LED-5mm-green

Kayan Aiki da Abubuwan Haɗi

Jerin sassan da gangan ƙanƙanta ne, don haka wannan babban aiki ne idan kuna farawa. Kuna buƙatar:

  • Allon Arduino — Uno, Nano, ko Mega duk suna aiki.
  • LED ɗaya, 3 mm ko 5 mm, kowane launi.
  • Resistor ɗaya don LED, ko'ina daga 200 Ω zuwa 1000 Ω. Rubutun yana bayyana dalilin (a cikin bidiyo a 03:49): LED yana sauke kusan 2 V kuma yana jan kusan 10 mA, don haka tare da wutar lantarki 5 V sauran 3 V dole ne resistor ya sauke. Dokar Ohm tana ba da 3 V ÷ 0.01 A = 300 Ω, kuma kowane abu daga 300 Ω zuwa 1000 Ω zai yi aiki — ƙimar mafi girma kawai tana sa LED ɗin ya yi duhu.
  • Maɓallin turawa ɗaya. Bidiyon yana nuna duka ƙaramin nau'in tactile mai fil huɗu da sigar fil mai tsawo (a cikin bidiyo a 12:43). Idan ba ku da maɓallin turawa, maɓalli na yau da kullun yana aiki kuma — kawai nemo tashoshi biyu waɗanda ke yin da karya da'ira.
  • Breadboard da wasu wayoyi na DuPont.

Shawara mai amfani daga bidiyon (a cikin bidiyo a 07:50): maɓallin tactile mai fil huɗu yana da nau'i biyu na fil ɗin da aka haɗa a ciki. Yi amfani da multimeter a yanayin ci gaba don nemo fil ɗin da suke yin ƙara tare — waɗannan su ne gefe ɗaya na maɓallin. Haɗa gefe ɗaya zuwa fil ɗin shigarwa ɗayan kuma zuwa ƙasa.

Jagorar Haɗi

Arduino schematic for LED with a push button switch
Arduino schematic for LED with a push button switch
Arduino wiring for LED with a push button switch
Arduino wiring for LED with a push button switch

Haɗin yana daidai da na'urorin LED mai sauƙi da maɓallin turawa, tare da ƙara maɓallin a saman. Anode na LED (ƙafar da ta fi tsayi) yana zuwa fil ɗin 3, kuma cathode ɗinsa (ƙafar da ta fi guntu, a gefen lebur na jiki) yana haɗa ta resistor zuwa ƙasa. Maɓallin turawa yana haɗa tsakanin fil ɗin 2 da ƙasa — babu wani abu da ake buƙata, saboda lambar tana kunna resistor ɗin ciki na Arduino.

Wannan pull-up na ciki ya cancanci fahimta: ba tare da shi ba, fil ɗin shigarwa mai iyo zai karanta amo bazuwar. Kunna INPUT_PULLUP yana riƙe fil ɗin a 5 V yayin da maɓallin a buɗe yake, kuma latsa maɓallin yana ja shi ƙasa zuwa 0 V. Wannan shine dalilin da yasa lambar ke ɗaukar karatun LOW a matsayin "an latsa" — dabarar tana jujjuya idan aka kwatanta da maɓalli na fili zuwa ƙasa tare da resistor na waje.

Bayanin Lambar

Cikakken zane yana samuwa a ƙasan wannan labarin. Anan za mu mai da hankali kan sassan da za ku so ku canza.

A saman fayil ɗin, an bayyana ayyukan fil ɗin biyu a matsayin constants. Idan kun motsa wayoyinku zuwa fil ɗin daban, wannan shine kawai wurin da kuke buƙatar gyara:

const int pushButtonPin = 2;//define a pin number for push button
const int LEDPin = 3;//define a pin that is connected to LED

Na gaba akwai masu canjin yanayi guda uku. Ba kwa buƙatar canza waɗannan yawanci, amma yana taimakawa sanin abin da suke yi:

int pushButtonStatus = 0; // push value from pin 2
int lightStatus = 0;//light status
int pushed = 0;//push status

pushButtonStatus tana adana karatun danyen matsayin filin maɓallin a duk lokacin da ake zagayowar. lightStatus tana tunawa da abin da filin maɓallin ya karanta a zagayen da ya gabata, wanda shine yadda sketch ɗin ke gano lokacin sabon latsawa maimakon amsawa akai-akai. pushed ita ce ainihin alamar juyawa — tana juyawa tsakanin 0 da 1 kuma tana yanke shawarar ko LED ɗin ya kamata ya kasance a kunne ko a kashe.

Juyawar da kanta ana yin ta da wata dabarar lissafi mai kyau (a bidiyo a 18:30). Cire alamar daga ɗaya yana juya ta: 1 - 0 yana bada 1, kuma 1 - 1 yana bada 0. Don haka layi ɗaya yana juya yanayin duk lokacin da aka gano sabuwar latsawa:

pushed = 1-pushed;//toggle the pushed value
delay(100);//give some time for finger to press

Jinkirin 100 ms yana nan don bari yatsanka ya tashi daga maɓallin. Ba tare da shi ba, latsawa ɗaya ta jiki za a iya lissafta ta sau da yawa. Idan maɓallinka yana jin ba shi da tabbaci ko yatsanka yana girgiza, ƙara wannan ƙimar (a bidiyo a 40:39).

Sharuɗɗan da ke haifar da juyawa shine mabuɗin dukan sketch ɗin. Yana aiki ne kawai lokacin da maɓallin ba a latsa shi ba (HIGH, saboda pull-up) kuma karatun da ya gabata ya kasance LOW — ma'ana an saki maɓallin ne kawai bayan latsawa:

if(pushButtonStatus == HIGH && lightStatus == LOW){
  pushed = 1-pushed;//toggle the pushed value
  delay(100);//give some time for finger to press
}

A ƙarshe, ana tafiyar da LED ɗin daga alamar juyawa, kuma ana ajiye karatun maɓallin na yanzu don kwatancen gaba:

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
}

Hakanan zaka iya buɗe Serial Monitor a 9600 baud don kallon saƙonnin "Light ON" da "Light OFF" yayin da kake latsa maɓallin.

Nuni Kai Tsaye

A cikin bidiyon (a bidiyo a 19:41) zaka iya ganin halin da ake ciki: latsawa ta farko tana kunna LED ɗin kuma yana ci gaba da kasancewa a kunne bayan an saki yatsan. Latsawa ta gaba tana kashe shi, kuma yana ci gaba da kasancewa a kashe. Babu buƙatar riƙe maɓallin, wanda shine ainihin bambanci tsakanin wannan aikin da mafi sauƙi na "riƙe don haske" wanda aka yi bayani a Daras 98-2: Yadda ake Kunna da Kashe LED ta Amfani da Maɓallin Turawa da Arduino.

Bidiyon ya kuma nuna cewa zaka iya musanya LED ɗin da relay module don canza na'urorin da ke amfani da wutar lantarki ta babban layi, ko da injin tuƙi don fara da tsayar da inji. Dabarar juyawa ba ta canzawa — kawai na'urar fitarwa ce ke canzawa.

Sauran bambance-bambancen da aka nuna a cikin wannan bidiyon — dimmawa LED, tsarin seesaw, hasken tafiya, ma'aunin wutar lantarki, da hasken zirga-zirga — kowannensu an yi bayani a cikin nasa darussan, waɗanda aka haɗa a ƙasa.

Ayyukan da suka danganci wannan bidiyon

Babi

  • [00:00] Bayanin ayyukan LED guda 10
  • [01:00] Gabatarwa ga kwas ɗin Arduino mataki-mataki
  • [02:29] Tushen LED: alama, anode, cathode, da lissafin resistor
  • [05:53] Aiki na 1: Kunna da kashe LED
  • [12:43] Aiki na 2: Maɓallin turawa yana sarrafa LED
  • [17:13] Aiki na 3: Maɓallin turawa yana juyawa LED kunne da kashe
  • [20:12] Aiki na 4: Dimmawa LED
  • [23:20] Aiki na 5: Dimmawa LED da maɓallin turawa
  • [27:32] Aiki na 6: Seesaw da LED biyu
  • [30:47] Aiki na 7: Hasken tafiya da LED biyar
  • [36:41] Aiki na 8: Hasken tafiya mai ci gaba da maɓallin turawa
  • [42:25] Aiki na 9: Ma'aunin matakin wutar lantarki na LED da potentiometer
  • [49:25] Aiki na 10: Hasken zirga-zirga na Arduino

Hotuna

push-button-and-finger
push-button-and-finger
Arduino schematic for LED
Arduino schematic for LED
Arduino wiring for LED with a push button switch
Arduino wiring for LED with a push button switch
Arduino schematic for LED with a push button switch
Arduino schematic for LED with a push button switch
LED-5mm-green
LED-5mm-green
LED with resistor on breadboard connected to Arduino with a push button
LED with resistor on breadboard connected to Arduino with a push button
935-Lessson 98-LED-3: Arduino code push button toggles LED ON/OFF
Harshe: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Fayiloli📁

Littattafan Arduino (zip)

Jagoran Mai Amfani