Prácticas con Arduino
CONTROL DEL TIEMPO DE ENCENDIDO Y APAGADO DE UN LED
Hemos hecho un montaje electrónico de un LED controlado con la placa Arduino, la cual hemos conectado al ordenador para poder controlar y modificar el tiempo de encendido y apagado de un Diodo LED.
Seguiremos el libro " Aprende Arduino en un fin de semana ".
las prácticas que realizaremos estarán orientadas para llegar a dos objetivos:
1. Controlar mediante un programa informática.
2. Control de una pinza robótica con un servomotor.
PROGRAMA UTILIZADO
Este programa enciende el LED durante 1 segundo y lo apaga durante otro segundo.
Utilizando ARDUINO IDE
#define LED 5
void setup()
{
pinMode(LED,OUTPUT);
digitalWrite(LED,LOW);
}
void loop()
{
digitalWrite(LED,HIGH);
delay(1000);
digitalWrite(LED,LOW);
delay(1000);
}
FOTOGRAFÍA
FOTOGRAFÍA
Práctica Número 2
secuencia de LEDS
Hemos hecho un montaje electrónico de tres LEDS, uno rojo, uno amarillo y uno verde (imitando a un semáforo) controlado por la placa Arduino. Al conectar dicha placa al ordenador hemos podido controlar el tiempo de encendido y apagado e los tres LEDS (primero se encendía el rojo y al apagarse se encendía el siguiente y así hasta volver a empezar la secuencia).
PROGRAMA UTILIZADO
#define YELLOW 7
#define GREEN 5
#define RED 3
void setup()
{
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(YELLOW,OUTPUT);
digitalWrite(RED,HIGH);
digitalWrite(GREEN,HIGH);
digitalWrite(YELLOW,HIGH);
}
void loop()
{
digitalWrite(RED,HIGH);
delay(1000);
digitalWrite(RED,LOW)
delay(1000);
digitalWrite(GREEN,HIGH);
delay(1000)
digitalWrite(GREEN,LOW);
delay(1000)
digitalWrite(YELLOW,HIGH);
delay(1000);
digitalWrite(YELLOW,LOW);
delay(1000);
}
modificación
Sobre esta práctica hemos hecho una variación que consiste en conseguir que los tres LEDS se enciendadn y se apaguen a la misma vez. hemos utilizado este programa:
#define YELLOW 7
#define GREEN 5
#define RED 3
void setup()
{
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(YELLOW,OUTPUT);
digitalWrite(RED,HIGH);
digitalWrite(GREEN,HIGH);
digitalWrite(YELLOW,HIGH);
}
void loop()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,HIGH);
digitalWrite(YELLOW,HIGH);
delay(1000);
digitalWrite(RED,LOW);
digitalWrite(GREEN,LOW);
digitalWrite(YELLOW,LOW);
delay(1000);
}
PRÁCTICA NÚMERO 3
Hemos hecho un circuito digital con un LED RGB controlado mediante la placa de Arduino . Al conectarlo al ordenador tenemos la posibilidad de controlar el tiempo de encendido y de apagado del LED.
PROGRAMA UTILIZADO (digital)
#define YELLOW 7
#define GREEN 5
#define RED 3
void setup()
{
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(YELLOW,OUTPUT);
digitalWrite(RED,HIGH);
digitalWrite(GREEN,HIGH);
digitalWrite(YELLOW,HIGH);
}
void loop()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,HIGH);
digitalWrite(YELLOW,HIGH);
delay(1000);
digitalWrite(RED,LOW);
digitalWrite(GREEN,LOW);
digitalWrite(YELLOW,LOW);
delay(1000);
}
FOTOGRAFÍA
MODIFICACIÓN (analógico) GBR
#define RED 6
#define GREEN 5
#define BLUE 3
#define delayTime 20
void setup()
{
pinMode(GREEN,OUTPUT);
pinMode(BLUE,OUTPUT);
pinMode(RED,OUTPUT);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,LOW);
digitalWrite(RED,LOW);
}
void loop()
{
delay(1000);
for(int
i=0;i<255;i +=1)
{
analogWrite(GREEN,i);
delay(delayTime);
}
digitalWrite(BLUE,LOW);
delay(1000);
for(int
i=0;i<255;i+=1)
{
analogWrite(BLUE,i);
delay(delayTime);
}
digitalWrite(RED,LOW);
}
PRÁCTICA NÚMERO 5:
MANEJO DE PULSADORES
introducción
Mediante esta práctica vamos a encender y apagar varios LEDS con un pulsador .
Si el pulsador se encuentra presionado (low) el LED verde se encenderá (el rojo estará apagado), en caso contrario, si no se encuentra presionado el LED encendido será el rojo y el verde el apagado.
#defineRED13
#defineGREEN 12
#defineBUTTON 4
void setup()
{
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BUTTON,OUTPUT);
}
void loop()
{
if(digitalReadBUTTON)== LOW)
}
digitalWrite(GREEN,LOW);
digitalWrite(RED,HIGH);
}
else
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
}
}
modificación
Hemos cambiado el programa para producir un efecto igual al de un semáforo. Pulsando el botón se encendía el LED verde y al dejar de pulsarlo volvía a encenderse el LED rojo.
#define RED 13
#define GREEN 12
#define BUTTON 4
void setup()
{
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BUTTON,INPUT_PULLUP);
}
void loop()
{
if(digitalRead(BUTTON)== HIGH)
{
digitalWrite(GREEN,LOW);
digitalWrite(RED,HIGH);
}
else
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
}
}
modificación
Hemos cambiado el programa para producir un efecto igual al de un semáforo. Pulsando el botón se encendía el LED verde y al dejar de pulsarlo volvía a encenderse el LED rojo.
#define RED 13
#define GREEN 12
#define BUTTON 4
void setup()
{
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BUTTON,INPUT_PULLUP);
}
void loop()
{
if(digitalRead(BUTTON)== HIGH)
{
digitalWrite(GREEN,LOW);
digitalWrite(RED,HIGH);
}
else
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
}
}
PRÁCTICA NÚMERO 6:
SEMÁFORO
PROGRAMA UTILIZADO
#define REDCARS 13
#define YELLOWCARS 12
#define GREENCARS 11
#define GREENPEDESTRIANS 10
#define REDPEDESTRIANS 9
#define SIGNAL 3
#define BUTTON 6
void setup()
{
pinMode(REDCARS,OUTPUT);
pinMode(YELLOWCARS,OUTPUT);
pinMode(GREENCARS,OUTPUT);
pinMode(REDPEDESTRIANS,OUTPUT);
pinMode(GREENPEDESTRIANS,OUTPUT);
pinMode(SIGNAL,OUTPUT);
pinMode(BUTTON,INPUT_PULLUP);
digitalWrite(REDCARS,LOW);
digitalWrite(YELLOWCARS,LOW);
digitalWrite(GREENCARS,HIGH);
digitalWrite(REDPEDESTRIANS,HIGH);
digitalWrite(GREENPEDESTRIANS,LOW);
digitalWrite(SIGNAL,LOW);
}
void loop()
{
if(digitalRead(BUTTON)==LOW)
{
digitalWrite(SIGNAL,HIGH);
delay(5000);
digitalWrite(YELLOWCARS,HIGH);
digitalWrite(GREENCARS,LOW);
delay(2000);
digitalWrite(YELLOWCARS,LOW);
digitalWrite(REDCARS,HIGH);
digitalWrite(SIGNAL,LOW);
digitalWrite(REDPEDESTRIANS,LOW);
digitalWrite(GREENPEDESTRIANS,HIGH);
delay(10000);
for(int i= 0;i<3;i++)
{
digitalWrite(GREENPEDESTRIANS,LOW);
delay(1000);
digitalWrite(GREENPEDESTRIANS,HIGH);
delay(1000);
}
digitalWrite(GREENPEDESTRIANS,LOW);
digitalWrite(REDPEDESTRIANS,HIGH);
digitalWrite(REDCARS,LOW);
digitalWrite(GREENCARS,HIGH);
}
}
No hay comentarios:
Publicar un comentario