ARTE
BELEZA E BEM-ESTAR
ARTESANATO
CULTURA E HISTÓRIA
ENTRETENIMENTO
MEIO AMBIENTE
COMIDA E BEBIDAS
FUTURO VERDE
ENGENHARIA REVERSA
CIÊNCIAS
ESPORTES
TECNOLOGIA
TECNOLOGIA VESTÍVEL
Push Buttons — SIK Circuit 5
Ed

Criado por

Ed

17. March 2026

Push Buttons — SIK Circuit 5

Use two push buttons for digital input. Learn about digitalRead(), pull-up resistors, and boolean logic (AND, OR, NOT) to control an LED.

Instruções

1

Parts & Introduction

Push buttons are the simplest digital input. This experiment uses two buttons with an XOR logic gate: the LED turns on if you press either button, but turns off if you press both. You'll learn about digitalRead(), pull-up resistors, and boolean logic.

Parts Needed

  • 1x Arduino Uno + USB cable
  • 1x Breadboard
  • 2x Push Buttons
  • 1x LED (any color)
  • 1x 330Ω Resistor
  • 2x 10KΩ Resistors (pull-ups)
  • 7x Jumper Wires
2

Hardware Hookup

Wiring Instructions

  1. Place both push buttons across the center canyon of the breadboard.
  2. Button 1: Connect one pin to GND. Connect the opposite diagonal pin to Arduino Digital Pin 2. Add a 10K resistor between Pin 2 and 5V (pull-up).
  3. Button 2: Connect one pin to GND. Connect the opposite diagonal pin to Arduino Digital Pin 3. Add a 10K resistor between Pin 3 and 5V (pull-up).
  4. Connect LED positive leg to Digital Pin 13, negative leg through 330Ω resistor to GND.

Note: The pull-up resistors hold the input HIGH when the button is not pressed. Pressing the button connects the pin to GND (LOW).

3

Arduino Code

Open the Arduino IDE and upload the following sketch to your Arduino board.

push_buttons.inoarduino
/*
SparkFun Inventor's Kit
Example sketch 05 — PUSH BUTTONS

Use pushbuttons for digital input.
LED on if pressing button 1 OR button 2, but not both (XOR).

Hardware connections:
  Button 1: one pin to GND, diagonal pin to digital pin 2
            10K pullup resistor between pin 2 and 5V
  Button 2: one pin to GND, diagonal pin to digital pin 3
            10K pullup resistor between pin 3 and 5V
  LED: positive to pin 13, negative through 330 ohm to GND

This code is completely free for any use.
*/

const int button1Pin = 2;
const int button2Pin = 3;
const int ledPin = 13;

void setup()
{
  pinMode(button1Pin, INPUT);
  pinMode(button2Pin, INPUT);
  pinMode(ledPin, OUTPUT);
}

void loop()
{
  int button1State, button2State;

  button1State = digitalRead(button1Pin);
  button2State = digitalRead(button2Pin);

  // XOR logic: on if either pressed, off if both pressed
  if (((button1State == LOW) || (button2State == LOW))
      && !
      ((button1State == LOW) && (button2State == LOW)))
  {
    digitalWrite(ledPin, HIGH);
  }
  else
  {
    digitalWrite(ledPin, LOW);
  }
}
4

Test & Experiment

What You Should See

The LED turns on when you press either button individually. It turns off when you press both buttons simultaneously (XOR logic).

Troubleshooting

  • Not responding: Push buttons are square — it's easy to put them in the wrong orientation. Try rotating 90°.
  • LED always on or always off: Check the pull-up resistor connections. Without them, the input pin floats and reads random values.

Experiments to Try

  • Change the logic to AND (both buttons required) or simple OR.
  • Use the buttons to control an RGB LED — one button for color, one for brightness.
  • Try using INPUT_PULLUP mode to eliminate the external resistors.

Materiais

  • SparkFun Inventor's Kit - V3.2 - 1 kitNOK 999.20
    Ver
  • Arduino Uno R3 - 1 pieceReferência
    Ver
  • Breadboard - 1 pieceReferência
    Ver
  • Push Button - 2 piecessNOK 11.20
    Ver
  • 5mm LED - 1 pieceReferência
    Ver
  • 330 Ohm Resistor - 1 pieceNOK 24.00
    Ver
  • 10K Ohm Resistor - 2 piecessNOK 24.00
    Ver
  • Jumper Wires - 7 piecessNOK 39.20
    Ver

Ferramentas necessárias

  • Computer with Arduino IDE

CC0 Domínio Público

Este blueprint é liberado sob CC0. Você é livre para copiar, modificar, distribuir e usar este trabalho para qualquer finalidade, sem pedir permissão.

Apoie o Maker comprando produtos através do Blueprint, onde ele ganha uma Comissão Maker definida pelos vendedores, ou crie uma nova versão deste Blueprint e inclua-o como conexão no seu próprio Blueprint para compartilhar receita.

Discussão

(0)

Entrar para participar da discussão

Carregando comentários...