[AUDIO EN BLANCO] Hola, bienvenidos a la clase dos de la
primera lección del módulo cuatro. Actuadores. Estábamos viendo que el Arduino
puede ser conectado a sensores, eso fue lo que vimos recién, ahora vamos
a ver qué es lo que pasa cuando queremos que el Arduino ejerza una
acción sobre el mundo. Los actuadores son dispositivos
controlados eléctricamente. O sea, un Arduino puede producir una señal
que activa uno de estos dispositivos y que produce una acción en el mundo físico,
no solo en el mundo electrónico, en el mundo abstracto donde funcionan electrones
para allá y electrones para allá, no. Aquí el mundo físico recibe una acción. Esa
acción puede ser, por ejemplo, un calentamiento o un enfriamiento de un
material, una fuerza mecánica o un torque, ya están pensando qué genera una fuerza
mecánica o un torque, respuesta: un motor. Un motor, exactamente un motor,
puede generar fuerza mecánica o un torque. Flujo de aire o aumento de presión,
emisión de fotones. ¿Qué emite fotones? Respuesta, una luz,
cualquier LED, ¿cierto? Cualquier LED me indica algo
a través de emisión de fotones. O incluso un sonido a través
de un parlante o un buzzer. Los actuadores suelen requerir de la
potencia de una fuente de alimentación. El Arduino puede alimentar algunos
actuadoores de muy baja potencia, pero lo ideal es que cuando hay cierta
potencia en el actuador mejor usamos una fuente de alimentación externa. ¿Cómo
comandamos un actuador? Depende, depende de qué actuador es. Por ejemplo, si la
entrada esa señal
analógica, que está bien definida con especificaciones claras,
podemos usar ciertos circuitos. Si la entrada es digital de un solo bit, basta con
que un bit de salida del Arduino
comande esa entrada digital del actuador. O bien, puede haber un actuador que tenga
una señal digital que respete algún estándar de la industria,
como los que vamos a ver más adelante. ¿Cómo conectamos entonces
un actuador al Arduino? De manera analógica, de manera digital o
a través de algunos de los estándares, ¿de acuerdo? De manera analógica a través de
algún DAC, que puede ser explícito o
puede ser a través de PWM. Digital directo a través de un pin
o digital a través de un estándar. Vamos a ver más detalles. ¿Cómo es la conexión
digital? Como dije antes, muchos actuadores pueden
ser encendidos y apagados solamente. Ejemplo, un calefactor. En rigor, un
calefactor nosotros
podemos encenderlo de a poco, ¿cierto?, podemos controlar
el nivel de encendido, pero hay muchos donde simplemente
o lo encendemos o lo apagamos. Lo mismo con una luz,
que podemos encender o apagar la luz. Un LED, es cierto, tenemos diferentes
niveles de encendido pero como una solución de primer orden podemos encender
o apagar, lo mismo que con un motor. En esos casos, conectamos la salida
digital del Arduino directamente a un relé o a un transistor y luego a un relé,
o a un transistor directamente o a una resistencia, en el caso de un LED,
porque el Arduino puede manejar un LED, ¿recuerdan cuánto era la
corriente de salida de un Arduino, de un pin de un Arduino? Respuesta 40 miliamper.
Un LED típicamente consume 10 miliamper,
por lo tanto, ustedes pueden alimentar
un LED con un Arduino. O, pueden usar un puente H mediante
transistores para controlar un motor que avance y que retroceda. Generalmente es
posible controlar
la intensidad mediante PWM, esto no es cierto en el caso de un relé,
a menos que lo hagamos muy lentamente, ya explicaremos por qué. Este es un ejemplo
básico de un actuador
de baja potencia empleando un Arduino, entonces tenemos una salida digital,
por ejemplo, en este caso arbitrariamente
escogimos D11. Y esa salida va a una
resistencia y luego a un LED. Y, si recuerdan del módulo tres, el color del LED me
define qué
voltaje va a tener el LED. Entonces, sabiendo qué voltaje va
a tener en función de su color y sabiendo que la salido del
Arduino típicamente es cinco Volts yo puedo calcular qué voltaje
cae en esta resistencia. Y si yo quiero que aquí haya,
por ejemplo, 10 miliamper puedo calcular el valor de esa resistencia para que a 10
miliamper me genere esa caída de voltaje. Ya hicimos el ejercicio en el módulo
tres,
por lo tanto, nosotros podemos conectar
un LED a un Arduino. Pasemos a otro tipo de conexión. Conexión no analógica,
¿cuando
podemos conectar un Arduino a un DAC? Entonces este es nuestro ejemplo. Tenemos
nuestro Arduino,
el Arduino en sí no tiene DACs. Nosotros podemos conectarle a un DAC
externo, hay chips que hacen eso, chips que son muy sencillos de usar, y luego la
salida del DAC va a un acondicionador de señales o un amplificador o un filtro,
que maneje el transductor. Y con eso ya tenemos la conexión
analógica del Arduino al transductor. Por supuesto toda esta cadena se asegura
de que la compatibilidad de voltaje e impedancias sea la correcta. Y esto puede
requerir, eventualmente, un
acondicionamiento de señal que esta aquí, ¿cierto? Te damos ejemplos. Ejemplo de
actuadores analógicos
controlados por Arduino. Fíjense que estos ¿qué será esto? Rojo, verde, azul.
Probablemente en un
encapsulado con cuatro pines. Esto es un LED RGB, un LED que tiene tres
LED internamente, con diferentes colores, y nosotros podemos encender cada uno de
estos LEDs de manera independientemente, usando tres pines del Arduino. ¿Qué pasa
si yo quiero
cambiar el tono del color? Puedo encender más fuerte el rojo, por
ejemplo, y más débil el verde y el azul. Por ejemplo, ¿cómo lo hago si yo no
puedo controlar el voltaje de la salida? Porque el voltaje de aquí es
cinco Volts o cero Volts, dependiendo si el pin está arriba o abajo. Lo que se hace
generalmente es usar PWM. Ya lo hemos visto pero no está
de más que lo repita aquí. PWM o señal de modulación por ancho de
pulso es una señal cuyo nivel de C, cuyo promedio, controla la intensidad
que yo le estoy entregando al actuador. Entonces, si yo entrego una señal, por
ejemplo que la mitad del tiempo está en cinco Volts y la otra mitad en cero Volts
con una frecuencia de un kilohertz, por ejemplo, yo no voy a alcanzar a ver
con mis ojos qué LED se enciende y se apaga porque se va a encender y apagar muy
rápidamente, muchas veces por segundo. Sin embargo,
yo voy a ver el promedio de esta señal. El promedio entre cinco y cero es 2,5
entonces yo voy a ver como que el LED está funcionando a la mitad de la potencia,
más o menos. De la misma forma,
yo puedo controlar la potencia de cada uno de estos tres LEDs y elegir
qué color quiero aquí finalmente, regulando esa potencia de manera fina,
cada una con señales PWM independientes. De la misma forma, podemos controlar
un buzzer, un parlante pequeño, con la salida del Arduino. Por ejemplo,
si es buzzer es pequeño, yo puedo darle suficiente potencia con la salida
digital del Arduino y, por lo tanto, no hay ningún problema en hacer esta
conexión, sin pasar por un amplificador. Y ese parlante me puede indicar,
por ejemplo con un pitido, si es que ocurre o no alguna acción. Y aquí nuevamente
yo le entrego
una salida digital cuadrada y el parlante va a sonar
de acuerdo a esa onda. Entonces, a continuación,
veremos un ejemplo de un buzzer, o un pequeño parlante que lo que va
a hacer es emitir algún sonido. Entonces vamos a combinarlo con el ejemplo
que vimos antes, ¿cierto?, antes teníamos el infrarrojo, este sensor que está en
la pantalla es esencialmente el mismo circuito pero aquí estamos añadiendo este
buzzer, que es un cristal piezoeléctrico que vibra o cambia su forma realmente
cuando le aplicamos un impulso, entonces, en esta salida del Arduino,
en esta salida digital ocho vamos a producir las señales para manejar
este buzzer y dependiendo de cuan rápida sea la señal que está llegando al
buzzer va a ser el tono que escuchemos, entonces, hay algo ahí, ¿cierto?,
hay una función que me define de alguna forma el tono que queremos escuchar
en función de la frecuencia. Esa función ya viene
implementada en Arduino, entonces está la función tone y noTone. Tone genera un
tono mediante una onda
cuadrada de frecuencia configurable. Entonces tenemos el pin, la frecuencia y la
que opcional
uno generalmente puede omitirla. Y noTone significa que se quede callado,
que no genere más tono. Entonces, aplicando esta
función más el mismo código o muy parecido al ejemplo anterior
en el que medíamos distancia vamos a generar un tomo que va a ser
más frecuente o menos frecuente dependiendo de la distancia
a la que detecta el sensor. Eso es lo que vamos
a probar a continuación. Vemos en la pantalla el código
que genera esta aplicación. Este código va a hacer algo bien
interesante, va a emitir un sonido, a un tono bien preciso, y a una frecuencia que
va a aumentar o disminuir
según la distancia que detecte el sensor. Entonces, vemos que el sensor está
conectado al pin analógico cero, y el buzzer, o parlante está conectado
al pin de salida digital ocho. Luego vamos a inicializar una variable
tiempo previo igual cero y lo que vamos a hacer a continuación es determinar
el tiempo usando la función millis, entonces vamos aquí al loop,
y en esta función, vemos que estamos leyendo la entrada
analógica, luego calculamos la distancia, de la misma forma que lo
hicimos en el ejemplo anterior, y luego calculamos el tiempo
usando la función millis. Se mide el tiempo de
ejecución del programa, y luego de eso nosotros
determinamos el intervalo que queremos esperar entre
diferentes ejecuciones del pito, y ese intervalo va estar limitado
entre 50 milisegundos y 2.5 segundos. La idea es que no sea más largo que 2.5
segundos porque si no no vamos a saber si está sonando o no y la idea es que
no sea más bajo que 50 milisegundos para que nunca sea un pito continuo. Y eso es
lo que hace el programa. Entonces, finalmente, esto produce
el tono 4000 es la frecuencia. El tono siempre va a estar a 4000 hertz,
pero la duración y el intervalo entre tonos,
va a depender de la distancia, entonces vamos a ejecutar,
vamos a cargar el programa en el Arduino. Ahora está cargando, terminó de cargar, y
ahí está marcando la distancia, entonces, si nos acercamos vemos que
estamos muy cerca, muy cerca. Está marcando una distancia muy cerca. Y si nos
alejamos, el intervalo aumenta,
el intervalo entre tonos y de esa forma hacemos que marque
más distancia o menos distancia. Definitivamente con esto
podríamos hacer un robot. Gracias por ver este video.