Libro



CURSO DE ARDUINO 4

Seguimos conociendo las posibilidades de la placa de Arduino.  Recuerda que puedes acceder a la web deArduino a través de la dirección: www.arduino.cc
Para realizar las prácticas con Arduino necesitamos el material electrónico que se  describe en la siguiente LISTA DE MATERIALES.
Muchas webs ofrecen circuitos y programas para experimentar con Arduino. Una de ellas, de la que hemos obtenido información es: www.fritzing.org siendo muy recomendable el programa libre Fritzing, que puede descargarse desde su web y que hemos utilizado para los diseños de circuitos con placa de prototipos. Este programa permite diseñar circuitos mediante placa de prototipos, obteniendo a la vez su esquema y pudiendo usar el diseño para crear una placa PCB (placa de circuito impreso) que puede fabricarse a partir del modelo resultante, e incluso encargarse a la web de Fritzing para que ellos lo fabriquen (previo pago en este caso, claro). También es muy interesante el KIT Fritzing basado en Arduino, pues contiene casi todo el material que se necesita para las prácticas propuestas.
Como en todos los capítulos, la idea del curso y los archivos de video han sido obtenidos de www.miriadax.net, de un curso de Xnergic-TecnoCampusMataró (TCM) dirigido y presentado por Marco Antonio Rodríguez, al cual agradecemos calurosamente su esfuerzo.

Scratch for Arduino (S4A)

SCRATCH
Se recomienda ver todos los videos en PANTALLA COMPLETA y usar unos AURICULARES. Los videos imprescindibles para realizar el curso se marcan con una tabla con fondo Naranja. Los ejercicios aparecen en color Verde.

MÓDULO 5. SCRATCH FOR ARDUINO (S4A)

(Pincha en los enlaces para acceder al canal de Youtube y ver los videos)

5.1 INTRODUCCIÓN
Aprenderemos a utilizar una variante de Scratch. el llamado "Scratch for Arduino" (Scratch para Arduino), abreviado S4A, para programar la placa de Arduino desde un entorno más intuitivo.

5.2 CÓMO INSTALAR S4A (SCRATCH FOR ARDUINO)
Este programa, desarrollado por el Citilab de Cornellá, puede descargarse desde su página web (en inglés): http://s4a.cat/ (Existe versión en castellano, a la que se puede acceder pinchando en las siglas ES de la parte superior derecha de la pantalla, sin embargo, en la versión en inglés, a día de hoy, hay más información sobre la instalación).
En ese mismo lugar podemos encontrar información de cómo instalarlo, diversos circuitos de ejemplo y el enlace al programa necesario y este manual de S4A (en español) que explica la instalación y muestra muchos ejemplos.

S4A tiene predefinidas las siguientes ENTRADAS/SALIDAS especializándolas en algunos casos para elementos concretos. Esta configuración está aún desarrollándose, de modo que puede variar de una versión a otra de S4A:
  • SALIDAS DIGITALES:  Pines digitales 10, 11, 12  y 13
  • SALIDAS ANALÓGICAS:  Pines "digitales" ~5, ~6 y ~9 (son salidas PWM realmente)
  • SALIDAS PARA SERVOMOTORES DE ROTACIÓN CONTINUA:  Pines "digitales" 4, 7 y 8
  • SALIDAS PARA SERVOMOTORES "Normales":  Pines "digitales" 4, 7 y 8
  • ENTRADAS ANALÓGICAS (Sensores Analógicos):  Todos los Pines Analógicos A0, A1, A2, A3, A4, A5
  • ENTRADAS DIGITALES (Sensores Digitales):  Pines digitales 2 y 3
Para instalar S4A es necesario seguir los siguientes pasos:
  1. Descargar S4A de la página oficial (por ejemplo, este enlace para Windows)
  2. Hay que tener descargado e instalado el programa de Arduino (Ya lo tenemos, pero siempre es bueno comprobar si hay nueva versión: software Arduino)
  3. Es recomendable instalar Drivers para usar Arduino en Windows, incluso si Arduino ya nos funcionaba, pues en ocasiones es necesario para que funcione S4A. Puedes descargarlos en la página de S4A: Drivers de Arduino para Windows. Hay que descomprimir la carpeta y ejecutar la versión adecuada a nuestro Windows.
  4. Ahora hay que abrir el archivo con el Firmware , que es un programa que hay que transferir a la placa de Arduino. Procede así:
    • Accede al Firmware. Se abrirá una nueva ventana con un programa en modo texto.
    • Copia el texto y abre el software de Arduino
    • Borra el texto que está escrito y pega en su lugar el programa con el Firmware.Guarda el resultado en una carpeta para tenerlo a mano siempre
    • Conecta la placa de Arduino al puerto correspondiente. Comprueba que está correctamente conectada.
    • Verifica el FIRMWARE: y, si es correcto:
    • Cárgalo en ARDUINO:
  5. Ahora puedes abrir por fin S4A
Una vez realizado el proceso, S4A debe detectar la placa y empezar a mostrar cómo varían los sensores, que son activados automáticamente.
Ventana derecha:



En la parte izquierda de la ventana aparecen los comandos principales, que incluyen las órdenes relacionadas directamente con las Entradas y Salidas de la placa:
Ventana Principal:

5.2. INSTALACIÓN Y PUESTA EN MARCHA DE S4A (Ejercicios):
  • 5.2.A. COMPROBACIÓN DE ENTRADAS Y SALIDAS. Conecta la placa de Arduino y abre S4A. Comprueba los PINES que corresponden a las distintas Entradas y Salidas, desplegando el cuadro de diálogo de cada una, como aparece en la imagen anterior. Si no coincide con lo anterior, realiza una nueva tabla.
      • SALIDAS DIGITALES:  Pines...
      • SALIDAS ANALÓGICAS:  Pines...
      • SALIDAS PARA SERVOMOTORES DE ROTACIÓN CONTINUA:  Pines...
      • SALIDAS PARA SERVOMOTORES "Normales":  Pines...
      • ENTRADAS ANALÓGICAS (Sensores Analógicos):  Pines...
      • ENTRADAS DIGITALES (Sensores Digitales):  Pines...

  • 5.2.B. PARAR Y REANUDAR CONEXIÓN. Comprueba qué ocurre al utilizar estas órdenes siguiendo estos pasos:
    • Haz doble click en "Parar conexión"  y observa qué ocurre en la ventana de la derecha de S4A.
      • En este estado, haz doble click en las órdenes "Valor del Sensor" y"¿Sensor presionado?" para ver qué ocurre. Anota el valor que obtienes, por ejemplo:

5.B.1 CONEXIÓN PARADA
SENSOR ESCOGIDO:
VALOR OBTENIDO
Valor del sensor (Analog0)

¿sensor Digital2 presionado?



    • Ahora haz doble click en "reanudar conexión"  y vuelve a comprobar el estado de los sensores en la ventana de la derecha.
      • Vuelve a comprobar el estado de los sensores, usando las órdenes anteriores. ¿Qué valor obtienes en cada caso?
5.B.2 CONEXIÓN ACTIVA
SENSOR ESCOGIDO:
VALOR OBTENIDO
Valor del sensor (Analog0)

¿sensor Digital2 presionado?




  • 5.2.C. ESCRITURA EN EL LED "L" (DE "LOAD" O CARGA)
      • Vamos a comprobar la comunicación con la placa a través de S4A. Para ello activa y desactiva el LED "L" asociado al PIN Digital 13.

5.2.C.1. ESCRITURA DESDE S4A EN EL PIN 13 (PIN "L" - LOAD O DE CARGA)
Instrucciones:
  1. Carga el FIRMWARE en Arduino.
  2. Abre S4A
  3. Sitúa las siguientes órdenes en la ventana de Programas y haz doble click para ver su efecto.
  4. El resultado debe observarse en el LED "L" de Arduino, que corresponde al PIN Digital 13.



  • 5.2.D. INTERMITENCIA EN EL LED "L"
      • Vamos a realizar n programa completo en S4A que consiste en una secuencia intermitente.

5.2.D. INTERMITENCIA EN EL PIN 13
Instrucciones: Usa las instrucciones anteriores, pero ahora crea un programa con  S4A que realice, de forma automática, una intermitencia en el LED "L", con las condiciones siguientes:
  1. La intermitencia se iniciará al presionar la Tecla Espacio.
  2. Se repetirá 10 veces.
  3. El LED estará encendido durante 1/2 segundo
  4. Después se apagará durante otro 1/2 segundo
  5. El ciclo se repetirá 10 veces, acabando en estado "Apagado"


  • 5.2.E. INTERMITENCIA EN EL PIN 13
      • Con este circuito, comprobamos que la señal en el LED "L" es la misma que se transmite al PIN 13.
5.2.E. INTERMITENCIA REPLICADA EN CIRCUITO EXTERNO (PIN 13)
Esquema:

Proto-Board:

Instrucciones: Utiliza el mismo programa anterior, pero conecta exteriormente un LED al PIN 13 de Arduino para comprobar su funcionamiento. Recuerda que necesitas colocar en Serie una Resistencia de 220 Ohmios.


  • 5.2.F. APLICACIÓN DE S4A AL PROGRAMA DEL S.O.S EN MORSE (ver práctica SOS anterior)
    • Vamos a utilizar el mismo circuito, pero añadiendo una característica más. Se trata de reproducir una señal de S.O.S. en código Morse:  ... _ _ _ ... de la forma siguiente:
      • Además del programa anterior, que ocurría al pulsar la Tecla espacio, vas a añadir al programa anterior otra opción:
      • La intermitencia se iniciará al presionar la Tecla 1 (el número 1 del teclado), con la siguiente secuencia:
        1. El LED parpadeará 3 veces con ráfagas Cortas
        2. A continuación habrá una pausa
        3. El LED parpadeará 3 veces pero con ráfagas Largas
        4. Nueva pausa
        5. El LED volverá a parpadear 3 veces con ráfagas Cortas


  • 5.2.G. APLICACIÓN DE S4A AL PROGRAMA DEL SEMÁFORO (ver práctica SEMÁFORO anterior)
    • Usando un montaje similar al SEMÁFORO de una práctica anterior, vamos a reproducir su funcionamiento mediante S4A.
5.2.G. APLICACIÓN DE S4A AL PROGRAMA DEL SEMÁFORO
 Esquema:

Proto-Board:
Instrucciones:
  • Crea en S4A un nuevo programa que realice la secuencia típica de un semáforo:
    1.  La secuencia se iniciará al pulsar "La bandera Verde"
    2. Comienza el LED Verde encendido durante 3 segundos (luego se apaga).
    3. A continuación parpadea 5 veces el LED amarillo (termina apagándose).
    4. El LED rojo se enciende otros 3 segundos (luego se apaga)
    5. Se repite indefinidamente la secuencia
  • PREGUNTA: ¿Por qué no podemos usar los mismos PINES que utilizábamos en la práctica anterior?






5.3 MANEJO DE SERVOMOTORES CON S4A. ROBOT CON SERVOMOTORES
Vamos a realizar varias prácticas que utilicen las posibilidades de control de Servomotores del programa S4A.

    • 5.3.A. CONTROL DE UN SERVOMOTOR a través de S4A. Realizaremos un programa igual que el del video, para hacer que un servomotor cambie de 0º a 180º:
    • Al pulsar la Tecla Espacio, el servomotor se posicionará en
    • Pasado un segundo volverá a 180º
    • El servomotor se conectará al PIN8 de Arduino (recuerda que sólo se pueden usar algunos pines para manejar Servomotores "normales", en nuestro caso, 4, 7 u 8)
    • Antes de realizar el montaje del servomotor, recuerda el patillaje de los distintos modelos

5.3.A. CONTROL DE UN SERVOMOTOR mediante S4A
Esquema:
Placa:
Instrucciones: Recuerda los pasos necesarios para usar S4A
  1. Abre el software de Arduino
  2. Carga el FIRMWARE y transmítelo a Arduino
  3. Abre S4A y crea el programa necesario


    • 5.3.B. MODIFICACIONES en el programa del Servo. Cambia el programa para incluir más posiciones del servomotor:
      • Además del uso anterior de la Tecla Espacio (posición 0º y, tras un segundo, posición 180º), crea las órdenes para que el servomotor se posicione en las siguientes orientaciones:
        • Tecla 0: posición 0º
        • Tecla 1: posición 45º
        • Tecla 2: posición 90º
        • Tecla 3: posición 135º
        • Tecla 4: posición 180º

    • 5.3.C. USO DE INCREMENTOS y VARIABLES en el programa del Servo. Se trata de añadir al programa la posibilidad que aparece en el Video (minuto 2) para conseguir los siguiente:
        • Al apretar la Flecha Derecha -> el Motor se posiciona 5º más a la derecha
        • Al apretar la Flecha Izquierda -> el Motor se posiciona 5º más a la izquierda
        • Para ello hay que definir una variable (ángulo). OJO: no te fijes en el programa del VIDEO, comprueba por tí mismo si añadir 5º al ángulo hace que el servo se posicione más a la derecha o a la izquierda

    • 5.3.D. AMPLIACIÓN: Uso de la VARIABLE ANGULO en TODOS LOS PROGRAMAS. Modifica el programa para que la variable "Angulo" se utilice en todos los casos, de modo que, una vez ubicado el motor en una posición (con las teclas Espacio, 0, 1, 2, 3 y 4) se pueda, a continuación, situar más a la derecha o la izquierda utilizando las flechas.



SERVOMOTORES DE ROTACIÓN CONTINUA
Se trata de Servomotores que se han modificado (manualmente o de fábrica) para obtener una forma distinta de funcionamiento:
  • En esta modalidad, el servomotor no puede posicionarse en un ángulo concreto
  • A cambio, puede dar vueltas completas.
  • Sus posibilidades de funcionamiento son 3:
    • Parado
    • Rotación en sentido Horario (el de las agujas del reloj)
    • Rotación en sentido Antihorario (al revés que las agujas del reloj)
SENTIDO DE ROTACIÓN EFECTIVO: En un servomotor comercial ¿Cómo se entiende el sentido de una rotación? Pues depende del modelo, nos podemos encontrar una cosa y la contraria. Por ejemplo, en el DS04-NFC que he probado, el sentido Horario se entiende visto desde la posición del motor. Pero en el servomotor SG90 de 9g de TOWER PRO es al revés. Por ello lo mejor es comprobarlo antes de hacer el programa.

Observamos aquí el punto de vista del motor. En este ejemplo se ha representado el Sentido Horario en color rojo y el Antihorario en verde.

Este es el punto de vista de un observador externo. Los mismos sentidos anteriores, desde esta perspectiva parecen "equivocados". Seguimos representando el sentido Horario en rojo y el Antihorario en verde.

Sin embargo, este criterio no siempre se respetan por el fabricante, por lo que será mejor comprobarlo en cada caso.


ROBOT MODELO
Para la práctica se utiliza un robot gobernado por dos Servomotores M1 y M2.
Para mantener la estabilidad y poder girar con facilidad, se sitúa una rueda loca en posición delantera
.

En el modelo se indican los sentidos de giro. Según el criterio del punto de vista del motor la flecha roja indica el sentido Horario y la verde el Antihorario.

Con los motores montados uno frente al otro, hay que estudiar los sentidos de giro necesarios para que el robot haga las cinco operaciones básicas:

MOVIMIENTOS DEL ROBOT:
Con este criterio, para conseguir...


 
(1) Que el robot AVANCE:
  • el motor M1 debe girar en sentido Horario y
  • M2 en modo Antihorario

(2) para que el robot RETROCEDA:
  • M1 debe girar en modo Antihorario y
  • M2 en modo Horario


(3) El GIRO a la IZQUIERDA se consigue con:
  • M1 en modo Antihorario y
  • M2 también en Antihorario
(También se podría hacer con M1 parado, pero sería un giro más amplio y, por tanto, menos preciso)




(4) El GIRO a la DERECHA se logra con:
  • M1 en modo Horario y
  • M2 asímismo en modo Horario
(Igualmente se podría hacer con M2 parado, pero sería un giro más amplio y menos preciso)



(5) Finalmente, para que el ROBOT se PARE, los dos motores deben estar parados.


    • 5.3.E. CONTROL DE UN SERVOMOTOR DE ROTACIÓN CONTINUA con S4A.
Observa el Video (minuto 3'50'') y vamos a crear, paso por paso, un programa similar. Comenzaremos controlando un sólo motor

5.3.E. CONTROL DE UN SERVOMOTOR DE ROTACIÓN CONTINUA con S4A.
Realiza un programa que controle el movimiento de un motor conectado al PIN7. Este motor lo llamaremos M1. Sus funciones han de ser las siguientes:
  • Al pulsar la flecha derecha, M1 girará en sentido Horario.
  • Pulsando la flecha izquierda, M1 girará en sentido Antihorario
  • Pulsando la tecla Espacio, M1 se parará
Esquema:
Placa:


    • 5.3.E. CONTROL DE UN ROBOT CON SERVOMOTORES con S4A.
Continúa observando el Video (minuto 3'50''). Sin embargo, el control del Robot va a ser algo distinto, al del video. Vamos a añadir otro motor (M2)

5.3.E. CONTROL DE UN ROBOT con DOS SERVOMOTORES DE ROTACIÓN CONTINUA con S4A.
Toma un nuevo Servomotor de rotación continua y conéctalo al PIN4. Para mantener los dos motores conectados necesitarás usar una placa de conexiones (Protoboard) que permita usar una toma común para los 5V y otra para GND.
Si no dispones de ruedas y un chasis de robot para montarlos, conviene que al menos coloques los motores en la posición que estarían colocados sobre el robot (ver modelo) para comprobar que los sentidos de giro son los correctos para conseguir los movimientos requeridos del robot:
MOVIMIENTOS (ver guía)
  • Al pulsar la flecha Arriba, M1 y M2 conseguirán que el robot AVANCE
  • Pulsando la flecha Abajo, M1 y M2 conseguirán que el robot RETROCEDA
  • Al pulsar la flecha Derecha, M1 y M2 conseguirán que el robot GIRE A LA DERECHA
  • Al pulsar la flecha Izquierda, M1 y M2 conseguirán que el robot GIRE A LA IZQUIERDA
  • Pulsando la tecla Espacio,el robot se parará
Esquema:
Proto-Board:
Instrucciones: Estudia bien los sentidos necesarios en cada motor y muestra el resultado cuando lo consigas.


5.4. MOTORES DE CONTINUA (DC) CON S4A. ROBOT CON MOTORES DC
    • 5.4.A. CONTROL DE UN MOTOR DE CONTINUA (DC) con S4A.
Ahora realizaremos una práctica similar a la anterior, pero utilizando motores de continua (DC).
Como vimos anteriormente, para poder usar un motor DC en Arduino. es necesario utilizar un circuito accesorio, como el L293D, ya que Arduino no es capaz de proporcionar la corriente que necesita el motor. Este circuito tiene una configuración llamada "En Puente", "en H" o "Modo Push-Pull" que permite controlar el giro de un motor.
Si embargo, en esta ocasión usaremos el modelo L298 o L298N, que es como un L293D pero de mayor potencia. Pero utilizaremos este chip incorporado a un Driver de motores.


DRIVER DE MOTORES L298N
Se trata de un circuito impreso que incluye el chip L298, que es muy similar al 293D que ya estudiamos, pero con mayor potencia.
Este chip está incorporado en un circuito que incluye otros componentes como diodos (para proteger el circuito de las corrientes inducidas por el motor), un regulador (para fijar la tensión al nivel que necesita el L298N) y condensadores para estabilizar las tensiones de alimentación utilizadas.
Puede aduirirse aquí, y en esta página o en esta otra, podemos encontrar instrucciones de uso.

Este módulo se usa porque Arduino no tiene potencia suficiente para alimentar motores de DC de cierta nivel de consumo, pudiendo resetearse continuamente ("amorrarse") o incluso quemarse.

Por ello, siempre usaremos una batería externa con motores DC. Dependiendo de la tensión que necesiten los motores, podremos adoptar dos configuraciones:


Para motores que necesiten de 6V a 12V


Para motores que usen de 12V a 35V

L298N L298N

Para usar el L298N de esta forma hay que:
  • Mantener conectado el "Jumper" del regulador de tensión de 5V, que es el que alimenta al circuito L298N.
  • Conectar la pila, que hará funcionar los motores, entre los bornes +12 (positivo) y GND (Negativo). Su valor no tiene que ser 12V, ese es el límite. Esta tensión se aplica al regulador de tensión siempre que el Jumper esté conectado.
  • NUNCA conectar nada a la toma de +5V. En todo caso puede usarse como salida, pues es la tensión que proporciona el regulador de tensión.
  • La toma GND debe conectarse a cualquiera de los pin GND de Arduino

En este caso hay que hacer lo siguiente:
  • Desconectar el Jumper para desactivar el regulador de tensión.
  • Conectar la pila igualmente entre el positivo (+12 o más voltios) y negativo (GND).
  • Hay que proporcionar 5V para que funcione el L298N, para ello hay que conectar la salida de Arduino llamada "5V" a la toma de +5V de la placa
  • La toma GND debe conectarse a cualquiera de los pin GND de Arduino
Como vemos, hay 4 entradas IN1, IN2, IN3 e IN4, que corresponden respectivamente a las 4 salidas OUT1, OUT2, OUT3 y OUT4.
Estas salidas están agrupadas por pares, para poder utilizarlas en modo Push-Pull, como vimos en el caso del L293D


Por otra parte tenemos las tomas ENABLE: ENA y ENB, que afectan a las parejas de salidas OUT1/OUT2 por parte de ENA y OUT/3/OUT4 por parte de ENB.
Las tomas ENABLE deben estar activadas para que la señal enviada a cada entrada se transmita a la salida correspondiente.
Una posibilidad es usar las tomas ENABLE para controlar la velocidad del motor por PWM (usando las salidas ~5, ~6 y ~9 que S4A puede controlar). Vimos un ejemplo de esto en el control de velocidad de Motores DC por PWM.

Sin embargo, existe la posibilidad de mantener siempre activas las tomas ENABLE. Para ello hay unos Jumpers que dejaremos conectados en las tomas ENA y ENB para que por ellas siempre entren +5V.


En definitiva, la configuración que utilizaremos en las prácticas con el L298N, salvo que se indique otra cosa, será la siguiente:
  • El Jumper del regulador conectado.
  • Los Jumpers de ENABLE (ENA y ENB) conectados.
  • Usando una pila de entre 6V y 12V (conectada entre +12 y GND)
  • Conectando el GND de Arduino al GND de la placa L298N.
L298N



5.4.A. CONTROL DE UN MOTOR DE CONTINUA (DC) con S4A y L298N.
Prototipo:
Instrucciones: Monta el circuito anterior y realiza el programa necesario en S4A para que el motor actúe de la forma siguiente:
  • Al pulsar la Tecla "d", el Motor girará en sentido Horario.
  • Pulsando la Tecla "a", el Motor girará en sentido Antihorario
  • Pulsando la tecla Espacio, el Motor se parará


5.4.B. CONTROL DE UN ROBOT con 2 MOTORES DE CONTINUA (DC) usando L298N y S4A.
Se trata de realizar un robot similar al modelo que hicimos con servomotores, pero con Motores DC.
Monta el circuito siguiente sobre un bastidor de un robot o, si no dispones de él, situa los motores en la posición en que estarían. Es importante para conocer realmente el efecto de cada motor en el movimiento del robot. También hay que tener en cuenta qué parte se considera la "cabeza" del robot y cuál es la "cola".
Fíjate en que cada entrada activa su salida correspondienteCómo conectemos los motores influye también en el resultado final.
Revisa el video si no lo tienes claro. En cualquier caso, es más fácil probarlo sobre los componentes reales.
Prototipo:
Instrucciones: Monta el circuito anterior y realiza el programa necesario en S4A para que el motor actúe de la forma siguiente:
  • Al pulsar la Tecla "w", MotorA y MotorB conseguirán que el robot AVANCE
  • Pulsando la Tecla "s", MotorA y MotorB conseguirán que el robot RETROCEDA
  • Al pulsar la Tecla "d", MotorA y MotorB conseguirán que el robot GIRE A LA DERECHA
  • Al pulsar la Tecla "a", MotorA y MotorB conseguirán que el robot GIRE A LA IZQUIERDA
  • Pulsando la tecla Espacio,el robot se parará


5.5. SENSORES CON S4A

En esta práctica vamos a tratar con sensores del tipo "Resistivo". Como ya vimos anteriormente, para transmitir adecuadamente la información del sensor se suele utilizar un  Divisor de Tensión. Aunque ya se trató anteriormente, vamos a resumir la información:

EL DIVISOR DE TENSIÓN (resumen)
Un divisor de tensión es un circuito formado por una pila (o cualquier fuente de voltaje) y dos resistencias en serie:
  • El valor de la pila (V) se divide entre las dos resistencias
  • La cantidad de tensión que corresponde a cada resistencia es directamente proporcional al valor de cada una
  • El máximo voltaje que puede tener una resistencia es el valor de la pila V
  • El mínimo valor del voltaje para una resistencia sería 0V
Si consideramos que una de las resistencias es un sensor que vamos a conectar a Arduino, hay que considerar que el valor que se encuentre en el PIN de entrada se mide respecto a un valor común para todos los voltajes, que es GND. Por tanto, siempre estaremos midiendo el voltaje en la resistencia de abajo.

Dado que el sensor que utilicemos puede estar situado arriba o abajo, vamos a estudiar algunos casos concretos para conocer el efecto que se obtiene
El primer caso particular es cuando R1=R2. Si usamos la fórmula anterior, observamos que el voltaje intermedio es justo la mitad del valor de la tensión de la pila


Los demás casos singulares se producen cuando una de las resistencias es mucho más grande o significativamente más pequeña que la otra. Para ejemplificar esto, utilizaremos un modelo con un interruptor, ya que:


  • Si el interruptor está cerrado equivale a una resistencia muy pequeña, prácticamente cero.


  • Si el interruptor está abierto equivale a una Resistencia muy alta, teóricamente infinita. Para resolver la fórmula de forma aproximada se puede usar un valor muy alto en lugar de infinito (por ejemplo 10000 ohmios), frente a un valor mucho más pequeño como si fuera R (por ejemplo R= 10 ohmios). Cuanto más grande hagamos uno frente al otro más nos acercaremos al resultado de la fórmula.





    • 5.5.A. SENSOR CON DOS RESISTENCIAS y S4A.

5.5.A. SENSOR CON DOS RESISTENCIAS y S4A
Vamos a realizar un montaje similar al del video anterior. Se trata de un divisor de tensión formado por dos resistencias iguales.
Esquema:
Placa-Board:
Instrucciones:
  • Recuerda los pasos necesarios para usar S4A:
    • Abre el software de Arduino
    • Carga el FIRMWARE y transmítelo a Arduino
    • Abre S4A
  • A continuación fíjate en la lectura en el sensor Analógico 5 (Analog5). ¿Cuál es su valor? Puedes fijar uno si pinchas dos veces sobre la orden correspondiente:

  • Ve cambiando la resistencia de abajo (R2) por otros valores de los que dispongas y completa una tabla como la siguiente:

5.5.A.R2 SENSOR CON DOS RESISTENCIAS y S4A
Valor de R2
Medida en Analog5
100K

22K

10K
512
1K

220


  • Ahora cambia la resistencia de arriba (R1) y realiza una tabla similar:

5.5.A.R1 SENSOR CON DOS RESISTENCIAS y S4A
Valor de R1
Medida en Analog5
100K

22K

10K
512
1K

220


  • ¿Qué tendencia observas en cada tabla?



    • 5.5.B. SENSOR CON UN INTERRUPTOR Y UNA RESISTENCIA más S4A.
5.5.B. SENSOR CON UN INTERRUPTOR Y UNA RESISTENCIA más S4A
Como en el video, se trata de un divisor de tensión en el que se ha sustituído la resistencia superior por un par de cables (o un interruptor), que abren o cierran el circuito
Esquema:
Placa-Board:
Instrucciones 1:
  • Abre y Cierra el interruptor mientras te fijas en la lectura en el sensor Analógico 5 (Analog5). ¿Cuál es su valor?
  • Completa la tabla con tus resultados:

5.5.B.1 SENSOR CON DOS RESISTENCIAS y S4A
INTERRUPTOR ARRIBA
Lectura en Analog5
Interruptor ABIERTO

Interruptor CERRADO



Instrucciones 2:Cambia la posición del interruptor y observa lo que ocurre con la lectura del sensor:



5.5.B.2 SENSOR CON DOS RESISTENCIAS y S4A
INTERRUPTOR ABAJO
Lectura en Analog5
Interruptor ABIERTO

Interruptor CERRADO




    • 5.5.C. SENSOR CON UN INTERRUPTOR de INCLINACIÓN (tilt switch) más S4A.
5.5.C. SENSOR CON UN INTERRUPTOR de INCLINACIÓN (tilt switch) más S4A
Ahora vamos a usar un interruptor de inclinación como sensor. Monta el circuito siguiente y realiza la práctica propuesta.
En este caso usamos el sensor Analógico 3. La resistencia en serie con el "TILT" es de 100K

Esquema:
Placa-Board:
Instrucciones:
  • Observa la lectura del sensor Analógico3 en la ventana derecha de S4A.
  • Inclina ahora la placa-board con el interruptor TILT y observa cuándo cambia la lectura.
  • Completa la tabla siguiente con los datos. ¿En qué caso crees que el TILT está cerrado?

5.5.C SENSOR TILT y S4A
POSICIÓN
LECTURA EN Analog3
¿Interruptor CERRADO?
HORIZONTAL


INCLINADO







LDR
(LDR = Light Dependent Resistor = Resistencia Dependiente de la Luz)

También denominada Fotorresistencia, es una resistencia cuyo valor varía según la luz que recibe.

Podemos encontrar varios símbolos relativos a una LDR.
La variación de la resistencia de una LDR se produce de forma INVERSA, es decir:
  • A mayor luminosidad, menor resistencia:   LUZ  R
  • A menor luminosidad, mayor resistencia:   LUZ  R


    • 5.5.D. SENSOR LDR más S4A.
5.5.D. SENSOR LDR más S4A
Utilizaremos una LDR en el divisor de tensión para ver su efecto.
Esquema:
Instrucciones1:
  • Antes de montar el circuito con Arduino, trata de completar la tabla siguiente, según tus conocimientos de cómo actúa la LDR y del funcionamiento del divisor de tensión:

5.5.D.1 SENSOR LDR y S4A
ILUMINACIÓN
Voltaje en R2
(Valor de V en Analog3)
MUCHA
¿ALTO / BAJO?
POCA
¿ALTO / BAJO?

Placa-Board:
Instrucciones2:
  • Anota las siguientes lecturas del sensor Analógico3 en S4A para distintas condiciones de iluminación. Como en este caso, la lectura resulta poco estable, es mejor utilizar la orden "valor del sensor", para obtener una magnitud que podamos leer.

5.5.D SENSOR LDR y S4A
ILUMINACIÓN
LECTURA EN Analog3
LUZ DIRECTA DEL SOL O BOMBILLA

EN EL INTERIOR DE UNA HABITACIÓN SIN ILUMINACIÓN
TAPADA COMPLETAMENTE CON LA MANO (SIN TOCAR LA LDR)

  • ¿Coinciden tus previsiones con los datos obtenidos?




POTENCIÓMETRO Y RESISTENCIA VARIABLE

Son resistencias que pueden variarse manualmente de valor. Existen varios símbolos para el potenciómetro. Aunque los más recomendables son los dos de arriba, como ya se explicará.

Podemos encontrar potenciómetros de distinta construcción y tamaño. Los más habituales son los rotativos pero existen los lineales:


Internamente, un potenciómetro está formado por un elemento resistivo sobre el que se mueve un cursor. La resistencia que hay entre uno de los extremos y el cursor, se puede variar manualmente.

Hay cierta confusión con los símbolos y función del potenciómetro y la resistencia variable. En realidad, una resistencia variable es un potenciómetro en el que se usan sólo dos terminales:
  • A - Uno de los extremos y
  • B - El cursor.
  • C - El otro extremo no se usa

Por tanto, un potenciómetro y una resistencia variable son lo mismo, pero usado de distinta forma:
  • En el uso como potenciómetro, interesa la función de divisor de tensión, por lo que se conservan los tres terminales
  • Si sólo queremos tener una resistencia variable, podemos anular el tercer terminal, de alguna de las formas siguientes:
    • La patilla se deja al aire,
    • Se conecta con el cursor, quedando entonces anulado el último tramo de resistencia, pues se hace un cortocircuito entre ambas patillas.

RESISTENCIA VARIABLE
Por esta razón es más recomendable usar como símbolos de la resistencia variable los siguientes, teniendo en cuenta que, aunque en el circuito se suele dibujar de la primera forma, su conexión real es otra, como se ve en la imagen:




    • 5.5.E. POTENCIÓMETRO más S4A. 
Utilizaremos un potenciómetro como único elemento, formando un divisor de tensión. De este modo, en las posiciones extremas del cursor podemos conseguir que:
  • R1 sea cero y R2 el máximo (en cuyo caso V2 = 5V)
  • R1 sea el máximo y R2 cero (en cuyo caso V2 = 0V)

Es necesario que el valor del potenciómetro sea al menos de 10K para que no consuma demasiada corriente de la pila de 5V (o de Arduino, si se conecta a su toma de 5V)


5.5.E. POTENCIÓMETRO más S4A
Esquema:
Placa-Board:
Instrucciones:
  • Gira el potenciómetro y observa la lectura del sensor Analógico5 en la ventana derecha de S4A.
  • Completa la siguiente tabla con algunos valores:

5.5.E POTENCIÓMETRO mas S4A
POSICIÓN
LECTURA EN Analog5
GIRADO TOTALMENTE EN SENTIDO HORARIO

EN UN PUNTO INTERMEDIO
GIRADO TOTALMENTE EN SENTIDO ANTIHORARIO












arriba

libro