2. Circuitos sencillos
Un LED
Circuito un led directo
Para las siguientes propuestas, el montaje es colocar un diodo LED, en este caso no es necesario complicarse, podemos montarlo directamente en el Arduino uno colocando el ánodo (pata más larga) en el pin13 y el cátodo (pata más corta) en masa GND, elegimos el pin 13 por estar al lado de GND
No es una buena práctica conectar un diodo directamente sin pasar por una resistencia, pues en teoría es un cortocircuito, PERO si se hace no pasa nada pues Arduino tiene una limitación interna de 20mA
Luego lo recomendable es hacerlo pasar por una resistencia, usando la placa PROTOBOARD
Para el cálculo de la resistencia, debemos de tener en cuenta que la máxima corriente es 20mA, que la tensión de salida es 5V y que el diodo tiene una tensión Vd de funcionamiento, que depende de su color:
Rminima = (5V-Vd)/20mA
Color | Vd | Resistencia mínima Ohm |
---|---|---|
Rojo | 1.8V | 160 |
Amarillo | 3.2V | 140 |
Verde | 3.2V | 90 |
Intermitente
Una propuesta muy sencilla
Solución
La captura está realizada con mBlock 3.0 no hay problema en hacerlo igual con mBlock 5.0
Aquí no hay ninguna interacción con el ordenador, este programa es candidato para ejecutarlo desde el Arduino como desde el ordenador. Vamos a añadirle algo de interacción con el ordenador en la siguiente propuesta.
Luz interactiva
Realizar un programa que al pulsar la tecla espacio, se encienda el led, un personaje cambie el disfraz, cambie el fondo y que suene un sonido
Solución
Con mBlock5.0 lo tienes aquí https://planet.mblock.cc/project/3265812
Declaramos una variable global ENCIENDE, es decir, estamos usando el método VARIABLE GLOBAL de https://libros.catedu.es/books/programa-arduino-con-mblock-scratch/page/programacion-mblock
En el objeto oso
En el dispositivo Arduino
Con mBlock 3.0
Pulsador
Vamos a realizar el Arduino según el apartado CONEXIÓN CON ARDUINO que hemos visto en https://libros.catedu.es/books/programa-arduino-con-mblock-scratch/page/pulsadores
Propuesta
Realizar un programa con la configuración de pulsador pull down en la entrada analógica A0 y un led en el 13, que cuando se pulse se encienda el LED
Solución
Por la entrada A0 cuando el pulsador está abierto hay 0V y cuando está cerrado hay 5V, luego los valores que tiene A0 son 0 y 1023 respectivamente
Pero eso en teoría pues si realizamos este programa:
Ocurre esto:
¿Por qué? seguramente cualquier defecto de conexión o si la resistencia es elevada, la tensión se queda flotante y ya el valor de A0 no es 0 sino va tomando valores, que algunas veces son 0 pero otras veces no lo son (por eso no está totalmente iluminado)
Luego lo mejor es subir el valor, hemos puesto 500 y sí que funciona correctamente
Pulsador interactivo
Realizar un programa que al apretar el pulsador, que el panda cambie de disfraz, haga un sonido, diga algo ... además de encender el LED con la misma configuración que la propuesta anterior
Solución
Con mBlock5 lo tienes aquí https://planet.mblock.cc/project/3265849
Utilizaremos la técnica BROADCAST explicado en https://libros.catedu.es/books/programa-arduino-con-mblock-scratch/page/programacion-mblock
En el dispositivo ARDUINO
En el objeto PANDA
Nota: Se podría hacer un SI - SINO pero programando de esta forma abrimos la posibilidad de ampliar si el mensaje encendido es por ejemplo = 2
Con mBlock3
Condensador
Propuesta
Realizar un programa que cargue y descargue el condensador y que lo visualice en un objeto.
La propuesta es con un condensador de 10μF y dos resistencias de centenares de k, según lo visto en el módulo M1 esto nos dará un tiempo de carga y descarga de varios segundos
OJO CONECTAR EL PIN (-) DEL CONDENSADOR A GND peligro de explosión si se conecta al revés
Las resistencias colocarlos de tal manera que uno sea para la carga y otro para la descarga.
Un cable suelto, en uno extremo el terminal (+) del condensador y el otro suelto preparado para tocar la resistencia de carga o la de descarga.
Esta misma conexión que lo lea Arduino, por ejemplo por A0
C
Visualizar la carga en un objeto Scratch que aumente de volumen:
Solución
Es muy sencillo, fija el tamaño de la pelota al valor del pin A0
Lo hemos hecho a través de una variable auxiliar "carga" para poder visualizar numéricamente su valor.
Con mBlock 5.0 lo tienes aquí https://planet.mblock.cc/project/3265873
En el dispositivo ARDUINO
En el objeto PELOTA
Con mBlock 3.0
AMPLIACIÓN
Se puede aprovechar esta experiencia para:
- Calcular el tiempo de carga, si coincide con la fórmula T = 5RC
- Visualizar que la pelota se carga o aumenta de volumen muy rápidamente al principio y luego lentamente, tal y como indica la teoría vista en el módulo 1
- Igualmente en la descarga
LDR
Realizar un programa que visualice en un objeto Scratch la cantidad de luz
El circuito es el siguiente: el LDR conectado a A0 y a una resistencia (la resistencia PULL UP para que la tensión que mida A0 sea la del LDR) y un objeto que aumente de tamaño según el valor de A0
Y el vídeo
Solución
El programa es el siguiente:
Lo hemos hecho a través de una variable auxiliar "carga" para poder visualizar numéricamente su valor.
Con mBlock 5.0 lo tienes aquí https://planet.mblock.cc/project/3265873
En el dispositivo ARDUINO
En el objeto PELOTA
Y en mblock 3.0
OOOPAAAA !!! ¡¡ Pero si es el mismo que el que acabamos de ver !!! El condensador
¡¡¡ vaya tontería !!!
Simplemente la variable carga no es el condensador sino la oscuridad
¿Que quieres cambiar el nombre de la variable carga por oscuridad? pues vale...
Ultrasonidos
Pues ya que estamos con la pelota, pues también seguimos: Hacer un programa que se hinche la pelota según la distancia.
En este caso, como la el sensor de ultrasonidos va desde 2 cm a 40cm, nuestra propuesta es que el tamaño se cambie multiplicado x50 ese valor, es decir "cambiar tamaño 50xdistancia", de no hacer esto, la pelota sale demasiado pequeña, o el objeto tendría que estar muy lejos para que se vea a un tamaño razonable.
La configuración la explicada en el módulo 1 es decir:
- Trigger en el pin 4
- Echo en el pin 3
Solución
Pues el programa es muy parecido a los anteriores:
Con mBlock 5
Opción sin instalar extensión
lo tienes aquí https://planet.mblock.cc/project/3266117
Estas funciones SOLO FUNCIONAN EN MODO CARGA
Opción instalando extensión
lo tienes aquí https://planet.mblock.cc/project/3266063
Pulsamos abajo al +
Buscamos extensiones para el sensor de ultrasonidos HC-SR04, nosotros hemos elegido esta
Que instala estas instrucciones
Esta extensiones (como suele pasar cuando instalamos una extensión) SOLO FUNCIONAN EN MODO CARGA
Luego para transmitir la distancia al objeto pelota, utilizamos la técnica de BROADCAST que vimos en https://libros.catedu.es/books/programa-arduino-con-mblock-scratch/page/programacion-mblock
Al dispositivo ARDUINO el programa es sin la extensión
Con la extensión
En el objeto PELOTA el programa es
Con mBlock3