Академический Документы
Профессиональный Документы
Культура Документы
MODULO II MES I
PROGRAMACION EN ARDUINO
Aprender a programar ayuda a las personas en todas las áreas del conocimiento. El pensamiento
computacional desarrolla la lógica, una parte muy poco desarrollada en las personas que no
estudian programación. La lógica que desarrollan en el estudio de la programación les permite
resolver todo tipo de problemas y procesar grandes cantidades de información. Te ayuda en la
agilidad mental, te obliga a pensar en más de una solución para un mismo problema y la
resolución de problemas es la habilidad más importante en la vida. El curso de programación
debería ser parte de la curricula de todas las carreras en las universidades del mundo, como son
los cursos de matemáticas y lengua, porque, el aprender a programar te ayuda a tener una visión
diferente de las cosas, a ser un mejor líder, a dar soluciones sencillas a problemas complejos.
“Todo el mundo en este país debería aprender a programar en un ordenador… porque te enseña a
pensar.” Steve Jobs
PRACTICA I
Led intermitente
Se trata de conectar un led al pin13, haciendo que luzca durante 500 ms y que se apague durante 100 ms,
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 órdenes como: pinMode, digitalWrite y delay
Materiales:
Arduino
Protoboard
Cable para arduino (macho macho)
1 diodo led
Diagrama:
Esquematico Pictorico
Programa:
void setup() { //comienza la configuracion
pinMode(13, OUTPUT); //configura el pin 13 como de salida
} //termina la configuracion
void loop() { //comienza el bucle principal del programa
digitalWrite(13, HIGH); //envia 5V al pin (salida)
13 delay (500); //espera 500 ms pin 13 con 5V
Conclusión
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
PRACTICA II
Secuencia de leds
Se trata de encender y apagar 4 leds secuencialmente. Los leds deben estar conectados a los pines 5,6,7 y
8. Se deben encender y posteriormente apagar los leds desde el pin 5 al 8, 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.
Materiales:
Diagrama:
Esquemático Pictórico
Programa:
int tiempo=200; //declara una variable como entero y de valor 200
void setup() { //comienza la configuracion
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
}
void loop() { //comienza el bucle principal del programa
digitalWrite(5,HIGH);
delay(tiempo);
digitalWrite(5,LOW);
delay(tiempo);
digitalWrite(6,HIGH);
delay(tiempo);
digitalWrite(6,LOW);
delay(tiempo);
digitalWrite(7,HIGH);
delay(tiempo);
digitalWrite(7,LOW);
delay(tiempo);
digitalWrite(8,HIGH);
delay(tiempo);
digitalWrite(8,LOW);
delay(tiempo);
}
for
La declaración for se usa para repetir un bloque de sentencias encerradas entre llaves un número
determinado de veces. Cada vez que se ejecutan las instrucciones del bucle se vuelve a testear la
condición. La declaración for tiene tres partes separadas por ';' , veamos el ejemplo de su sintaxis:
for (inicialización; condición; expresión)
{
Instrucciones;
}
La inicialización de una variable local se produce una sola vez y la condición se testea cada vez
que se termina la ejecución de las instrucciones dentro del bucle. Si la condición sigue
cumpliéndose, las instrucciones del bucle se vuelven a ejecutar. Cuando la condición no se cumple,
el bucle termina.
Programa 2
int tiempo=200;
int n;
void setup() { //comienza la configuración
for (n=5;n<9;n++) {
pinMode (n, OUTPUT);
}
}
void secuencia() {
for (n=5;n<9;n++) {
digitalWrite (n, HIGH);
delay (tiempo);
digitalWrite (n, LOW);
delay (tiempo);
}
}
void loop() {
secuencia();
}
arrays
Un array es un conjunto de valores a los que se accede con un número índice. Cualquier valor
puede ser recogido haciendo uso del nombre de la matriz y el número del índice. El primer valor
de la matriz es el que está indicado con el índice 0. Un array tiene que ser declarado y
opcionalmente asignados valores a cada posición antes de ser utilizado.
Del mismo modo es posible declarar una matriz indicando el tipo de datos y el tamaño y
posteriormente, asignar valores a una posición especifica:
Programa 3
int leds[]={5,6,7,8};// Declara variables tipo lista de valores
int tiempo=200;
int n=0;
void setup() { //comienza la configuracion
for (n=0;n<4;n++) {
pinMode (leds[n], OUTPUT);
}
}
void secuencia() {
for (n=0;n<4;n++) {
digitalWrite (leds[n], HIGH);
delay (tiempo);
digitalWrite (leds[n], LOW);
delay (tiempo);
}
}
void loop() {
secuencia();
}
Conclusión
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
PRACTICA III
Control del brillo de un led con un potenciómetro
Se trata de conectar un led al pin13, haciendo que luzca durante 500 ms y que se apague durante 100 ms,
este proceso se repetirá cíclicamente.
Para el control del brillo vamos a tener que utilizar una entrada analógica (A0) y una salida
digital que tenga PWM (D0). Partimos de la premisa de que a la entrada digital le va a llegar un
valor entre 0-5V según la posición que tenga el mando del potenciómetro. Arduino gracias a un
convertidor A/D de 10 bits de resolución del que dispone, convierte el valor de tensión de
entrada en un valor numérico entre 0 -1023, en definitiva al leer el pin analógico se obtiene un
número.
Ese número lo tenemos que llevar a la salida digital dotada de PWM (Modulación de anchura de
pulsos,) para que el convertidor D/A de 8 bits que también posee Arduino lo transforme en un
valor de tensión aplicable en el circuito. Al tener menos resolución el convertidor D/A tenemos
que dividir el número obtenido en la entrada entre 4 para que se ajuste a los valores con los que
trabaja este convertidor (0-255) para poder obtener nuevamente valores de tensión entre 0-5V.
En la siguiente imagen se muestra un sinóptico de como Arduino realiza esta conversión.
Sinóptico de conversión A/D D/A
Hay que tener en cuenta que al LED no le pueden llegar los 5V que ofrece Arduino en su salida,
puesto que se quemaría, por lo que tenemos que limitar la corriente que lo atraviesa mediante
una resistencia de 220Ω, con lo que en sus extremos tendrá como máximo unos 2.2V.
Objetivo:
Controlar la intensidad del brillo de un LED mediante un potenciometro.
Aprender a usar los pines analógicos de Arduino.
Material necesario:
1 – Tarjeta ARDUINO UNO
1 – Cable USB para Arduino
1 – Tarjeta Protoboard
1 – Software IDE de Arduino
1- Diodo Led de cualquier color (Común)
1- Resistencia de 220 / 330 Ohms
1- Potenciómetro de 10k para conectar en un Protoboard.
Descripción
Aclaración: Es importante que sea el pin 3 ya que es una salida analógica, aunque la Arduino UNO cuenta
con otros pines analógicos a parte del 3, estos el 5, 6, 10 y 11, se les puede reconocer por el signo ~ que les
antecede.
DIAGRAMAS
Esquematico Pictorico
Programa:
Materiales y Métodos:
1. Un LED.
2. Una tarjeta Arduino Uno-R3 o Arduino Mega 2560.
3. Un cable USB impresora.
4. Un computador.
5. Cables para el montaje del circuito.
6. Tarjeta Protoboard.
7. Resistencia Eléctrica de 220 ohm, 10K .
8. Un Botón Pulsador.
Descripción
if (inputPin == HIGH)
{
instruccionesA;
}
else
{
instruccionesB;
}
else puede ir precedido de otra condición de manera que se pueden establecer varias
estructuras condicionales de tipo unas dentro de las otras (anidamiento) de forma que
sean mutuamente excluyentes pudiéndose ejecutar a la vez. Es incluso posible tener
un número ilimitado de estos condicionales. Recuerde sin embargo qué sólo un
conjunto de declaraciones se llevará a cabo dependiendo de la condición probada:
PROGRAMACION A
CONCLUSION
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
PRACTICA IV
CUBO DE LEDS 4*4*4
OBJETIVO:
Familiarización de funciones, estructuras y bucles anidados; programación nivel medio con el
microcontrolador arduino.
Visualizar imágenes en 3d, por medio de una pantalla led
Utilizar mediante la técnica de multiplexacion, la visualización de imágenes en 3d, previamente
programadas
Materiales:
64 leds
64 resistencias de 220
4 resistencias 10K
4 transistores 2n3904
Arduino
Cautín estaño
Batería 9v
Broche de batería
PROCEDIMIENTO
Primero que nada, hay que construir una especie de plantilla para poder posicionar bien los leds
y efectuar el doblado de las patillas, sin que se deforme. Para esto, una madera fina, y un taladro
con broca del tamaño de los leds 5mm, y realizamos la plantilla con los 16 agujeros en forma de
cubo y uno en el centro, tal que como se muestra
Se finaliza el cubo, cuando tenemos un cubo con 9 patillas donde cada una de ellas corresponde
al Ánodo de los 3 leds de esa misma columna, y 3 niveles o filas de leds conectados por sus
cátodos.
Terminado el cubo procedemos a la conexión con Arduino. Dado que son leds, necesitan de una
pequeña resistencia a que conectamos cada uno de los pines del cubo con una resistencia de 220,
a 16 pines digitales del Arduino.
Diseña una placa electrónica en Proteus y suelda el cubo de leds.
DIAGRAMAS
ESQUEMATICO
PICTORICO
PROGRAMACION
Realízala en tu computador
CONCLUSION
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
TRABAJO PREPARATORIO
Responda.
¿Qué es una señal análoga?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
¿Qué es una señal digital?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
¿Que son salidas PWM?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
GRAFIQUE
Grafique una señal análoga y digital (T vs V)
DESCRIBA
Escriba los tipos de variables que conoce de arduino
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
INVESTIGUE
Consulte el datashet del puente H L293D, grafique las conexiones del integrado con 2 motores