Guia Arduino 3
Guia Arduino 3
Dicho lenguaje está compuesto por símbolos y reglas sintácticas y semánticas, expresadas
en forma de instrucciones y relaciones lógicas, mediante las cuales se construye el código fuente
de una aplicación o pieza de software determinado. Así, puede llamarse también lenguaje de
programación al resultado final de estos procesos creativos.
El rol de la programación en los últimos sesenta años ha sido crucial para comprender la evolución que
ha tenido la sistematización de tareas y el manejo de la información que hoy en día damos como un
hecho. En efecto, la misma tiene como principal función el hecho de conseguir que innumerables trabajos
que antes ejercíamos de forma manual y con un alto costo sean ejecutados por un ordenador con un
ahorro significativo de tiempo. Por otro lado, dada la increíble cantidad de información que hoy en día se
maneja para distintas tareas, la programación es una herramienta de enorme valor porque permite
bucear en la misma con muchísima facilidad
Lenguaje C++
C++ es un lenguaje de programación orientado a objetos que toma la base del lenguaje C y le
agrega la capacidad de abstraer tipos como en Smalltalk.
C++ es un lenguaje de programación diseñado a mediados de los años 80 por Bjarne Stroustrup.
La intención de su creación fue el extender al exitoso lenguaje de programación C con
mecanismos que permitieran la manipulación de objetos. En ese sentido, desde el punto de vista
de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se añadieron
facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban
admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele
decir que el C++ es un lenguaje de programación multiparadigma.
Las principales herramientas necesarias para escribir un programa en C++ son las siguientes:
x Un compilador de C++
x Paciencia
x Nociones sobre programación
x Un editor cualquiera de texto, o mejor un entorno de desarrollo (IDE)
x Visual c++
x Visual Studio
x Notepad++
x DevCpp
x Code::Blocks
x Eclipse
x entre otros
x Gedit
x Geany
x Kate
x KDevelop
x Eclipse
x Code::Blocks
x Entre otros
Explicación. Debemos conseguir que el led se encienda mientras estemos accionando los dos pulsadores a la
vez. Para ello utilizaremos Arduino simplemente como una pila.
Esquemas eléctricos
Ampliación. .Como harias que el led se encienda mientras al menos uno de los dos pulsadores
este acci
nado?
PRÁCTICA 3. El semáforo
Materiales. 1 led rojo, 1 led amarillo, 1 led verde y 3 resistencias de 220 Ω (rojo-rojo-marrón).
Explicación. Debemos conseguir que los tres leds se enciendan en bucle alternativamente,
como si de un semáforo se tratase, según esta secuencia: rojo (2 s), verde (2 s), amarillo (0,5
s). Para ello, conectaremos el ánodo del led rojo al pin 13, el ánodo del led amarillo al pin 11
y el ánodo del led verde al pin 9.
PRÁCTICA 6. Led a distinta intensidad (función analogWrite) Materiales. 1 led rojo y 1
resistencia de 220 Ω (rojo-rojo-marrón).
Explicación. Se pretende que un led pase de no lucir nada hasta lucir al máximo, luego
volverá a ir luciendo cada vez menos hasta que se pague y se vuelva a repetir el ciclo. Los
tiempos que tarde en pasar de apaga- do a totalmente encendido y viceversa son irrelevantes
siempre que lo podamos percibir claramente.
Para ello debemos conectar el ánodo del led a uno de los siguientes pines digitales: 3, 5, 6,
9, 10 o 11. Estos pines son PWM~, lo que significa que aunque están bien a 0 V bien a 5 V
por ser digitales, pueden simular voltajes analógicos intermedios. Por ejemplo, si en la mitad
del ciclo está en alto y la otra mitad está en bajo, entonces se comporta en término medio
como si fuese una salida de 2,5 V.
Conectaremos el ánodo del led al pin 11, que es PWM~. Tendremos que declarar este pin
como de salida en el setup().
Si escribimos:
analogWrite(11, 0);
(rojo-rojo-marrón).
Como la luminosidad del led va a ser variable, conectaremos su ánodo a un pin digital tipo
PWM~ , por ejemplo el pin 11. Recordemos que si queremos escribir un voltaje en el pin
PWM~ 11, primero lo declara- remos como pin de salida en el setup() y después escribiremos:
analogWrite(11,brillo);
Ya sabemos que los pines analógicos son A0, A1, …, A5 y que todos los pines analógicos
son de lectura, por lo que no hace falta declararlos en el setup(). Lo que vamos a aprender
ahora es cómo leer el voltaje de un pin analógico. Para ello usaremos la función analogRead.
La sentencia:
analogRead(A0);
lee el voltaje del pin analógico A0 con la siguiente salvedad; el valor de analogRead(A0) es 0
si A0 está a 0 V y es 1023 si A0 está a 5 V. Si A0 está a 2,5 voltios, entonces valdrá 512,5.
Por tanto, analogRead(A0); nos va a dar un valor entre 0 y 1023.
Así, si queremos pasar el voltaje del pin analógico (de lectura) A0 al pin digital PWM~ (de
escritura) 11 de manera sencilla, escribiremos:
brillo=analogRead(A0)/4;
analogWrite(11,brillo);
pues 255 es muy parecido
a 1023/4.
Aquí, el 9600 significa que la velocidad de transferencia es de 9600 baudios, esto es,
9600 bit/s, que es la velocidad adecuada entre Arduino y el serial o monitor serie.
Para ver por el serial el valor de la variable brillo seguido de un salto de línea escribiremos:
Serial.println(brillo);
Si queremos que en el serial ponga: “El valor de la variable brillo es: “ seguido del valor de
la variable brillo y luego un salto de línea, escribiremos:
Serial.print(“El valor de la variable brillo es: “);
Serial.println(brillo);
Práctica 8. Activar la alarma sonora y visual (config. pull-down)
Configuración pull-down
En cada loop nos preguntaremos si el pulsador está accionado (función IF); si lo está,
entonces tendrán lugar los diez ciclos tal como se han descrito (función FOR), para lo que
tendremos que conectar un extre-mo del piezo a un pin digital, por ejemplo el 13, y el otro
a tierra, el ánodo del led a otro pin digital, por ejemplo el 9, y el cátodo a tierra protegido por
la resistencia de 220 Ω.
Práctica 3: ¿Cómo harías para que el rojo permaneciese encendido 3 s, el verde 2 s y el amarillo 0,3 s?
Practica 4: ¿Cómo harías para que después de hacer el ciclo de retardo de 0,2 s haga el de 0,1 s cinco
veces y luego se apague el semáforo definitivamente?
Practica 5: ¿Cómo harías para que se encendieran alternativamente los pines pares y los impares?
Practica 7: ¿Cómo harías para que una vez que esté totalmente encendido espere medio segundo
antes de empezar a apagarse y lo mismo para cuando esté totalmente apagado?
Practica 8: .Como harías para que en vez de 10 ciclos fuesen 15 ciclos y cada ciclo durase 20 ms
menos?
SERVICIO NACIONAL DE APRENDIZAJE SENA
SISTEMA INTEGRADO DE GESTIÓN Versión: 02
Procedimiento Ejecución de la Formación Profesional Integral
GUÍA DE APRENDIZAJE Código: GFPI-F-019
Página 41 de 42
SERVICIO NACIONAL DE APRENDIZAJE SENA
SISTEMA INTEGRADO DE GESTIÓN Versión: 02
Procedimiento Ejecución de la Formación Profesional Integral
GUÍA DE APRENDIZAJE Código: GFPI-F-019
5. GLOSARIO DE TERMINOS
6. REFERENTES BIBLIOGRÁFICOS
https://concepto.de/lenguaje-de-programacion/
Página 42 de 42