Cuaderno Depracticas Arduino
Cuaderno Depracticas Arduino
Cuaderno Depracticas Arduino
“PAULO FREIRE”
DISTRITO EL ALTO - 3
MODUL
O DE
PROGRA
MACIO
CUADE
RNON DE
PRÁCTIC
AS
CON AUTOR: PROF. LIC. SANTIAGO LUNA LUJAN
ARDUN
O
INTRODUCCION
Este compendio de programación y Ejercicio electrónico, nos permitirá, lograr entender el uso
adecuado de la tarjeta Programable ARDUINO, el lenguaje está compuesto por códigos escritos en
ingles lo cual no nos permite un desarrollo normal en el proceso de programación, pero tampoco
es imposible, más bien es un reto lograr componer ideas que se pueden lograr y desarrollar con
facilidad.
No es necesario saber inglés a profundidad, sino los comandos y/o palabras más incidentes en el
lenguaje de programación, en el cual nos ayudaremos de los manuales colgados en las páginas de
Internet, y direcciones originales del entorno de ARDUINO, para programar.
El requisito indispensable no es más que las ganas de aprender, por supuesto lo básico de la
electrónica.
Como principio debemos entender que el entorno ARDUINO nos permitirá realizar un co-dominio
de la electrónica, y este (la electrónica) dominar el OBJETIVO con el cual, enfocamos y deseamos
dominar.
MATERIALES:
- Arduino UNO.
- Resistencias de 220 ohmios( rojo,rojo,café).
- Leds.
CONOCIMIENTOS TEORICOS: El entorno arduino nos permite utilizar para las entradas y
salidas DIGITALES, usar dos comandos o funciones que permiten comandar dichas
entradas.
pinMode (pin,mode); // la escritura debe hacerse tal como lo vemos escrito en esta línea.
Noten que se invoca el pin (cualquiera de los pines digitales comprendido entre 0 – 13
salidas) podemos elegir el más conveniente para el objetivo de nuestra práctica, y el
MODO de TRABAJO los cuales son OUTPUT – INPUT, salida o entrada, para el caso de la
practica OUTPUT – salidas. Este proceso se debe indicar en la primera parte de la
estructura de programación, en este caso en el void setup(){ .
void setup() {
void loop() {
delay(500);
NOTA: observemos que usamos el pin digital n°12, en el setup, y en la función loop, le
ordenamos a esta salida digital que encienda al led con la palabra digitalWrite(12,HIGH); y
el delay nos presenta el tiempo del encendido del led que se calcula en milisegundos,para
un segundo entonces colocamos (1000); para el apagado digitalWrite(12,LOW); con un
tiempo de delay (1000); esta función se repite continuamente en el loop.
MATERIALES:
- Arduino UNO.
- Resistencias de 220 ohmios ( rojo,rojo,café,dorado).
- Leds.
PROCEDIMIENTO: Conectar a las salidas digitales resistencias de 220 ohms, en serie con
un led, con su respectiva tierra, y aplicar el siguiente programa.
Void setup(){
pinMode (13,OUTPUT);
pinMode (12,OUTPUT);
pinMode (11,OUTPUT);
pinMode (10,OUTPUT);
pinMode (9,OUTPUT);
pinMode (8,OUTPUT);
pinMode (7,OUTPUT);
pinMode (6,OUTPUT);
pinMode (5,OUTPUT);
pinMode (4,OUTPUT);
pinMode (3,OUTPUT);
pinMode (2,OUTPUT);
pinMode (1,OUTPUT);
pinMode (0,OUTPUT);
}
Cargar el programa a la tarjeta, observaras el efecto secuencial de las salidas, los leds se
prenderán desde el pin 13 hacia el pin 0, y volverá a empezar nuevamente desde el 13.
Realice otros efectos como las luces del auto fantástico, que los leds inicien desde los
extremos hacia el centro, y retornen a los extremos. Que los leds se enciendan los pares y
luego los impares.( practique otros efectos), manipulando el orden de programación
solamente.
PRACTICA N°3
MATERIALES:
- Arduino UNO.
- Resistencias de 220 ohmios( rojo,rojo,café,dorado).
- Leds.
- Pulsador.
PROCEDIMIENTO: Para salida digitales conectar resistencias de 220 ohms, en serie con
un led, con su respectiva tierra, conectar un pulsador en serie con ua resistencia de 10K,
aplicando en un extremo 5v. y en el otro tierra, en medio de los dos componentes es la
entrada del pin digital al arduino, luego aplicar el siguiente programa.
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(botonPin, INPUT);
}
void loop() {
estadoBoton = digitalRead(botonPin); // analiza el pulsador en su primer estado
if (estadoBoton == HIGH) { // si está presionado ordena que se prenda el led
digitalWrite (ledPin, HIGH);
} else { // sino ordena que se apague con el siguiente comando
digitalWrite(ledPin, LOW);
}
}
MATERIALES:
- Arduino UNO.
- Resistencias de 220 ohmios( rojo,rojo,café,dorado).
- Leds.
- Potenciometro de 10K
Ejemplo:
Entradas y salidas
analógicas
PROCEDIMIENTO: para configurar la salida analogica debemos tomar en cuenta que solo
es permitido una entrada en voltaje de 5 voltios maximo, y lo que soporta la tarjeta
arduino,( tomar en cuenta este comentario).
Conectar el potenciometro al pin analogico A0, y la salida al pin digital 13, escribir el
siguiente programa.
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
estadoPot = analoglRead(potenciometroPin); // analiza el pulsador en su primer estado
digitalWrite (ledPin, HIGH);
delay (estadoPot); // el tiempo depende de la regulación y el valor del potenciómetro.
digitalWrite(ledPin, LOW);
delay (estadoPot);
}
MATERIALES:
- Arduino UNO.
- Resistencias de 220 ohmios( rojo,rojo,café,dorado).
- Leds.
- Potenciometro de 10K
Por otra parte el uso de TIPOS de DATOS en programacion, nos permite usar diferentes
extenciones de datos, de acuerdo a las necesidades de nuestro proyecto, como el BYTE,
INT, LONG, FLOAT, ARRAYS. En este caso usaremos el tipo de datos INT, en programacion.
PROCEDIMIENTO.- En este caso haremos uso de un circuito que ya fue armado pero nos
enfocaremos en la programacion para demostrar diferentes programas, escribir en sketch
de arduino el siguiente ejemplo:
void setup() {
pinMode(pinLed, OUTPUT);
}
void loop() {
estadoPot = analoglRead (pot ); // analiza el potenciómetro su estado inicial
digitalWrite (pinLed, HIGH);
delay (estadoPot); // el tiempo depende de la regulación y el valor del potenciómetro.
digitalWrite(pinLed, LOW);
delay (estadoPot);
}
NOTA:_ En este ejemplo notaremos que se usa en varias lineas el termino “int” que
designa valores enteros de respuesta, esta es una función entera de datos, adema seguido
de esta función escribimos la VARIABLE, como “pot” a un potenciómetro, y “pinLed” a una
salida que se conectara un led. “estadoPot”, para conocer el momento en que la
resistencia variable indica cierta impedancia.
ARMAR EL SIGUIENTE ESQUEMA CIRCUITAL:
NOTA: para el mismo circuito podemos variar con otras variables como por ejemplo:
void setup() {
pinMode(Led, OUTPUT); //la variable es “led”
}
void loop() {
valorSensor = analoglRead (sensor ); // analiza el potenciómetro su estado inicial
digitalWrite (Led, HIGH);
delay (valorSensor); // el tiempo depende de la regulación y el valor del potenciómetro.
digitalWrite(led, LOW);
delay (valorSensor);
}
NOTA: lo que podemos observar es que se cambio las variables con otros nombres usuales
y conocidos, también enfatizar que cuando declaramos funciones de tipos de datos como
int, float, long, arrays, si esta antes del SETUP, se puede Visualizar en todo el programa,
también si lo declaramos dentro de la función LOOP solo sirve dentro el LOOP, o diseñado
en cierta ocasión de trabajo.
PRACTICA N°6
MATERIALES:
- Arduino UNO.
- Resistencias de 220 ohmios( rojo,rojo,café,dorado).
- Leds.
- Potenciometro de 10K
CONOCIMIENTOS TEORICOS: el estamento “if” significa “si”, sirve para probar si una
condicion de trabajo, alcanza su probabilidad objetiva, o no logra alcanzar, para luego salir
del programa, y ejecutarlo. Como lo escribimos dentro del programa? De acuerdo a su
estructura: if (variable==valor); // la igualdad “==” varia con otros operadores como “<”,
“>”, “<=”, ”>=”, “!=” no es igual. No debemos olvidar que despues de invocar este
estamento o funcion, le acompaña una llave de apertura, seguida de la funcion que debe
ejecutar, o las instrucciones que se deben realizar, luego cerrar la respectiva instrucción
con su llave de cierre }.
PROCEDIMIENTO.- En este caso haremos uso de un circuito que ya fue armado pero nos
enfocaremos en la programacion para demostrar diferentes programas, escribir en sketch
de arduino el siguiente ejemplo:
void setup() {
pinMode(pin_a, OUTPUT); // declararlos como salida a cada variable
pinMode(pin_b, OUTPUT);
pinMode(pin_c, OUTPUT);
pinMode(pin_d, OUTPUT);
pinMode(pin_e, OUTPUT);
}
void loop() {
if (x > 9) { // la condicional if, que pregunta si la variable x es menor a 9, si es asi
ejecuta el siguiente programa
digitalWrite(pin_a, HIGH);
digitalWrite(pin_b, HIGH);
digitalWrite(pin_c, HIGH);
digitalWrite(pin_d, HIGH);
digitalWrite(pin_e, HIGH);
delay (500);
digitalWrite(pin_a, LOW);
digitalWrite(pin_b, LOW);
digitalWrite(pin_c, LOW);
digitalWrite(pin_d, LOW);
digitalWrite(pin_e, LOW);