Está en la página 1de 7

Unidad N° 2

Actividad 1
El primer ejercicio que vamos a realizar es encender y apagar un led. El mismo lo conectaremos como
muestra la figura. El pin 2 sera configurado como salida. La resistencia colacada en serie con el diodo sirve
para proteger el led de una sobre corriente.

Programa a editar en el IDE de Arduino

int LED = 2;

void setup()
{
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
}

void loop()
{
digitalWrite(LED, HIGH);
delay(2000);
digitalWrite(LED, LOW);
delay(2000);
}
Actividad 2
El ejercicio consiste en realizar una serie de secuencias con varios leds conectados al arduino. El programa
ejemplo, pondra en alto cada 1 segundo los pines en forma ascendente del 2 al 7, y luego pondra en bajo en
sendido descendente los pines del 7 al 2, utilizando el mismo retardo. Este programa es un ejemplo a seguir.
El fin de este ejercicio es que cada alumno pueda realizar su propia secuencia, empezando a idear codigos
propios para mayor comprension y familiarizacion con el entorno de programacion. A continuacion se
encuentra el conexionado correspondiente.

Programa a editar en el IDE de Arduino


void setup()
{
pinMode(2, OUTPUT); //Configuro como salida el PIN 2
pinMode(3, OUTPUT); //Configuro como salida el PIN 3
pinMode(4, OUTPUT); //Configuro como salida el PIN 4
pinMode(5, OUTPUT); //Configuro como salida el PIN 5
pinMode(6, OUTPUT); //Configuro como salida el PIN 6
pinMode(7, OUTPUT); //Configuro como salida el PIN 7
}

void loop()
{
digitalWrite(2, HIGH); // Pongo en alto PIN 2 - Enciendo Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(3, HIGH); // Pongo en alto PIN 3 - Enciendo Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(4, HIGH); // Pongo en alto PIN 4 - Enciendo Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(5, HIGH); // Pongo en alto PIN 5 - Enciendo Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(6, HIGH); // Pongo en alto PIN 6 - Enciendo Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(7, HIGH); // Pongo en alto PIN 7 - Enciendo Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(7, LOW); // Pongo en alto PIN 7 - Apago Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(6, LOW); // Pongo en bajo PIN 6 - Apago Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(5, LOW); // Pongo en alto PIN 5 - Apago Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(4, LOW); // Pongo en bajo PIN 4 - Apago Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(3, LOW); // Pongo en bajo PIN 3 - Apago Led
delay(500); // Tiempo de espera de 500 ms
digitalWrite(2, LOW); // Pongo en bajo PIN 2 - Apago Led
delay(500); // Tiempo de espera de 500 ms
}
Actividad 3
Vamos a realizar la simulacion de un semaforo, continuando con lo propuesto el ejercicio anterior, al realizar
secuencias de encendido y apagado. Aplicaremos el uso de variables globales para manejar los tiempos de
cambios de estados de las luces. Los tiempo para cada led seran, rojo 4 segundos, amarillo 2 segundos, verde
4 segundos. El conexionado es el siguiente .

Como ejercicio alternativo, se propone que cada alumno realice el cruce de dos semaforos.

Programa a editar en el IDE de Arduino


int tiempo1 = 4000;
int tiempo2 = 1000;
void setup()
{
pinMode(2, OUTPUT); // Elegimos pin 2 como salida.
pinMode(3, OUTPUT); // Elegimos pin 3 como salida.
pinMode(4, OUTPUT); // Elegimos pin 4 como salida.
}
void loop()
{
digitalWrite(2, HIGH); // Pongo en alto PIN 2 - Enciendo Led Rojo
delay(tiempo1); // Tiempo de espera de 8000 ms
digitalWrite(2, LOW); // Pongo en bajo PIN 2 - Apago Led Rojo
digitalWrite(3, HIGH); // Pongo en alto PIN 3 - Enciendo Led Amarillo
delay(tiempo2); // Tiempo de espera de 2000 ms
digitalWrite(3, LOW); // Pongo en bajo PIN 3 - Apago Led Amarillo
digitalWrite(4, HIGH); // Pongo en alto PIN 4 - Enciendo Led Verde
delay(tiempo1); // Tiempo de espera de 8000 ms
digitalWrite(4, LOW); // Pongo en bajo PIN 4 - Apago Led Verde
digitalWrite(3, HIGH); // Pongo en alto PIN 3 - Enciendo Led Amarillo
delay(tiempo2); // Tiempo de espera de 2000 ms
digitalWrite(3, LOW); // Pongo en bajo PIN 3 - Apago Led Amarillo
}
Actividad 4
Ahora realizaremos el encendido y apagado de un led a travez de un pulsador. Utilizaremos una resistencia
pull-up junto con el pulsador. Cuando el pulsador es presionado, por el pin 3 del arduino entrara un valor de
0v (Pin 3 configurado como entrada), mientras que si el pulsador esta en reposo, ingresara un valor de 5v en
la entrada. Se emplara a estructura if para consultar que valor esta ingresando por el pin 3, y asi detereminar
la salida correspondiente por el pin 2 para encender o apagar el led. Se muestra un programa base con la
intension de que el alumno pueda realizar sus propias conclusiones agregando variables, la estructura else, o
diferentes condiciones para activar la salida. A continuacion se presentan las conexiones.

Programa a editar en el IDE de Arduino


void setup()
{
pinMode(2, OUTPUT); // Elegimos pin 2 como salida.
pinMode(3, INPUT); // Elegimos pin 3 como entrada.
digitalWrite(2, LOW); // Estado inicial de pin 2 - Led Apagado
}

void loop()
{
if(digitalRead(3)== 0) // Si Leo en el PIN 3 un bajo
{
digitalWrite(2, HIGH); // Enciendo Led - Pongo en alto PIN 2
delay(50); // Tiempo antirebote del pulsador 10ms
}
else // Sino
{
digitalWrite(2, LOW); // Apago Led - Pongo en bajo PIN 2
delay(50); // Tiempo antirebote del pulsador 10ms
}
}
Actividad 5
Aprenderemos a utiliazar el monitor en serie, y para ello trabajaremos con las intrucciones basicas. El
ejercicio propone mostrar en pantalla las diferentes variables declaradas en el setup() cada un segundo.
Luego en el programa principal, alojado en la funcion loop() vamos a visualizar los datos que ingresen por el
puerto serie de nuestro arduino. Para el ejemplo solo necesitamos la placa arduino.

Programa a editar en el IDE de Arduino

int valor = 289; //Declaramos variable entera


char valor1 = 'A'; //Declaramos variable tipo carácter
String valor2 = "AUTOMATIZACION"; //Declaramos variable tipo cadena de carácter
byte valor3 = B10010101; //Declaramos variable tipo byte Binario
byte valor4 = 0x95; //Declaramos variable tipo byte hexadecimal

void setup()
{
Serial.begin(9600); //Baudios Bits/seg
Serial.println(valor);
delay(1000);
Serial.println(valor1);
delay(1000);
Serial.println(valor2);
delay(1000);
Serial.println(valor3);
delay(1000);
Serial.println(valor4);
delay(1000);

void loop()
{

if(Serial.available() > 0) //Si tenemos algún dato en disponible


{
char DATOS = Serial.read(); //Guardamos la lectura en la variable DATOS.

Serial.println(DATOS); //Mostramos por el monitor serie lo que guarda la variable DATOS.


delay(2000);
}
}
Actividad 6
El siguiente ejercicio nos enseñara a utilizar la funcion millis(), realizando la cuenta cada 1 seg, mostrando
por el monitor serie los valores devueltos. Para esta actividad solo necesitaremos nuestro arduino, sin
conexiones adicionales.

Programa a editar en el IDE de Arduino

long previoMillis =0;


long intervalo = 1000; //intervalo de 1 segundo
int n=0; //Variable que guarda los segundos transcurridos.

void setup()
{
Serial.begin(9600); //Inicia la comunicación serial
}
void loop()
{
unsigned long transcurridoMillis = millis();
if(transcurridoMillis - previoMillis >= intervalo)
{
previoMillis=transcurridoMillis;
n = n + 1;
Serial.println(n);
}
}

También podría gustarte