1. Como manejar un LED
El objetivo de este proyecto es construir un circuito para encender y apagar un LED.
1.1. Componentes electrónicos
- Placa Arduino UNO R3.
- Protoboard.
- Cables de conexión macho-macho.
- Una resistencia de 330 (Naranja, Naranja, Marrón).
- Un LED azul.
// Declaración de constantes
#define BLUE 2 // Pin al que está conectado el LED azul
#define DELAYTIME 500 // Milisegundos de parada para la función delay
// Configuración de pines
void setup()
{
pinMode(BLUE, OUTPUT) ;
digitalWrite(BLUE, LOW) ;
}
void loop()
{
// Encender LED
digitalWrite(BLUE, HIGH) ;
// Esperar medio segundo
delay(DELAYTIME) ;
// Apagar LED
digitalWrite(BLUE, LOW) ;
// Esperar medio segundo
delay(DELAYTIME) ;
}
1.3. Ejecución
Antes de ejecutar el código, es posible que tenga algún problema con los permisos en Linux para acceder a la tarjeta Arduino, si esto ocurre debes abrir un terminal y digitar lo siguiente:- sudo usermod -a -G dialout Nombre del usuario
- sudo chmod a+rw /dev/ttyACM0
Por último, de click en le botón Upload para enviar el codigo a la tarjeta Arduino y se tendra el siguiente resultado:
2. Como manejar varios LEDs
El objetivo de este proyecto es aprender a manejar varios componentes de forma simultánea en un mismo proyecto de Arduino.
2.1. Componentes electrónicos
- Placa Arduino UNO R3.
- Protoboard.
- Cables de conexión macho-macho.
- Cuatro resistencia de 330 (Naranja, Naranja, Marrón).
- Cuatro LED de colores.
![]() |
Montaje |
2.2. Programación
// Declaración de constantes (pines conectados a la tarjeta)#define RED1 2
#define RED2 7
#define GREEN1 4
#define GREEN2 12
#define DELAYTIME 500
void setup()
{
// Configuración de pines
pinMode(RED1, OUTPUT);
pinMode(RED2, OUTPUT);
pinMode(GREEN1, OUTPUT);
pinMode(GREEN2, OUTPUT);
digitalWrite(RED1,LOW);
digitalWrite(RED2,LOW);
digitalWrite(GREEN1,LOW);
digitalWrite(GREEN2,LOW);
}
void loop()
{
// Encendido de los LED verde y apagado de los LED rojo
digitalWrite(GREEN1, HIGH);
digitalWrite(GREEN1, HIGH);
digitalWrite(RED1, LOW);
digitalWrite(RED2, LOW);
// Espera de tiempo declarado en la constante DELAYTIME
delay(DELAYTIME);
// Encendido del LED rojo y apagado de los LED verde
digitalWrite(GREEN1, LOW);
digitalWrite(GREEN1, LOW);
digitalWrite(RED1, HIGH);
digitalWrite(RED2, HIGH);
// Espera de tiempo declarado en la constante DELAYTIME
delay(DELAYTIME);
}
2.3. Ejecución
3. El monitor serie
El objetivo de este proyecto es interactuar a travéz del monitor serie y que mediante unas opciones presentadas en el monitor porder encender todos los LEDs, encender un solo LED o apagar todos los LED.
3.1. Componentes electrónicos
- Placa Arduino UNO R3.
- Protoboard.
- Cables de conexión macho-macho.
- Cinco resistencia de 330 (Naranja, Naranja, Marrón).
- Cinco LED de colores (rojo, amarillo, blanco, verde y azul).
3.2. Programación
// Declaración de constantes#define BLUE 2
#define GREEN 7
#define WHITE 8
#define YELLOW 12
#define RED 13
#define SERIALSPEED 9600 // Velocidad de transmisión del monitor serie
// Configuración de pines e inicialización del monitor serie
void setup()
{
pinMode(BLUE, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(WHITE, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(RED, OUTPUT);
AllToLow();
Serial.begin(SERIALSPEED);
}
// Muestra el mensaje y lee la opción elegida
void loop()
{
int selected=ShowMessage();
switch(selected)
{
case 48://Opción 0 seleccionada
Serial.println("¡LED apagados!");
AllToLow();
break;
case 49://Opción 1 seleccionada
Serial.println("¡LED azul encendido!");
AllToLow();
digitalWrite(BLUE, HIGH);
break;
case 50://Opción 2 seleccionada
Serial.println("¡LED verde encendido!");
AllToLow();
digitalWrite(GREEN, HIGH);
break;
case 51://Opción 3 seleccionada
Serial.println("¡LED blanco encendido!");
AllToLow();
digitalWrite(WHITE, HIGH);
break;
case 52://Opción 4 seleccionada
Serial.println("¡LED amarillo encendido!");
AllToLow();
digitalWrite(YELLOW, HIGH);
break;
case 53://Opción 5 seleccionada
Serial.println("¡LED rojo encendido !");
AllToLow();
digitalWrite(RED, HIGH);
break;
case 57://Opción 6 seleccionada
Serial.println("¡LEDs encendidos !");
digitalWrite(BLUE, HIGH);
digitalWrite(GREEN, HIGH);
digitalWrite(WHITE, HIGH);
digitalWrite(YELLOW, HIGH);
digitalWrite(RED, HIGH);
break;
}
}
// Función que realiza el apagado de los LED
void AllToLow()
{
digitalWrite(BLUE, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(WHITE, LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(RED, LOW);
}
// Función que presenta el menú
int ShowMessage()
{
Serial.println("Apagar todos los LEDs: 0");
Serial.println("Encender LED Azul: 1");
Serial.println("Encender LED Verde: 2");
Serial.println("Encender LED Blanco: 3");
Serial.println("Encender LED Amarillo: 4");
Serial.println("Encender LED Rojo: 5");
Serial.println("Encender todos los LEDs: 9");
Serial.print("Eliga una opción: ");
while(Serial.available()==0);
int input=Serial.read();
return input;
}
No hay comentarios:
Publicar un comentario