Minicurso Arduino
Minicurso Arduino
Minicurso Arduino
Versión: 21/04/2019
Reto 0: La protoboard (placa de pruebas)
En este caso el reto consiste en iluminar un led, alimentándolo directamente con arduino, por tanto
no lo programaremos. Para ello utilizaremos una placa de pruebas, una resistencia, un led y los
terminales (5V y GND) de la placa de Arduino.
El objetivo es conocer la forma de conexionado en la placa de pruebas.
¿Qué es una protoboard?
Es un tablero con orificios que se encuentran conectados eléctricamente entre sí.
Esquema
Conexionado
La forma de conexión será la que se muestra en la figura.
Código fuente
Reto 2: Secuencia de leds
Se trata de encender y apagar 3 leds secuencialmente. Los leds deben estar conectados a los pines 3,
4 y 5 (los pines de los leds de edubasica). Tanto el tiempo de encendido y apagado será 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.
Estructura de control for.
Escribir funciones.
Esquema
Conexionado
La forma de conexión será la que se muestra en la figura:
Código fuente
Código fuente 2
Código fuente 3
Reto 3: SOS con zumbador
Se trata de un zumbador que en código morse (pitidos largos/cortos) especifica una palabra, en
nuestro caso SOS. Para el que no lo sepa, la S son tres señales acústicas de corta duración y la O
tres señales acústica de larga duración.
El zumbador debe estar conectado al pin 3, aunque para no ser ruidosos se puede hacer con el led
asociado al pin 3 de edubasica (verde), los pitidos o destellos cortos tendrán una duración de 100 ms
y los largos 300 ms. Entre letra y letra debe pasar un tiempo de 300 ms y entre SOS debe haber un
tiempo de 1000 ms.
Nota: Debes usar variables para guardar los tiempos que vas a usar.
Objetivos:
Repaso a blucle for.
Repaso a funciones.
Introducción del zumbador.
Resolución y comprobación de reto.
Esquema
Conexionado
Código fuente
Solución 1:
Solución 2:
Reto 4: Coche fantástico
Se trata de encender y apagar 3 leds secuencialmente. Los leds deben estar conectados a los pines 3,
4, y 5, que son los leds que provee edubasica.
Se deben encender y apagar los leds desde el pin 3 al 5, con un tiempo de encendido y apagado de
50 ms, más tarde se deben encender y apagar los leds desde el pin 5 al 3, con un tiempo de
encendido y apagado de 50 ms. La secuencia se debe repetir indefinidamente.
El efecto del programa es el de las luces delanteras de nuestro querido "Coche fantástico".
Objetivos:
Familiarizarse con el entorno de programación.
Repasar declaración de variables tipo lista de valores.
Repasar órdenes de control de programa como: for.
Esquema
Conexionado
Código fuente
Solución 1:
Solución 2 (con array)):
Solución 3 (mejorando el efecto visual):
Reto 5: Secuencia de leds con pulsador
Se trata de encender y apagar 3 leds secuencialmente al accionar un pulsador. El pulsador debe estar
conectado al pin 2 (al que está conectado el pulsador de edubasica), y los leds a los pines 3, 4 y 5
(los de edubasica).
Se deben encender y posteriormente apagar los leds desde el pin 3 al 5, con un tiempo de duración
de encendido y apagado de 200 milisegundos.
Nota: la secuencia principal del programa debe estar reproducida en una función a la que llamará el
programa principal.
Objetivos:
Aprender a conectar una entrada digital a arduino (pulsador). Divisor de tensión
Conexiones Pull-down y Pull-up.
Conocer órdenes como: digitalRead.
Conocer órdenes de control de programa como: If.
Aprender a enviar y visualizar datos por puerto serie.
Esquemas
El esquema eléctrico del pulsador será:
Siendo el esquema del conjunto el siguiente:
Conexionado
Conexionado real con pulsador:
Esquema
Conexionado
Código fuente
Código 1
Código 2 (con 5 leds y zumbador)
Código 2 (con variable tipo lista)
Código 3 (evita acertar con el pulsador permanentemente pulsado)
Reto 7: Detector de oscuridad
Se trata de un dispositivo que haga funcionar un led cuando la luminosidad baja de cierto umbral.
Para ello conectaremos una ldr a la entrada analógica 1 (edubasica ya la trae conectada) y un led al
pin 3 (uno de los edubasica). Cuando la luz llegue a cierto umbral de voltaje (entre 0 y 1023) que
nosotros decidamos, se encenderá el diodo led. Además se deberá visionar el valor de voltaje en la
entrada analógica (valor entre 0 y 1024) en una consola en el PC.
Objetivos:
¿Qué son las entradas analógicas?
Conexión de entrada analógica a arduino (ldr). Repaso de divisor de tensión.
Órdenes como: analogRead.
Visualizar datos en consola de puerto serie, con órdenes como: Serial.begin,Serial.print.
Órdenes de control de programa como: If else.
Esquemas
Esquema eléctrico.
Conexionado
Código fuente
Reto 8: Potenciómetro que enciende un led rojo o uno
verde en función de un valor de referencia
El reto consiste en iluminar un led rojo o un led verde en función de un valor de referencia que
obtendremos de un divisor de tensión formado por un potenciómetro y una resistencia. El led rojo
estará conectado al pin 5 y el verde al pin 3. El divisor de tensión de conectará a la entrada
analógica A0.
Objetivos:
Repaso a entradas analógicas.
Esquema
Conexionado
Código fuente
Reto 9: Aumentar y disminuir intensidad luminosa de
led (fading)
Se trata aumentar y disminuir la luminosidad de un led usando la capacidad de ofrecer una tensión
variable que da una salida analógica. Para ello se conecta un led al pin 3 (led verde en edubasica) y
se provoca que su luminosidad pase de mínima a máxima, para luego ir de máxima a mínima. Los
valores de salidas analógicas van del mínimo 0, al máximo 255.
Objetivos:
Conexionado de salidas analógicas (power with module pwm).
Conexionado
Código fuente
Reto 10: Aumentar luminosidad de led con pulsador
(fading)
Se trata de aumentar la luminosidad de un diodo led conectado al pin 3 (verde de edubasica) a
través de la activación de un pulsador conectado al pin 2 (el de edubasica). Si el pulsador se activa
aumenta la luminosidad del led pudiendo llegar hasta su valor máximo (255), si el pulsador no se
activa se mantendrá su luminosidad, si nos pasamos del valor máximo de luminosidad (255)
pulsando nuevas veces, la luminosidad pasará a valor nulo (0).
Los objetivos:
Repaso de conexionado de entradas digitales.
Conexionado
La forma de conexión será la que se muestra en la figura.
Código fuente
Reto 11: Control de led desde el ordenador
Se trata de diseñar un dispositivo que haga apagar o encender un led conectado al pin 3 desde el
ordenador. Si pulsamos la tecla 1 se encenderá y si pulsamos la 0 se apagará.
Los objetivos:
Repaso de visualización de datos en consola de puerto serie.
Conexionado
La forma de conexión será la que se muestra en la figura.
Código fuente
Solución 1
Solución 2
Solución 3
Reto 12: Control de servomotor estándar
El reto consiste en conectar un servomotor estándar al pin 7 (está especialmente dispuesto en
edubasica para ello), haciendo que el motor gire continuamente desde 0º a 180º y viceversa.
Objetivos:
• Conexionado de Servomotor.
Conexionado
La forma de conexión será la que se muestra en la figura.
Código fuente
Reto 13: Control de servomotor estándar con
potenciómetro
El reto consiste en conectar un servomotor estándar al pin 7 (está especialmente dispuesto en
edubasica para ello) que estará controlado por un potenciómetro conectado al pin analógico 0. El
sistema tiene que funcionar de tal manera que cuando el potenciómetro de un valor 0 de tensión en
su entrada analógica el servo tiene que estar a 0º, y en la otra posición extrema del potenciómetro
(marcando valor 1023) el servo tiene que estar a 180º.
Objetivos:
• Repaso de entradas analógicas
Conexionado
La forma de conexión será la que se muestra en la figura.
Código fuente
Reto 14: Servomotor de rotación continua
El reto consiste en conectar un servomotor de rotación continua al pin digital 7 y hacer que:
Gire durante 3 segundos a máxima potencia en un sentido.
Objetivos:
• Conexionado de servomotor de rotación continua.
Conexionado
La forma de conexión será la que se muestra en la figura.
Código fuente
Reto 15: Comunicación de ordenador con arduino.
Encender led con una tecla.
El reto consiste en encender o apagar led a través de una tecla del ordenador estableciendo una
comunicación serie en el sentido ordenador Arduino.
Objetivos:
• Control serie sentido Ordenador Arduino.
• Utilizar variables booleanas.
Conexionado
La forma de conexión será la que se muestra en la figura.
Código fuente
Reto 16: Variación de luz de led (PWM) con ldr.
El reto consiste en encender en variar la luminosidad de un led conectado a una salida PWM, de tal
forma que a menos luz exterior más luminosidad del led y viceversa.
Objetivos:
• Repasar conexionado divisor de tensión, PULL DOWN en este caso.
• Conocer o repasar la orden map.
• Repasar salidas PWM.
Esquema
Conexionado
La forma de conexión será la que se muestra en la figura.
Código fuente
Reto 17: Pulsador de un arduino controla led de otro
arduino.
El reto consiste en comunicar dos arduinos vía puerto serie, de tal manera que en el arduino maestro
cuando se pulsa un pulsador (D2) se enciende led del arduino esclavo (D13).
Objetivos:
• Repasar conexionado divisor de tensión de pulsador, PULL DOWN en este caso.
• Conexionado para comunicación de arduino.
• Conocer órdenes para enviar y recibir datos con arduino. Serial.read(), Serial.write() y
Serial.available().
Esquema
Esquema
Aplicación en el móvil
Antes de nada en el móvil tengo que activar la conexión bluetooth, e instalar de la Tienda de
aplicaciones (Google play Store en mi caso) la aplicación Arduino Bluetooth Controler.