5V (VCC)
|----[Botón 1]----> Pin 2 (Arduino) -----> GND (con 10kΩ resistencia pull-down)
|----[Botón 2]----> Pin 3 (Arduino) -----> GND (con 10kΩ resistencia pull-down)
|----[Botón 3]----> Pin 4 (Arduino) -----> GND (con 10kΩ resistencia pull-down)
|----[Botón 4]----> Pin 5 (Arduino) -----> GND (con 10kΩ resistencia pull-down)
|
|----[Botón 5]----> Pin 6 (Arduino) -----> GND (con 10kΩ resistencia pull-down)
|----[Botón 6]----> Pin 7 (Arduino) -----> GND (con 10kΩ resistencia pull-down)
|----[Botón 7]----> Pin 8 (Arduino) -----> GND (con 10kΩ resistencia pull-down)
Pin 9 (Arduino) ---> [LED 1] ---> 220Ω resistencia ---> GND
Pin 10 (Arduino) ---> [LED 2] ---> 220Ω resistencia ---> GND
Pin 11 (Arduino) ---> [LED 3] ---> 220Ω resistencia ---> GND
Pin 12 (Arduino) ---> [LED 4] ---> 220Ω resistencia ---> GND
Pin 13 (Arduino) ---> [LED 5] ---> 220Ω resistencia ---> GND
Pin A0 (Arduino) ---> [LED 6] ---> 220Ω resistencia ---> GND
Pin A1 (Arduino) ---> [LED 7] ---> 220Ω resistencia ---> GND
código
// Definir los pines de los botones
const int botones[] = {2, 3, 4, 5, 6, 7, 8}; // Array para los botones
const int leds[] = {9, 10, 11, 12, 13, A0, A1}; // Array para los LEDs
void setup() {
// Configuración de los pines de los botones como entradas con pull-up
for (int i = 0; i < 7; i++) {
pinMode(botones[i], INPUT_PULLUP); // Usar resistencia pull-up interna
pinMode(leds[i], OUTPUT); // Configuración de los pines de los LEDs como salidas
digitalWrite(leds[i], LOW); // Asegurarse de que todos los LEDs estén apagados al inicio
void loop() {
// Leer el estado de los botones y controlar los LEDs
for (int i = 0; i < 7; i++) {
// Si el botón está presionado (LOW), encender el LED
if (digitalRead(botones[i]) == LOW) {
digitalWrite(leds[i], HIGH); // Encender LED correspondiente
} else {
digitalWrite(leds[i], LOW); // Apagar LED correspondiente
}
taiwebs.com
https://rufianenlared.com/pulsadores-arduino/
// Definir los pines de los botones y LEDs
const int botones[] = {2, 3, 4, 5, 6, 7, 8}; // Array para los botones
const int leds[] = {9, 10, 11, 12, 13, A0, A1}; // Array para los LEDs
// Variables para el debounce
unsigned long lastDebounceTime[7] = {0}; // Tiempos de debounce
const unsigned long debounceDelay = 50; // Tiempo de debounce
int buttonState[7]; // Estado actual de los botones
int lastButtonState[7] = {LOW, LOW, LOW, LOW, LOW, LOW, LOW}; // Último estado de los
botones
bool encendido[7] = {false, false, false, false, false, false, false}; // Estado de los LEDs
void setup() {
// Configuración de los pines de los botones y LEDs
for (int i = 0; i < 7; i++) {
pinMode(botones[i], INPUT); // Configura los pines de los botones como entradas
pinMode(leds[i], OUTPUT); // Configura los pines de los LEDs como salidas
digitalWrite(leds[i], LOW); // Asegúrate de que todos los LEDs estén apagados al inicio
void loop() {
// Leer el estado de cada botón
for (int i = 0; i < 7; i++) {
int reading = digitalRead(botones[i]); // Leer el estado del botón
// Verificar si el estado ha cambiado
if (reading != lastButtonState[i]) {
lastDebounceTime[i] = millis(); // Reiniciar el tiempo de debounce
// Si el tiempo de debounce ha pasado, actualizar el estado
if ((millis() - lastDebounceTime[i]) > debounceDelay) {
// Si el botón está presionado (HIGH) y el LED está apagado
if (reading == HIGH && !encendido[i]) {
digitalWrite(leds[i], HIGH); // Enciende el LED correspondiente
encendido[i] = true; // Cambia el estado a encendido
// Si el botón está no presionado (LOW) y el LED está encendido
else if (reading == LOW && encendido[i]) {
digitalWrite(leds[i], LOW); // Apaga el LED correspondiente
encendido[i] = false; // Cambia el estado a apagado
lastButtonState[i] = reading; // Guardar el estado actual del botón