Soek Kode

Arduino-kode vir 'n druk-knoppie om 'n LED aan en af te skakel

Arduino-kode vir 'n druk-knoppie om 'n LED aan en af te skakel

Hierdie tutoriaal sal jou deur die proses lei om 'n drukknoppie te gebruik om 'n LED te beheer, deur dit aan te skakel wanneer die knoppie gedruk word en af te skakel wanneer dit losgelaat word. Hierdie eenvoudige projek is perfek vir absolute beginners wat praktiese ervaring met Arduino-programmering en basiese elektroniese komponente wil opdoen.

Deur hierdie gids sal ons die nodige hardeware-komponente, bedradingsinstruksies en die Arduino-kode dek wat jy nodig het om jou projek tot lewe te bring. As jy dit in aksie wil sien, maak seker dat jy die video vir visuele verduideliking kyk (in video by 00:00).

Hardeware Verduidelik

Die hoofkomponente wat vir hierdie projek benodig word, sluit 'n LED, 'n drukknoppie, 'n resistor en 'n Arduino-bord in. Die LED (Light Emitting Diode) het twee drade: die langer een is die anode (positief), en die korter een is die katode (negatief). Die drukknoppie kan óf twee óf vier penne hê, wat dit moontlik maak om twee drade met 'n enkele druk of net een draad te verbind.

Arduino wiring for Push button wihthout resistor

Die resistor, tipies rondom 680 ohm, word gebruik om die stroom wat deur die LED vloei te beperk om te voorkom dat dit uitbrand. Wanneer die drukknoppie gedruk word, verbind dit die insetpen op die Arduino met grond, wat ons in staat stel om die toestand daarvan te lees en die LED dienooreenkomstig te beheer.

Datablad Besonderhede

VervaardigerGeneries
DeelnommerLED, Drukknoppie, Resistor
LED Voorwaartse Spanning2.0-3.3 V (tip.)
LED Voorwaartse Stroom20 mA (maks)
Resistor Waarde680 Ω
Drukknoppie Spanninggradering12 V (maks)

  • Gebruik 'n stroombeperkende resistor vir die LED (tipies 680 ohm).
  • Maak seker die polariteit is korrek wanneer jy die LED verbind.
  • Verbind die drukknoppie aan grond om die toestand daarvan korrek te lees.
  • Gebruik inset-opwaartse resistors om die behoefte aan eksterne resistors uit te skakel.
  • Toets jou verbindings voordat jy die Arduino van krag voorsien.

Bedradingsinstruksies

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

Om die stroombaan te bedraad, verbind die langer been van die LED (anode) aan 'n broodbord en koppel dit dan aan pen 10 op die Arduino met 'n geel draad. Die korter been (katode) moet aan een punt van 'n 680-ohm resistor verbind word, met die ander punt van die resistor verbind aan die grondrail op die broodbord.

Vir die drukknoppie, plaas dit in die broodbord met een pen verbind aan grond. Verbind 'n ander pen van die drukknoppie aan pen 2 op die Arduino met 'n oranje draad. Maak laastens seker dat die Arduino se grond- en 5V-penne aan die onderskeie grond- en positiewe rails op die broodbord verbind is om die komponente van krag te voorsien.

Kode Voorbeelde & Deurloop

Die Arduino-kode bestaan uit twee hoof funksies: setup() en loop(). In die setup()-funksie definieer ons penmodusse vir die knoppie en die LED. Hier is die relevante uittreksel:

void setup() {
  pinMode(2, INPUT_PULLUP);// definieer pen twee as inset vir drukknoppie
  pinMode(10, OUTPUT);// definieer pen 10 as uitset
}

In die loop()-funksie lees ons voortdurend die toestand van die knoppie en beheer die LED dienooreenkomstig. Die volgende uittreksel wys hoe ons die knoppie-toestand lees:

void loop() {
  int pushed = digitalRead(2);// lees pen 2 en plaas die resultaat in die "pushed" veranderlike
  if(pushed == LOW){
    digitalWrite(10, HIGH);// stel pen 10 HOOG (gee dit 5v)
  }else{
    digitalWrite(10, LOW);// stel pen 10 na laag of nul volt
  }
}

Hierdie kode kontroleer of die knoppie gedruk is (LAAG-toestand) en skakel die LED aan deur 'n HOË sein na pen 10 te stuur. Wanneer die knoppie losgelaat word, stel dit pen 10 na LAAG, wat die LED afskakel. Die volle kode laai onder die artikel vir jou verwysing.

Demonstrasie / Wat om te Verwag

Wanneer jy die knoppie druk, moet die LED aangaan, en wanneer jy dit loslaat, moet die LED afskakel. Hierdie eenvoudige interaksie demonstreer hoe digitale inset en uitset in Arduino-programmering werk. Algemene slaggate sluit in verkeerde bedrading of die nie-gebruik van 'n stroombeperkende resistor met die LED, wat dit kan beskadig (in video by 04:00).

Video Tydstempels

  • 00:00 - Inleiding en Projekoorsig
  • 01:30 - Hardeware-komponente Verduideliking
  • 03:00 - Bedradingsinstruksies
  • 05:00 - Kode Deurloop
  • 06:30 - Demonstrasie

Beelde

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
Taal: 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
  }
}

Hulpbronne en verwysings

Geen hulpbronne nog.

Lêers📁

Geen lêers beskikbaar.