ORIGINAL |
https://arduino.microlog.es/cny70-detector-de-obstaculo/ |
Material necesario: |
1 Arduino UNO LOG 8431 1 Cable USB LOG 7509 1 Protoboard LOG 886 1 Optoacoplador CNY70 LOG 837 2 Resistencias de 220 Ohmios (rojo – rojo – marrón) LOG 748 220 1 Resistencia de 10K Ohmios (marrón – negro – naranja) LOG 748 10K 1 Diodo LED 5mm Verde LOG 722 7 Latiguillos board macho–macho LOG 7519
|
Circuito revisado: |
El circuito de basa
en el optoacoplador CNY70,
formado por un diodo emisor de
infrarrojos acoplado a un fototransistor
que hace de receptor.
Usando la configuración indicada arriba, las conexiones en el circuito CNY70 serían las siguientes: Como las patillas A (Ánodo) y C (Colector) van conectadas al mismo punto (volyaje +5V) resulta más útil insertar el CNY70 en la Protoboard de forma inclinada, abriendo ligeramente sus patillas (¡con mucho cuidado!) El circuito completo, usando la entrada analógica A5 para detectar las señales recibidas en el fototransistor, quedaria así: (pincha para verlo más grande)
|
Programa en mBlock: |
|
Programa en IDE de Arduino: |
|
Funcionamiento: |
El
circuito detecta obstáculos cercanos,
preferiblemente de color blanco
o un color claro:
|
RETOS: |
15-B- CNY70 con luz alternante: Añade un LED de color Rojo:
|
ORIGINAL |
https://arduino.microlog.es/moviendo-un-servomotor/ |
Material necesario: |
1 Arduino UNO LOG 8431 1 Cable USB LOG 7509 1 Miniservo 4,5V SG90 180º LOG 06 3 Latiguillos board macho–macho LOG 7519 |
Circuito revisado: |
Existen distintos
modelos de servomotores y según el fabricante, los colores de los
cables son distintos.
En el caso del SG90 tenemos que:
No se necesita placa
Board para conectar el Servomotor a Arduino:
|
Programa en mBlock: |
|
Programa en IDE de Arduino: |
|
RETOS: |
16-B- Ciclo de posiciones del Servomotor: Modifica el programa creando un ciclo de posiciones del Servomotor::
Para simplificar el programa, lo más útil es hacer un bucle para los valores crecientes y otro para los decrecientes: |
RETOS: |
16-C- Posiciones del Servomotor y su lectura en el Monitor Serie: Amplía el programa anterior con el ciclo de posiciones del Servomotor::
|
ORIGINAL |
https://arduino.microlog.es/moviendo-un-servomotor-con-un-potenciometro/ |
Material necesario: |
1 Arduino UNO LOG 8431 1 Cable USB LOG 7509 1 Protoboard LOG 886 1 Potenciómetro de 100K LOG 743 1 Miniservo 4,5V SG90 180º LOG 06 8 Latiguillos board macho–macho LOG 7519 |
Circuito revisado: |
(Pulsa para verlo más grande) |
Programa en mBlock: |
Para
facilitar la comprensión del programa se han creado dos variables:
En
realidad no es necesario crear las variables, pudiendo realizarse todo
el programa directamente en una orden que lo aglutine todo:
|
Programa en IDE de Arduino: |
El programa en el IDE
reproduce la misma idea del anterior, usando dos variables:
|
RETOS: |
17-B- Añade un LED que se encienda más o menos en función del valor del potenciómetro. utiliza para controlar su luminosidad una salida digital tipo ~PWM de Arduino (por ejemplo la ~5) El circuito sería el siguiente: (Pulsa para verlo más grande)
|
ORIGINAL |
https://arduino.microlog.es/control-de-motores-con-puente-en-h/ |
|||||||||||||||||
Material necesario: |
1 Arduino UNO LOG 8431 1 Cable USB LOG 7509 1 Protoboard LOG 886 2 Motores de CC de 1,5-4,5V y eje de 2mm LOG 00 2 Condensadores de poliéster de 100nF LOG 770 1 Puente en H - Driver de motores L293D LOG 874 3 pilas Alcalinas AA
de 1,5V R6 LOG 570 1 Portapilas 3xR6
(para 3 pilas 1,5V AA) LOG 533 20 Latiguillos board
macho–macho LOG 7519 |
|||||||||||||||||
Circuito revisado: |
El control de motores se basa en el circuito L293D El circuito integrado L293D es un Driver de motores. Esto significa que:
El siguiente diagrama muestra el funcionamiento del L293D en configuración Push-Pull con dos motores: Especificaciones:
El circuito usando la placa Protoboard sería el siguiente: |
|||||||||||||||||
Programa en mBlock: |
Para
realizar el programa, vamos a suponer que ambos motores se montan en un
chasis, de modo que
la combinación de los giros de ambos motores produce un movimiento
global de Avance, giro a la Derecha o a la Izquierda, movimiento hacia Atrás y Paro. Todo ello se explica en el
siguiente apartado
Para simplificar el programa, definimos previamente 5 bloques:
Como se ha explicado antes, la definición de cada bloque dependerá del giro efectivo que hagan los motores y la conexión de sus terminales. El programa siguiente es un ejemplo que habría que comprobar en la práctica: Por último, se completaría el programa con los movimientos que queremos que haga el robot: |
|||||||||||||||||
Programa en IDE de Arduino: |
El
programa propuesto también utiliza funciones (equivalentes a los
Bloques en mBlock)
para definir los modos de
Avance, giro a la Derecha o a la Izquierda, movimiento hacia Atrás y Paro. Una vez definidos éstos, el bucle con la secuencia del programa queda mucho más sencillo. Se podría redactar sólo los apartados void setup y void draw pero en lugar de cada orden AVANCE, DERECHA, IZQUIERDA, ATRAS y PARO habría que introducir las órdenes que contienen dichas funciones, resultando el programa más complicado de seguir. |
|||||||||||||||||
RETOS: |
18-B- Se puede independizar el circuito del ordenador siguiendo los pasos siguientes:
18-C- Hasta ahora hemos conectado las tomas ENABLE del L293D al positivo (+5V) de Arduino o de la batería (+Vcc2). Pero también se podrían conectar a una salida ~PWM de Arduino. Las salidas ~PWM proporcionan pulsos que permiten graduar el valor digital desde un nivel 0 (mínimo) hasta el nivel 255 (máximo). Si una salida ~PWM se conecta a Arduino se podría Regular la velocidad de los motores, consiguiendo:
Los motores:
18-D- Vamos a añadir un potenciómetro para regular el nivel de velocidad de los motores. Monta el circuito y diseña un programa para que haga lo siguiente:
|
ORIGINAL |
https://arduino.microlog.es/receptor-infrarrojo/ |
||||||||||||||||||||||||||
Material necesario: |
1 Arduino UNO LOG 8431 1 Cable USB LOG 7509 1 Protoboard LOG 886 1 Kit mando + Receptor infrarrojos TSOP LOG 8401 1 Pila de botón CR2032 de Litio de 3V para mando LOG 602 3 Latiguillos board macho–macho LOG 7519 |
||||||||||||||||||||||||||
Circuito revisado: |
El circuito Receptor de infrarrojos (el llamado IR remote o TSOP) se conecta de la forma siguiente:
(Pulsa
para verlo más grande)
|
||||||||||||||||||||||||||
Programa en mBlock3 |
Se
necesita un complemento para que
mBlock disponga de los bloques necesarios para controlar el chip
receptor de infrarrojos iRremote
TSOP LOG 8401
|
||||||||||||||||||||||||||
RETOS: | Ejercicio 19A - Instala la extensión IRremote en
mBlock 3 |
||||||||||||||||||||||||||
RETOS: | Ejercicio 19B - Una vez instalada la extensión
IRremote en mBlock 3, realiza el programa propuesto. Anota en una tabla como la siguiente a qué código corresponden las teclas inferiores del mando: (El mando que usamos es el modelo de 17 teclas) |
||||||||||||||||||||||||||
Programa en IDE de Arduino: |
CONFIGURACIONES
PREVIAS Para poder manejar el receptor infrarrojo (iR remote) hay que instalar las "librerías" adecuadas para controlarlo. Estas "librerías" son programas que contienen órdenes diseñadas especialmente para trabajar con dichos aparatos. Las librerías son algo así como los "drivers". Sigue el proceso siguiente para instalar la librería IRremote que te permitirá controlar el Receptor de infra-Rojos TSOP LOG 8401 (NOTA: TSOP significa Transmission System
Operator Package)
La extensión de mBlock que hemos usado para controlar el TSOP se basa en la librería IRremote 1.0.0 del IDE. Aunque existen versiones más actuales, es útil utilizar ésta porque sirve para nuestros propósitos y, al ser la que usa mBlock, nos facilita el trabajo porque los comandos los genera el propio programa. ¿Cómo hacemos para obtener la versión de IRremote 1.0.0? Hay dos formas de hacerlo:
(Pulsa cualquiera de las imágenes para verla en tamaño grande)
Vamos a ver cómo sería el procedimiento si partimos de un archivo ya descargado: IRremote-1.0.0.zip
Acabado cuaquiera de estos procedimientos, podemos realizar el programa básico del receptor infrarrojo en el IDE. Para diseñarlo nos hemos basado en las instrucciones creadas por mBlock, en las explicaciones de la web github y en los propios ejemplos incluidos en la carpeta de IRremote-1.0.0 |
||||||||||||||||||||||||||
Circuito
propuesto: |
Vamos a recordar el
circuito propuesto para el Receptor
de infrarrojos
(el llamado IR remote o TSOP):
(Pulsa
para verlo más grande)
|
||||||||||||||||||||||||||
RETOS: | Ejercicio 19C - Instala la extensión IRremote-1.0.0
en el IDE de Arduino siguiendo alguno de los procedimientos anteriores
|
||||||||||||||||||||||||||
RETOS: | Ejercicio 19D - Realiza el programa estudiado con el
IDE usando la librería IRremote-1.0.0 y comprueba su funcionamiento mediante
el Monitor Serie Para ello, completa una tabla como la siguiente, con los Códigos de las teclas indicadas del mando del TSOP |
||||||||||||||||||||||||||
RETOS: | Ejercicio 19E - Realiza un programa que controle la
luminosidad de un LED mediante el mando a distancia del TSOP:
(Pulsa
para verlo más grande)
PARTICULARIDADES DEL CIRCUITO:
Previamente deberás anotar los códigos necesarios para las teclas. Éstos varían según la libreria usada:
NOTA:
Lo relacionado con el Monitor Serie se puede borrar. Su utilidad es
como realimentación, para comprobar lo que va ocurriendo en el programa
|
||||||||||||||||||||||||||
RETOS: | Ejercicio 19F - Basándote en el anterior, realiza un
programa que controle la luminosidad de un LED RGB mediante el mando a
distancia del TSOP:
(Pulsa
para verlo más grande)
LAS CONDICIONES SON LAS SIGUIENTES:
Previamente deberás anotar los códigos necesarios para las teclas. Éstos varían según la libreria usada:
|
||||||||||||||||||||||||||
RETOS: | Ejercicio 19G - Realiza el programa de control de un móvil formado por 2 motores DC en configuración Puente, desde el mando a distancia:
Circuito propuesto:
|
||||||||||||||||||||||||||
RETOS: | Ejercicio 19H (Ampliación) - Completa el sistema de control del ejercicio anterior de la forma siguiente:
Circuito propuesto:
Ahora cobra sentido mantener la variable PWM y las órdenes asociadas, porque servirán para completar las especificaciones del programa:
|
ORIGINAL |
https://arduino.microlog.es/ |
Material necesario: |
1 Arduino UNO LOG 8431 1 Cable USB LOG 7509 1 Protoboard LOG 886 7 Resistencias de 220 Ohmios (rojo – rojo – marrón) LOG 748 220 3 Resistencias de 470 Ohmios (amarillo – morado – marrón) LOG 748 470 2 Resistencias de 1K Ohmios (marrón – negro – rojo) LOG 748 1K 1 Resistencia de 10K Ohmios (marrón – negro – naranja) LOG 748 10K 1 LDR LOG 731 1 Pulsador para circuito impreso LOG 542 1 Zumbador piezo-eléctrico activo LOG 714 1 Diodo de silicio 1N4007 LOG 760 1 Transistor NPN BC547 LOG 751 1 Hélice de 4 aspas para ejes de 2mm LOG 22 1 Led RGB ánodo común LOG 730 1 Display de 7 segmentos Cátodo Común de 1 dígito SC39-11 LOG 831-CC11 1 Optoacoplador CNY70 LOG 837 2 Diodos LED 5mm Rojo LOG 724 2 Diodos LED 5mm Amarillo (Ámbar) LOG 723 2 Diodos LED 5mm Verde LOG 722 1 Potenciómetro de 100K LOG 743 1 Miniservo 4,5V SG90 180º LOG 06 2 Motores de CC de 1,5-4,5V y eje de 2mm LOG 00 2 Condensadores de poliéster de 100nF LOG 770 1 Puente en H - Driver de motores L293D LOG 874 3 pilas Alcalinas AA
de 1,5V R6 LOG 570 1 Portapilas 3xR6 (para 3 pilas 1,5V AA) LOG 533 1 Kit mando + Receptor infrarrojos TSOP LOG 8401 1 Pila de botón CR2032 de Litio de 3V para mando LOG 602 20 Latiguillos board
macho–macho LOG 7519 |