UNIVERSIDAD TECNOLOGICA DEL PERU
FACULTAD DE INGENIERIA
USUARIO ASIGNADO TINKERCAD: [Link]@[Link]
PARPADEO DE LED
Se trata de conectar un led al puerto de entrada salida digital, haciendo que se
prenda y se apague un tiempo determinado, este proceso se repetirá cíclicamente.
Objetivos:
• Reconocer partes de la placa.
• Aprender a conexionar leds a la placa.
• Familiarizarse con el entorno de programación.
• Reconocer las partes de un programa de Arduino.
• Conocer Instrucciones como: pinMode, digitalWrite y delay
1. PARPADEO LED
Dispositivos
o 01 Arduino Uno
o 01 Protoboard
o 01 Diodo LED rojo
o 01 Resistencia 330 o 220 o 470 ohmios.
PASOS:
Implementar en TINKERCAD el circuito de la figura 01, observando el
número de pin del Arduino conectado al LED y la conexión de la resistencia
Escriba el código necesario para encender el LED, empleando las
instrucciones mencionadas en el objetivo, tomando en cuenta el formato de
el IDE del Arduino mostrado a continuación.
SOLUCION 1
SKETCH ARDUINO:
PARPADEO_LED_01
void setup()
{
pinMode(9, OUTPUT);
}
void loop()
{
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
}
2. SECUENCIA DE LEDS
Se trata de encender y apagar 4 leds secuencialmente. Los leds deben estar
conectados a los pines 8,9,10,11.
Se deben encender y posteriormente apagar los leds desde el pin 8 al 11, con un
tiempo de duración de encendido y apagado de 200 milisegundos.
Nota: en una segunda solución la secuencia principal del programa debe estar
reproducida en una función a la que llamará el programa principal.
Objetivos
· Familiarizarse con el entorno de programación.
· Aprender a declarar variables y variables tipo lista de valores.
· Aprender a declarar una función y llamarla cuando sea necesario .
Dispositivos
o 01 Arduino Uno
o 01 Protoboard
o 04 Diodo LED rojo
o 04 Resistencia 330 ohmios
PASOS:
Implementar en TINKERCAD el circuito de la figura 02, observando el
número de pin del Arduino conectado a cada LED y su respectiva conexión
de la resistencia.
Escriba el código necesario para encender el LED, declarando variables y
llamándolas ,además de los comandos mencionadas , tomando en cuenta
el formato del IDE del Arduino mostrado a continuación.
Figura 02
SOLUCION PARPADEO_LED_02
int tiempo=200;
void setup()
{
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop()
{
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
delay(tiempo);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
delay(tiempo);
}
3. Activar el Encendido del LED manteniendo presionado el pushbutton
switches(pulsador), luego soltar la presión switch para apagar el LED
SOLUCION PARPADEO_LED_03
const int buttonPin = 7;
const int ledPin = 6;
int buttonState = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop()
{ buttonState = digitalRead(buttonPin);
if (buttonState==HIGH){
digitalWrite(ledPin, HIGH);
}else{
digitalWrite(ledPin, LOW);
}
}
4. Activar el Encendido y apagado del LED continuo con solo presionar
una sola vez el pushbutton(pulsador), presionando una vez más
apagar el LED
SOLUCION PARPADEO_LED_04
const int buttonPin = 7;
const int ledPin = 6;
int state = 0;
int val = 0;
int oldVal=0;
void setup()
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
void loop()
{ val = digitalRead(buttonPin);
if (val==HIGH&&oldVal==LOW){
state=1-state;
delay(10);
oldVal=val;
if (state==1){
digitalWrite(ledPin, HIGH);
delay(10);}
else{
digitalWrite(ledPin, LOW);
}
Tarea :
Hacer una ruleta de modo que se inicie el encendido secuencial(enciende el primero, luego lo
paga, luego enciende el segundo luego lo apaga y así sucesivamente) al presionar una sola vez
el button y para detener la secuencia dejando encendido solo un led presionar otra vez el
button. mínimo de 10 leds.
SOLUCION PARPADEO_LED_TAREA
const int buttonPin = 2;
int state = 0;
int val = 0;
int oldVal=0;
int i;
void setup(){
for(int i = 3;i<=12;i++){
pinMode(i, OUTPUT);}
pinMode(buttonPin, INPUT);
}
void loop(){
i=3;
while(i<=12){
val = digitalRead(buttonPin);
if (val==HIGH&&oldVal==LOW){
state=1-state;
digitalWrite(i, HIGH);
}
oldVal=val;
if (state==1){
secuencia();}
}
}
void secuencia(){
delay(50);
digitalWrite(i, HIGH);
delay(50);
digitalWrite(i, LOW);
i++;
}
WEBS DE REFERENCIA:
Referencia de software de simulación en línea y en PROTEUS
[Link]
• Recurso de software de simulación PROTEUS, librería adicional para versión 8
[Link]
•