0% encontró este documento útil (0 votos)
801 vistas27 páginas

Practicas Kit Basico Arduino

Este documento presenta 4 prácticas realizadas con Arduino para el control de LEDs. La práctica 1 enciende y apaga un LED cada segundo. La práctica 2 enciende un LED durante 3 segundos y luego lo apaga durante 3 segundos. La práctica 3 programa un LED intermitente con 2 segundos encendido y 1 segundo apagado. Finalmente, la práctica 4 crea un efecto strobe con un LED encendiéndose y apagándose rápidamente.

Cargado por

Fernando Torres
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
801 vistas27 páginas

Practicas Kit Basico Arduino

Este documento presenta 4 prácticas realizadas con Arduino para el control de LEDs. La práctica 1 enciende y apaga un LED cada segundo. La práctica 2 enciende un LED durante 3 segundos y luego lo apaga durante 3 segundos. La práctica 3 programa un LED intermitente con 2 segundos encendido y 1 segundo apagado. Finalmente, la práctica 4 crea un efecto strobe con un LED encendiéndose y apagándose rápidamente.

Cargado por

Fernando Torres
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 27

DIVISIN ACADEMICA DE

INFORMATICA Y SISTEMAS
Sistemas Analgicos y Digitales
Integrantes:
Fernando Torres Rosas
ngel Remedio Javier Javier
Alejandro Snchez Vinagre
Francisco Javier Prez Lzaro
Francisco Javier Cerino Castro

Profesor:
Gilberto Murillo Gonzales
Trabajo:
Prcticas de Arduino Kit Basico

Cunduacan, Tabasco. 10 de Junio del 2014

T1

Practica 1
Enciende un LED por un segundo y lo apaga por el mismo tiempo
Cdigo
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(13,OUTPUT); // Inicializa el pin 13 como una salida
}
//-----------------------------------//Funcin cclica
//-----------------------------------void loop() // Esta funcin se mantiene ejecutando
{ // cuando este energizado el Arduino
digitalWrite(13,HIGH); // Enciende el LED
delay(1000); // Temporiza un segundo (1s = 1000ms)
digitalWrite(13,LOW); // Apaga el LED
delay(1000); // Temporiza un segundo (1s = 1000ms)
}

Practica 2
Este ejercicio tiene como objetivo encender un led durante 3 segundos y apagarlo durante otros 3 segundos.
Luego encender un led por 200 milisegundos y apagarlo por 500

Cdigo
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(13,OUTPUT); // Inicializa el pin 13 como una salida
}
//-----------------------------------//Funcin cclica
//-----------------------------------void loop() // Esta funcin se mantiene ejecutando
{ // cuando este energizado el Arduino
digitalWrite(13,HIGH); // Enciende el LED
delay(3000); // Temporiza a 3 segundos (3s = 3000ms)
digitalWrite(13,LOW); // Apaga el LED
delay(3000); // Temporiza a 3 segundos (3s = 3000ms)
}

Practica 3
La empresa de automatizacin NRJ Inc. te contrata para hacer un montaje de un LED Intermitente en una placa Arduino
UNO, con el nico requisito de que el LED debe estar ubicado en el Pin 5, ellos muy amablemente te han facilita-do el
esquema, tu tarea es:
A) Realizar el montaje y la respectiva programacin de 2 segundos prendido y 1 segundo apagado

Cdigo
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(13,OUTPUT); // Inicializa el pin 13 como una salida
}
//Funcin cclica
void loop() // Esta funcin se mantiene ejecutando
{ // cuando este energizado el Arduino
digitalWrite(13,HIGH); // Enciende el LED
delay(2000); // Temporiza a 2 segundos
digitalWrite(13,LOW); // Apaga el LED
delay(1000); // Temporiza a 1 segundo
}

Practica 4
Un Strober es un bombillo que prende y apaga muy rpido, muy usado en las fiestas, tu misin es
realizar tu strober casero con un LED, con el mismo esquema montado en este tutorial.

Cdigo
void setup()
{
pinMode(5,OUTPUT);
}
void loop()
{
digitalWrite(5,HIGH);
delay(50);
digitalWrite(5,LOW);
delay(50);
}

T2
Practica 1
Encender un led con un pulsador, el led se mantendr encendido mientras se este oprimiendo el
pulsador.

Cdigo:
int pulsador=2; //Pin donde se encuentra el pulsador, entrada
int led=13; //Pin donde se encuentra el LED, salida
//-----------------------------------//Funcion principal
//-----------------------------------void setup() // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(pulsador, INPUT); //Configurar el pulsador como una entrada

pinMode(led,OUTPUT); //Configurar el LED como una salida


}
//-----------------------------------//Funcion ciclicla
//-----------------------------------void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Condicional para saber estado del pulsador
if (digitalRead(pulsador)==HIGH)
{
//Pulsador oprimido
digitalWrite(led,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led,LOW); //Apaga el LED
}

Practica 2
Este ejercicio simula la cuchilla de una cortadora con led el cual se enciende oprimiendo dos
pulsadores a la vez

Cdigo:
int pulsador2=3;
int pulsador=2; //Pin donde se encuentra el pulsador, entrada
int led=13; //Pin donde se encuentra el LED, salida
//-----------------------------------//Funcion principal
//-----------------------------------void setup() // Se ejecuta cada vez que el Arduino se inicia

{
pinMode(pulsador2, INPUT);
pinMode(pulsador, INPUT); //Configurar el pulsador como una entrada
pinMode(led,OUTPUT); //Configurar el LED como una salida
}
//-----------------------------------//Funcion ciclicla
//-----------------------------------void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Condicional para saber estado del pulsador
if (digitalRead(pulsador)==HIGH&& digitalRead(pulsador2)==HIGH)
{
//Pulsador oprimido
digitalWrite(led,HIGH); //Enciende el LED
}
else
{
//Pulsador NO oprimido
digitalWrite(led,LOW); //Apaga el LED
}
}

Practica 3
Este ejercicio simula un sistema de iluminacin si oprime uno de los 2 pulsadores l led se encender.

Cdigo:
int pulsador=2,estado;
int pulsador2=3,estado2;
int led=13; //Pin donde se encuentra el LED, salida
char leer; //Variable donde se almacena la letra
boolean prendido=false; //Estado LED la primera vez, apagado
//-----------------------------------//Funcion principal

//-----------------------------------void setup() // Se ejecuta cada vez que el Arduino se inicia


{
Serial.begin(9600); //Inicia comunicacin serial
pinMode(led, OUTPUT); //Configurar el LED como una salida
}
//-----------------------------------//Funcion ciclicla
//-----------------------------------void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable el valor de la consola serial
leer=Serial.read();
estado=digitalRead(pulsador);
estado2=digitalRead(pulsador2);
// Si es la letra 'a' y adems el LED est apagado
if ( (estado2==1|| estado == 1 || leer=='b' || leer=='a')&& (prendido==false) )
{
digitalWrite(led,HIGH); // Enciende el LED
prendido=true; // Actualiza el estado del LED
}
// Si es la letra 'a' y adems el LED est encendido
else if ( (estado2==1||estado == 1 || leer=='b'|| leer=='a') && (prendido==true) )
{
digitalWrite(led,LOW); // Apaga el LED
prendido=false; // Actualiza el estado del LED
}
Serial.println(prendido);
}

T3
Practica 1
Leer una entrada digital y mostrar por la pantalla del computador (consola serial) el estado del
pulsador cuando es oprimido.

Cdigo
int boton=2; //Pin donde se encuentra el pulsador, entrada
//-----------------------------------//Funcion principal
//-----------------------------------void setup() // Se ejecuta cada vez que el Arduino se inicia
{
//Configuracin
pinMode(boton,INPUT); //Configurar el boton como una entrada
Serial.begin(9600); //Inicia comunicacin serial
}
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable entera el valor del boton 0 1
int estado = digitalRead(boton);
//Condicional para saber estado del pulsador
if (estado==1)
{
// Pulsado
Serial.println("Pulsado"); //Imprime en la consola serial
} // "Pulsado"
else
{
// No esta pulsado
Serial.println("NO Pulsado"); //Imprime en la consola serial
} // "NO Pulsado"
delay(100); //Retardo para la visualizacin de datos en la consola
}

Practica 2
En este ejercicio se debe encender un led con un pulsador (S1) que al mismo tiempo mostrara en
la consola serial botella llena; despus con un pulsador (S2) que al oprimirlo encienda el led y en

la consola serial diga botella tapada y por ltimo que al oprimir los dos pulsadores al mismo
tiempo muestre en la consola serial proceso terminado.

Cdigo
int boton=2,boton2=3; //Pin donde se encuentra el pulsador, entrada
int led=13;
boolean res1=false,res2=false;
//-----------------------------------//Funcion principal
//-----------------------------------void setup() // Se ejecuta cada vez que el Arduino se inicia
{
//Configuracin
pinMode(boton,INPUT);
pinMode(boton2,INPUT);//Configurar el boton como una entrada
pinMode(led, OUTPUT);
Serial.begin(9600); //Inicia comunicacin serial
}
//-----------------------------------//Funcion ciclicla
//-----------------------------------void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable entera el valor del boton 0 1
int estado = digitalRead(boton);
int estado2 = digitalRead(boton2);
//Condicional para saber estado del pulsador
if (estado==HIGH && estado2==LOW)
{
// Pulsado
Serial.println("gaseosa llena");
estado=LOW;//Imprime en la consola serial
} // "Pulsado"
if (estado2==HIGH && estado==LOW)
{
// No esta pulsado
Serial.println("gaseosa tapada"); //Imprime en la consola serial
estado2=LOW;
}
if (estado ==HIGH && estado2 ==HIGH){
digitalWrite(led, HIGH);
Serial.println("proceso terminado");}
//delay(100); //Retardo para la visualizacin de datos en la consola
}
//Fin programa

Practica 3
En este ejercicio se busca simular unas luces navideas donde un pulsador (S1) se mantenga
oprimido y vaya mostrando en la consola serial un contador que se aumente de 20 en 20 mientras
se mantenga oprimido el pulsador; despus al oprimir el pulsador (S2) la cantidad que quedo
reunida en el contador se tome como el delay para que un led encienda y apague en ese tiempo
que se acumul en el contador y por ultimo que al oprimir los dos pulsadores (S1 YS2) el contador
regrese a cero para poder hacer un nuevo conteo.

Cdigo
int boton=2; //Pin donde se encuentra el pulsador, entrada
int boton2=3;
int led=13;
int c=0;
//Funcion principal
//-----------------------------------void setup() // Se ejecuta cada vez que el Arduino se inicia{
//Configuracin
pinMode(led,OUTPUT);
pinMode(boton,INPUT); //Configurar el boton como una entrada
Serial.begin(9600); //Inicia comunicacin serial}
//Funcion ciclicla
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable entera el valor del boton 0 1
int estado = digitalRead(boton);
int estado2 = digitalRead(boton2);
//Condicional para saber estado del pulsador
if (estado==1&& estado2==0){
// Pulsado
Serial.println(c);
//Imprime en la consola serial
c=c+20;
} // "Pulsado"

if(estado==0 && estado2==1){


//No esta pulsado
//Imprime en la consola serial
digitalWrite(led,1);
delay(c);
digitalWrite(led,0);
delay(c);
} // "NO Pulsado"
if (estado==1&& estado2==1){
// Pulsado
c=0;
Serial.println(c);}
//Retardo para la visualizacin de datos en la consola}
//Fin programa

T4
Practica 1
Leer una entrada anloga y mostrar por la pantalla del computador (consola serial) el valor luego
de girar el potencimetro.

Cdigo
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
Serial.begin(9600); //Inicia comunicacin serial
}
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable entera el valor del potencimetro 0 a 1024

int valor= analogRead(A0);


//Imprime en la consola serial el valor de la variable
Serial.println(valor);
//Retardo para la visualizacin de datos en la consola
delay(100);
}

Practica 2
El desafo de este ejercicio consiste en mostrar por la consola serial los nmeros del 0 al 10.

Cdigo
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
Serial.begin(9600); //Inicia comunicacin serial
}
//-----------------------------------//Funcion ciclicla
//-----------------------------------void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable entera el valor del potencimetro 0 a 1024
int valor= analogRead(0);
valor = map(valor, 0, 1023, 0, 10);
analogWrite(9, valor);
//Imprime en la consola serial el valor de la variable
Serial.println(valor);
//Retardo para la visualizacin de datos en la consola
delay(100);
}

Practica 3
Piensa en un nmero secreto de 0 a 1023 y gurdalo en una variable entera, haz un programa para que tu
amigo deba mover el potencimetro, si el nmero que el va generando (mostrar por consola serial el valor de
la lectura del potenci-metro) al girar el potencimetro est 10 nmeros por arriba o 10 nmeros por abajo al
nmero que tu pensaste y confirma con el pulsador S1 que ese es el nmero, el progra-ma debe mostrar por
consola Adivinaste el nmero de lo contrario Intenta de nuevo.

Cdigo

T5
Practica 1
Consiste en escribir por la pantalla del computador (consola serial) una letra predeterminada, la primera vez
que se escriba est un LED se enciende, si se vuelve a escribir por segunda vez el LED se apaga.

Cdigo
int led = 13; //Pin donde se encuentra el LED, salida

char leer; //Variable donde se almacena la letra


boolean prendido=false; //Estado LED la primera vez, apagado
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
Serial.begin(9600); //Inicia comunicacin serial
pinMode(led, OUTPUT); //Configurar el LED como una salida
}
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable el valor de la consola serial
leer=Serial.read();
// Si es la letra 'a' y adems el LED est apagado
if ( (leer=='a') && (prendido==false) )
{
digitalWrite(led,HIGH); // Enciende el LED
prendido=true; // Actualiza el estado del LED
}
// Si es la letra 'a' y adems el LED est encendido
else if ( (leer=='a') && (prendido==true) )
{
digitalWrite(led,LOW); // Apaga el LED
prendido=false; // Actualiza el estado del LED
}}

Practica 2
Avisos luminosos S.A. te ha contratado para que realices un programa que tiene la caracterstica
de recibir datos, porque la idea es que el aviso de luces se ubique en el piso 130 del Edificio Bulli y
tu lo puedas controlar desde el piso 1, as que por cada letra que le escribas por teclado a la
Consola serial el programa debe hacer determinada rutina con tres LEDs, si le escribes:

Letra A: Prende los tres LED


Letra B: Prende el LED1 por un segundo y lo apaga, luego prende el LED2 por un
segundo y lo apaga y finalmente prende el LED3 por un segundo y lo apaga, y vuelve a
comenzar. Esta rutina genera una sensacin de movimiento
Letra C: Apaga los tres LED

Cdigo
int led1 = 2;
int led2 = 3;
int led3 = 4;
char leer;
boolean prendido=false;
void setup(){
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop(){
leer=Serial.read();
if ( (leer=='a') && (prendido==false) ){
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
prendido=true;
}
else if ( (leer=='a') && (prendido==true) ){
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
prendido=false;
}
if ( (leer=='b') && (prendido==false) ){

digitalWrite(led1,HIGH);
delay(1000);
digitalWrite(led1,LOW);
delay(1000);
digitalWrite(led2,HIGH);
delay(1000);
digitalWrite(led2,LOW);
delay(1000);
digitalWrite(led3,HIGH);
delay(1000);
digitalWrite(led3,LOW);
delay(1000);
prendido=true;
}
else if ( (leer=='b') && (prendido==true) ){
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
prendido=false;
}
if ( (leer=='c') && (prendido==false) ){

prendido=false;
}
else if ( (leer=='c') && (prendido==true) ){
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
prendido=false;
}
}

Practica 3
Tu abuelito tiene un cultivo de grandes y verdes lechugas, este cultivo tiene 3 aspersores de agua y
tu abuelito quiere prender estos aspersores desde su computador solo escribien-do unos valores
por teclado, los aspersores tienen un estado digital (Valor 0 es apagado y valor 1 es prendido).
Debes reali-zar un programa que lea una cadena de tres valores, para este ejercicio los aspersores
los vamos a simular con tres LED 1, 2 y 3 por ejemplo:
Si tu abuelito escribe 000 : Todos los aspersores de agua deben estar apagados
Si tu abuelito escribe 101 : El aspersor 1 y 3 se prenden pero el dos debe estar apagado
Si tu abuelito escribe 001 : El aspersor 1 y 2 se apagan pero el tres debe estar prendido

Cdigo
int led1 = 2;
int led2 = 3;
int led3 = 4;
char leer;
boolean prendido=false;
void setup(){
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop(){
leer=Serial.read();
if (leer=='a'&& prendido == true){
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);

prendido=false;
}if (leer=='b'){
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,HIGH);
prendido=true;}
if (leer=='c'){
digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
prendido=true;}
if (leer=='d'){
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
prendido=true;}
if (leer=='e'){
digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
prendido=true;}
if (leer=='f'){
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
prendido=true;}
if (leer=='g'){
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
digitalWrite(led3,HIGH);
prendido=true;}
if (leer=='h'){
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
prendido=true;}
}

T6
Practica 1
Programa que enciende proporcionalmente un LED cuando llega a su mximo punto de brillo
comienza a apagarse proporcionalmente.

Cdigo
int brillo = 0; //Variable de brillo inicia en 0
int variacion = 5; //Variable de incremento configurada de 5 en 5
int led = 9; //Pin donde se encuentra el LED, salida
//-----------------------------------//Funcion principal
//-----------------------------------void setup () // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(led, OUTPUT); //Configurar el LED como una salida
}
//-----------------------------------//Funcion ciclicla
//-----------------------------------void loop () // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
// Escritura analoga (PWM) en el LED escribo el valor de brillo
analogWrite(led, brillo);
// Incremento la variable brillo de 5 en 5
brillo = brillo + variacion;
// Nota: PWM ----> 0 - 255
// Si el brillo es 0 o 255
if (brillo == 0 || brillo == 255)
variacion = -variacion; //La variacin se vuelve negativa
delay (30); //Tiempo de incremento en el brillo
}

Practica 2
Tu mam quiere tener unas luces de intensidad variables en la sala de tu casa, quiere poca luz
para los momentos en que la familia comparte para mantener la armona pero requiere bastante luz
cuando realiza sus tejidos, ella quiere tener el control de la intensi-dad de luz mediante un
potencimetro y que la bombilla LED se ilumine de acuerdo a lo graduado por ella. Tu tarea es
realizar el programa que al leer una entrada anloga de un potencimetro (01023) se ajuste el
valor de PWM (0-255) de un LED, recuerda escalar el valor map()

Cdigo
int led = 9; //Pin donde se encuentra el LED, salida
//-----------------------------------//Funcion principal
//-----------------------------------void setup () // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(led, OUTPUT); //Configurar el LED como una salida
}
//-----------------------------------//Funcion ciclicla
//-----------------------------------void loop () // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
// Escritura analoga (PWM) en el LED escribo el valor de brillo
int val = analogRead(0);
val = map(val, 0, 1023, 0, 255);
analogWrite(led, val);
// Nota: PWM ----> 0 - 255
delay (30); //Tiempo de incremento en el brillo
}

Practica 3
Tu tarea es realizar un programa que lee por Consola Serial la temperatura en C (0-255) luego se
separa por una coma (,) y a continuacin viene el tiempo de horneado en segundos (1-10). El valor
de la temperatura va a ser el PWM que se le va a ajustar al LED y el tiempo de horneado es el
tiempo durante el cual el LED se mantiene encendido a esa temperatura.

T7
Practica 1
Programa que enciende un LED cuando el valor de la entrada anloga comandada por el
potencimetro esta en cierto valor, cuando este valor cambia el LED se apaga, es un sistema con
control ON/OFF

Cdigo
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
Serial.begin(9600); //Inicia comunicacin serial
pinMode(13,OUTPUT); //Configurar el pin 13 como una salida
}
//-----------------------------------//Funcion ciclicla

//-----------------------------------void loop() // Esta funcion se mantiene ejecutando


{ // cuando este energizado el Arduino
//Guardar en una variable el valor de la lectura anloga
int valor = analogRead(A0);
Serial.println(valor); //Imprime el valor por la consola
//Si el valor es mayor o igual a 500
if (valor >= 500)
{
digitalWrite(13,HIGH); //Enciende el LED en el pin 13
}
//Si el valor es menor a 500
else
{
digitalWrite(13,LOW); //Apaga el LED en el pin 13
}
delay(100); //Retardo de 100ms para ver los datos de la consola
}

Practica 2
Un carro de tunnig tiene luces de nen en la parte de abajo, ste es la sensacin de la feria. El
piloto controla las luces (tres LEDs) por medio de un potencimetro al lado de la palanca de
cambios, l tiene tres opciones de luces de acuerdo al valor de lectura del potencimetro que va de
0 a 1023:
0 - 350 Intermitencia de los 3 LED a 100ms
351 - 700 Intermitencia de los 3 LED a 500ms
701 - 1023 Intermitencia de los 3 LED a 1000ms

Cdigo
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
Serial.begin(9600); //Inicia comunicacin serial
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);//Configurar el pin 13 como una salida

}
//-----------------------------------//Funcion ciclicla
//-----------------------------------void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable el valor de la lectura anloga
int valor = analogRead(A0);
Serial.println(valor); //Imprime el valor por la consola
//Si el valor es mayor o igual a 500
if (valor >=0&& valor <= 350)
{
digitalWrite(2,HIGH);
delay(100);
digitalWrite(2,LOW);
delay(100);
digitalWrite(3,HIGH);
delay(100);
digitalWrite(3,LOW);
delay(100);
digitalWrite(4,HIGH);
delay(100);
digitalWrite(4,LOW);
delay(100);//Enciende el LED en el pin 13
}
if (valor >=351&& valor <= 700)
{
digitalWrite(2,HIGH);
delay(500);
digitalWrite(2,LOW);
delay(500);
digitalWrite(3,HIGH);
delay(500);
digitalWrite(3,LOW);
delay(500);
digitalWrite(4,HIGH);
delay(500);
digitalWrite(4,LOW);
delay(500); //Enciende el LED en el pin 13
}
if (valor >=701&& valor <= 1023)
{
digitalWrite(2,HIGH);
delay(1000);
digitalWrite(2,LOW);
delay(1000);
digitalWrite(3,HIGH);
delay(1000);
digitalWrite(3,LOW);
delay(1000);
digitalWrite(4,HIGH);
delay(1000);
digitalWrite(4,LOW);
delay(1000); //Enciende el LED en el pin 13

}
//Si el valor es menor a 500
//Retardo de 100ms para ver los datos de la consola
}

Practica 3
El equipo de sonido tiene una perilla para que le subas el volumen y adems cuenta con 5
indicadores luminosos (LED) dispuestos uno tras otro en una lnea recta ( as como lo ves en el
montaje) en la medida que el valor del potencimetro va aumentando al girarlo, se va encendiendo
el LED1, luego el LED2, luego el LED3 y as hasta el LED5. Si llegas al valor de 1023 todos los
LED deberan estar prendidos y si comienzas a girar el potencimetro en sentido contrario se van
apa-gando los LED uno tras otro en el sentido inverso en que se encendieron, al final si ests en el
valor 0 todos los LED deben estar apagados. Generar una sensacin de movimiento.

Cdigo
//Declaramos los leds y los pines en los cuales hay que conectar
int led1 = 12;
int led2 = 11;
int led3 = 10;
int led4 = 9;
int led5 = 8;
void setup(){
//configuramos todos los pines como salidas
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop(){//Hacemos la lectura analoga del potenciometro
int valorPotenciometro = analogRead(A0);//Apagamos todos los LED's
Serial.println(valorPotenciometro);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);

//En este codigo vamos revisando el valor del pot para


//ir prendiendo poco a poco los LED's
if(valorPotenciometro > 0){
digitalWrite(led1, HIGH);
}
if(valorPotenciometro > 204){
digitalWrite(led2, HIGH);
}
if(valorPotenciometro > 408){
digitalWrite(led3, HIGH);
}
if(valorPotenciometro > 612){
digitalWrite(led4, HIGH);
}
if(valorPotenciometro > 850){
digitalWrite(led5, HIGH);
}

T8
Programa que enciende un LED de manera proporcional de acuerdo a la cantidad de luz que incida
en una fotocelda.

Cdigo
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
Serial.begin(9600); //Inicia comunicacin serial
pinMode(9,OUTPUT); //Configurar el pin 9 como una salida de PWM
}
//-----------------------------------//Funcion ciclicla
//-----------------------------------void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable el valor de la lectura anloga de la
// fotocelda
int foto = analogRead(A0);

//Verifica el valor mximo y realizar una conversin


int conversion = 780 - foto;
//Condicional para establecer un valor absoluto
if ( conversion < 0)
conversion = conversion * -1; //Multiplicar por -1 porque es negativo
//Imprimir datos del valor de la lectura anloga de la fotocelda
Serial.print("Foto : ");
Serial.print(foto);
Serial.println("");
//Imprimir datos del valor de la conversin
Serial.print("Conv : ");
Serial.print(conversion);
Serial.println("");
//Escritura anloga de PWM en el LED de acuerdo a la conversin
analogWrite(9, conversion);
delay(100); //Retardo para datos en la consola
}

Practica 2

T9
Practica 1
Programa que muestra por pantalla (consola serial) el nmero de veces que el pulsador ha sido
presionado, se realiza un proceso que de acuerdo al nmero de pulsaciones se enciende un LED
//-------------------------------------------------//Declara puertos de entradas y salidas y variables
//-------------------------------------------------int conta = 0,i=0;
//Variable para guardar el conteo de los pulsos
//-----------------------------------//Funcion principal
//-----------------------------------void setup() // Se ejecuta cada vez que el Arduino se inicia
{

Serial.begin(9600); //Inicia comunicacin serial


pinMode(2,INPUT); //Configura el pin 2 como una entrada, pulsador
pinMode(3,INPUT);
pinMode(13,OUTPUT); //Configura el pin 13 como una salida, LED
}
//-----------------------------------//Funcion ciclicla
//-----------------------------------void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
// Si el pulsador esta oprimido
if ( digitalRead(2) == HIGH )
{
// Si el pulsador no esta oprimido, flanco de bajada
if ( digitalRead(2) == LOW )
{
conta++; //Incrementa el contador
Serial.println(conta); //Imprime el valor por consola
delay (100); // Retardo
}
}
// Si el valor del contador es 5
if ( digitalRead(3) == LOW ){
for(i=1;i<=conta;i++){
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
}
conta=0;
}
}

También podría gustarte