Me yasa ake amfani da resistors tare da maɓallan turawa da switches tare da Arduino
Wannan darasi ya bayyana dalilin da yasa yin amfani da resistor tare da maɓallan turawa da switches da aka haɗa zuwa Arduino ke da muhimmanci ga ingantaccen aiki. Fahimtar wannan ra'ayi yana da tushe ga kowane aikin Arduino da ya shafi shigar da mai amfani. Wannan ilimin yana hana halayen da ba zato ba tsammani kuma yana tabbatar da cewa ayyukanku suna aiki daidai. Ga wasu ra'ayoyin ayyuka inda wannan ilimin ke da muhimmanci:- Maɓallin kunnawa/kashewa mai sauƙi don LED
- Mai sarrafa wasan motsa jiki mai mu'amala
- Remote control don kayan gida
- Tsarin tsaro tare da kunnawa ta maɓallin turawa
Bari mu bincika dalilan da ke bayan amfani da resistors a cikin waɗannan da'irori.

Kayan aiki/Abubuwan da ake buƙata
Abubuwan da ake buƙata don wannan aikin ba su da yawa: allo na Arduino, maɓallin turawa, da resistor (fiye da 300 ohms). Ƙimar resistor ba ta da muhimmanci; ƙimomi kamar 1kΩ, 10kΩ, ko ma 100kΩ za su yi aiki da kyau gabaɗaya (a cikin bidiyo a 00:41).
Jagorar Haɗin Waya
Akwai manyan hanyoyin haɗin waya guda biyu (a cikin bidiyo a 00:30):
- Tsari na 1: Haɗa maɓallin turawa tsakanin fil ɗin Arduino da +5V. Ɗayan gefen maɓallin turawa an haɗa shi zuwa ƙasa ta hanyar resistor. Lokacin da aka danna maɓallin, fil ɗin yana karanta HIGH; lokacin da aka sake shi, yana karanta LOW.
- Tsari na 2: Haɗa maɓallin turawa tsakanin fil ɗin Arduino da ƙasa. Ɗayan gefen maɓallin turawa an haɗa shi zuwa +5V ta hanyar resistor. Lokacin da aka danna maɓallin, fil ɗin yana karanta LOW; lokacin da aka sake shi, yana karanta HIGH.
Zane na haɗin waya na gani zai zama da amfani a nan.
Bayanin Lambar
Lambar Arduino tana amfani da aikin pinMode() don saita fil ɗin a matsayin shigarwa. Babban abu shine amfani da INPUT_PULLUP (a cikin bidiyo a 04:06, 04:23). Wannan resistor na ciki na pull-up yana kawar da buƙatar resistor na waje a wasu tsare-tsare, yana sauƙaƙa haɗin waya. Aikin digitalRead() yana karanta yanayin fil ɗin, kuma bayanin if-else mai sauƙi yana tantance ko an danna maɓallin (LOW) ko ba a danna shi ba (HIGH) (a cikin bidiyo a 08:34).
pinMode(2, INPUT_PULLUP); // Yana saita fil 2 a matsayin shigarwa tare da resistor na ciki na pull-up
int pushButton = digitalRead(2); // Yana karanta yanayin fil 2
if (pushButton == LOW) {
// An danna maɓallin
} else {
// Ba a danna maɓallin ba
}
Aikin Kai Tsaye/Nunawa
Bidiyon yana nuna duka tsare-tsaren haɗin waya da halayensu. Yana nuna matsalolin da zasu iya tasowa idan ba a yi amfani da resistor ba, kamar karatun da ba daidai ba saboda hayaniya da haɗin capacitive (a cikin bidiyo a 06:18, 06:39, 07:21). Nunin yana nuna a sarari ingantaccen aiki mai kwanciyar hankali da aka samu tare da resistor a wurin (a cikin bidiyo a 08:08).
Babuka
- [00:00] Gabatarwa
- [00:30] Tsare-tsaren Haɗin Waya
- [04:12] Bayanin Lambar ta amfani da INPUT_PULLUP
- [05:36] Cire Resistor: Nunawa Aiki
- [08:33] Bayanin Lambar
Hotuna
/*
* This is an Arduino Sketch for a tutorial video
* explaining why a resistor is needed to be used with a push button
* with Arduino.
*
* Written by Ahmad Shamshiri on July 17, 2018 at 23:11 in Ajax, Ontario, Canada
* For Robojax.com
* Watch the instruction video for this code: https://youtu.be/TTqoKcpIWkQ
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
*/
void setup() {
// Robojax.com push button tutorial
pinMode(3,INPUT_PULLUP);
Serial.begin(9600);
Serial.println("Robojax Push Button Tutorial");
}
void loop() {
// Robojax.com push button tutorial
int pushButton = digitalRead(3);
if(pushButton == LOW)
{
Serial.println("Pin 3 LOW");
}else{
Serial.println("Pin 3 HIGH");
}
delay(500);
}
/*
* This is an Arduino Sketch for a Tutorial video
* explaining why a resistor is needed to be used with a push button
* with an Arduino to connect the pin to Ground (GND)
*
* Written by Ahmad Shamshiri on July 18, 2018 at 17:36 in Ajax, Ontario, Canada
* For Robojax.com
* Watch the instruction video for this code: https://youtu.be/TTqoKcpIWkQ
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
*/
void setup() {
// Robojax.com push button tutorial
pinMode(2,INPUT_PULLUP);
Serial.begin(9600);
Serial.println("Robojax Push Button Tutorial");
}
void loop() {
// Robojax.com push button tutorial
int pushButton = digitalRead(2);
if(pushButton == LOW)
{
Serial.println("Button is pushed.");
}else{
Serial.println("Button is NOT pushed.");
}
delay(500);
}
Abin da zaka iya bukata
-
Amazon
Albarkatun da kuma shafukan da za a duba
Babu kayan aiki tukuna.
Fayiloli📁
Babu fayiloli da ake da su.
