Кодты іздеу

Неге Arduino-мен түймелер мен қосқыштарда резисторларды қолдану керек

Неге Arduino-мен түймелер мен қосқыштарда резисторларды қолдану керек

Бұл оқу құралы Arduino-ға қосылған түймелер мен ауыстырғыштармен резисторды қолданудың сенімді жұмыс үшін неліктен маңызды екенін түсіндіреді. Бұл тұжырымдаманы түсіну пайдаланушы енгізуін қамтитын кез келген Arduino жобасы үшін негізгі болып табылады. Бұл білім күтпеген мінез-құлықтың алдын алады және жобаларыңыздың дұрыс жұмыс істеуін қамтамасыз етеді. Міне, осы білім қажет болатын кейбір жоба идеялары:

  • Жарықдиод үшін қарапайым қосу/өшіру ауыстырғышы
  • Интерактивті ойын контроллері
  • Тұрмыстық құрылғыларға арналған қашықтан басқару пульті
  • Түйме арқылы іске қосылатын қауіпсіздік жүйесі

Осы тізбектерде резисторларды қолданудың себептерін қарастырайық.

Arduino wiring for Push button wihthout resistor

Аппараттық құрал/Компоненттер

Бұл жоба үшін қажетті негізгі компоненттер аз: Arduino тақтасы, түймелі ауыстырғыш және резистор (300 Ом-нан жоғары). Резистордың мәні маңызды емес; 1кОм, 10кОм немесе тіпті 100кОм сияқты мәндер әдетте жақсы жұмыс істейді (бейнеде 00:41).

Сым қосу нұсқаулығы

Екі негізгі сым қосу конфигурациясы бар (бейнеде 00:30):

  1. 1-конфигурация: Түймені Arduino түйреуіші мен +5V арасына қосыңыз. Түйменің екінші жағы резистор арқылы жерге қосылады. Түйме басылғанда, түйреуіш HIGH мәнін оқиды; босатылғанда, LOW мәнін оқиды.
  2. 2-конфигурация: Түймені Arduino түйреуіші мен жер арасына қосыңыз. Түйменің екінші жағы резистор арқылы +5V-қа қосылады. Түйме басылғанда, түйреуіш LOW мәнін оқиды; босатылғанда, HIGH мәнін оқиды.

Arduino wriring for push button and LED
Arduino wriring for push button and LED

Мұнда көрнекі сым қосу диаграммасы пайдалы болар еді.

Кодты түсіндіру

Arduino коды түйреуішті кіріс ретінде конфигурациялау үшін pinMode() функциясын пайдаланады. Ең маңызды бөлігі - INPUT_PULLUP қолдану (бейнеде 04:06, 04:23). Бұл ішкі тарту резисторы белгілі бір конфигурацияларда сыртқы резистор қажеттілігін жояды, сым қосуды жеңілдетеді. digitalRead() функциясы түйреуіштің күйін оқиды, ал қарапайым if-else операторы түйменің басылғанын (LOW) немесе басылмағанын (HIGH) анықтайды (бейнеде 08:34).


pinMode(2, INPUT_PULLUP); // 2-түйреуішті ішкі тарту резисторымен кіріс ретінде конфигурациялайды
int pushButton = digitalRead(2); // 2-түйреуіштің күйін оқиды
if (pushButton == LOW) {
  // Түйме басылған
} else {
  // Түйме басылмаған
}

Тірі жоба/Демонстрация

Бейне екі сым қосу конфигурациясын және олардың тиісті мінез-құлқын көрсетеді. Ол резисторды алып тастағанда туындайтын мәселелерді, мысалы, шу мен сыйымдылық байланысынан туындаған тұрақсыз көрсеткіштерді ерекше атап көрсетеді (бейнеде 06:18, 06:39, 07:21). Демонстрация резистор орнында болғанда қол жеткізілетін тұрақты және сенімді жұмысты анық көрсетеді (бейнеде 08:08).

Бөлімдер

  • [00:00] Кіріспе
  • [00:30] Сым қосу конфигурациялары
  • [04:12] INPUT_PULLUP қолдану арқылы кодты түсіндіру
  • [05:36] Резисторды алып тастау: Практикалық демонстрация
  • [08:33] Кодты түсіндіру

Суреттер

Why should we use a resistor with a push button and Arduino?
Why should we use resistor with push button with Arduino?
Why should we use a resistor with a push button and Arduino?
Why should we use resistor with push button with Arduino?
2 pin tactile push button switch
2 pin tactile push button switch
Arduino wriring for push button and LED
Arduino wriring for push button and LED
Arduino wiring for Push button with resistor-2
Arduino wiring for Push button with resistor-2
Arduino wiring for Push button with resistor-1
Arduino wiring for Push button with resistor-1
Arduino wiring for Push button wihthout resistor
Arduino wiring for Push button wihthout resistor
132-Code example using a resistor
Тіл: C++
/*
 * 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);
}
133-Code example using INPUT_PULLUP without a resistor
Тіл: C++
/*
 * 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);
}

Сізге қажет болуы мүмкін нәрселер

Ресурстар мен сілтемелер

Әлі ресурстар жоқ.

Файлдар📁

Файлдар жоқ.