Caută cod

Cod Arduino pentru un buton de apăsat pentru a aprinde și stinge un LED

Cod Arduino pentru un buton de apăsat pentru a aprinde și stinge un LED

Acest tutorial te va ghida prin procesul de utilizare a unui buton pentru a controla un LED, aprinzându-l când butonul este apăsat și stingându-l când este eliberat. Acest proiect simplu este perfect pentru începătorii absoluți care doresc să dobândească experiență practică cu programarea Arduino și componente electronice de bază.

Pe parcursul acestui ghid, vom acoperi componentele hardware necesare, instrucțiunile de cablare și codul Arduino de care vei avea nevoie pentru a-ți aduce proiectul la viață. Dacă vrei să vezi acest lucru în acțiune, asigură-te că verifici videoclipul pentru clarificări vizuale (în videoclip la 00:00).

Hardware Explicat

Principalele componente necesare pentru acest proiect includ un LED, un buton, un rezistor și o placă Arduino. LED-ul (diodă emitentă de lumină) are două fire: cel mai lung este anodul (pozitiv), iar cel mai scurt este catodul (negativ). Butonul poate avea fie două, fie patru pini, permițând conectarea a două fire cu o singură apăsare sau doar a unui singur fir.

Arduino wiring for Push button wihthout resistor

Rezistorul, de obicei în jur de 680 ohmi, este folosit pentru a limita curentul care trece prin LED pentru a preveni arderea acestuia. Când butonul este apăsat, acesta conectează pinul de intrare de pe Arduino la masă, permițându-ne să citim starea acestuia și să controlăm LED-ul în consecință.

Detalii din Fișa Tehnică

ProducătorGeneric
Număr de piesăLED, Buton, Rezistor
Tensiunea directă a LED-ului2.0-3.3 V (tip.)
Curentul direct al LED-ului20 mA (max)
Valoarea rezistorului680 Ω
Tensiunea nominală a butonului12 V (max)

  • Folosește un rezistor de limitare a curentului pentru LED (de obicei 680 ohmi).
  • Asigură polaritatea corectă atunci când conectezi LED-ul.
  • Conectează butonul la masă pentru a-i citi starea corect.
  • Utilizează rezistențe interne de pull-up pentru a elimina necesitatea rezistențelor externe.
  • Testează conexiunile înainte de a alimenta Arduino-ul.

Instrucțiuni de Cablare

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

Pentru a cabla circuitul, conectează piciorul mai lung al LED-ului (anodul) la o breadboard și apoi leagă-l la pinul 10 de pe Arduino folosind un fir galben. Piciorul mai scurt (catodul) trebuie conectat la un capăt al unui rezistor de 680 ohmi, iar celălalt capăt al rezistorului conectat la magistrala de masă de pe breadboard.

Pentru buton, introdu-l în breadboard cu un pin conectat la masă. Conectează un alt pin al butonului la pinul 2 de pe Arduino folosind un fir portocaliu. În final, asigură-te că pinii de masă și 5V ai Arduino-ului sunt conectați la magistralele respective de masă și pozitiv de pe breadboard pentru a alimenta componentele.

Exemple de Cod și Explicații

Codul Arduino constă din două funcții principale: setup() și loop(). În funcția setup(), definim modurile pinilor pentru buton și LED. Iată fragmentul relevant:

void setup() {
  pinMode(2, INPUT_PULLUP);// definește pinul doi ca intrare pentru buton
  pinMode(10, OUTPUT);// definește pinul 10 ca ieșire
}

În funcția loop(), citim continuu starea butonului și controlăm LED-ul în consecință. Următorul fragment arată cum citim starea butonului:

void loop() {
  int pushed = digitalRead(2);// citește pinul 2 și pune rezultatul în variabila "pushed"
  if(pushed == LOW){
    digitalWrite(10, HIGH);// setează pinul 10 la HIGH (îi dă 5v)
  }else{
    digitalWrite(10, LOW);// setează pinul 10 la low sau zero volți
  }
}

Acest cod verifică dacă butonul este apăsat (stare LOW) și aprinde LED-ul trimițând un semnal HIGH la pinul 10. Când butonul este eliberat, setează pinul 10 la LOW, stingând LED-ul. Codul complet este încărcat mai jos, după articol, pentru referință.

Demonstrație / Ce să Te Aștepți

Când apeși butonul, LED-ul ar trebui să se aprindă, iar când îl eliberezi, LED-ul ar trebui să se stingă. Această interacțiune simplă demonstrează cum funcționează intrarea și ieșirea digitală în programarea Arduino. Capcanele comune includ cablarea incorectă sau nepăsarea folosirii unui rezistor de limitare a curentului cu LED-ul, ceea ce l-ar putea deteriora (în videoclip la 04:00).

Marcaje Temporale din Video

  • 00:00 - Introducere și Prezentarea Proiectului
  • 01:30 - Explicația Componentelor Hardware
  • 03:00 - Instrucțiuni de Cablare
  • 05:00 - Explicația Codului
  • 06:30 - Demonstrație

Imagini

Arduino wriring for push button and LED
Arduino wriring for push button and LED
LED in series with a resistor
LED in series with a resistor
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
33-Arduino code to use push button key
Limba: C++
/*
 * This is the Arduino code for a push button to turn an LED ON and OFF.
 * The output pin 10 is connected to a relay.
 * Watch video instructions on YouTube: http://youtu.be/2WwedCRwmgA
 * get code and wiring https://robojax.com/RJT21

 * 
 * Written by Ahmad Shamshiri for Robojax Video, www.Robojax.com

 * Permission granted to share this code, given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 Be careful working with AC; it is dangerous. Disconnect from AC power when working and wear protective gloves when touching AC components.
 * https://robojax.com
 * 
 */

void setup() {
  
  pinMode(2, INPUT_PULLUP);// define pin two as input for push button
  pinMode(10, OUTPUT);// define pin 10 as output
}

void loop() {
  
  int pushed= digitalRead(2);// read pin 2 and put the result in the "pushed" variable
  if(pushed== LOW){
    digitalWrite(10, HIGH);// if pushed is equal LOW, turn the pin 10 HIGH (give it 5v)
  }else{
    digitalWrite(10, LOW);// else set pin 10 to low or zero volt
  }
}

Resurse și referințe

Încă nu sunt resurse.

Fișiere📁

Nu sunt disponibile fișiere.