Placa electrónica con un microcontrolador programable y comunicación USB/serial. Desde la computadora, un IDE permite escribir el código, compilarlo y cargarlo en la placa. Tiene entradas y salidas digitales (0 a 13) y entradas analógicas (A0 a A5).
Placa electrónica que contiene un microcontrolador programable y un sistema de
comunicación (USB y serial) que permite al usuario cargarle diversos programas, así como
también comunicarse con la misma. Del lado de la computadora se utiliza un IDE (entorno de
desarrollo integrado) para generar el código, compilarlo y quemarlo en la placa. Existen
múltiples IDE compatibles con las placas Arduino; en este proyecto usamos el Arduino IDE
en su versión 2.x.
El microcontrolador posee entradas analógicas y digitales, así como salidas digitales,
PWM y servo. Las entradas y salidas digitales son las que permiten leer o escribir estados
del tipo binario: pueden adoptar la forma de 0 o 1, alto o bajo, verdadero o falso. Para
prender y apagar los LED del semáforo utilizamos salidas digitales, que están nomencladas
con números desde el 0 al 13.
Las entradas analógicas permiten leer información que puede adoptar diferentes niveles de
tensión, tal como la lectura de un termómetro analógico o la posición de un potenciómetro.
Las mismas están identificadas en la placa como A0 a A5.
Dispositivo que genera sonido a una frecuencia determinada. Al recibir alimentación comienza a sonar; controlándola se pueden generar sonidos continuos o pulsos. Sirve como mecanismo de señalización o aviso.
Un zumbador (en inglés buzzer) es un dispositivo que genera sonido con una frecuencia
determinada. Al recibir alimentación eléctrica comienza a sonar, y controlando esa
alimentación se pueden generar sonidos continuos o pulsos. Sirve como mecanismo de
señalización o aviso.
Si se quisiera tener control fino de la frecuencia y el nivel del sonido generado, habría
que usar otro tipo de dispositivo, como un parlante pequeño. En esta reedición el buzzer
se maneja con la función tone(pin, frecuencia, duración), que produce un tono de la
frecuencia indicada: así se pueden distinguir dos avisos distintos —un pitido agudo cuando
la clave es correcta y un doble pitido grave cuando es incorrecta.
Componente que representa números encendiendo o apagando siete LED con forma de línea, identificados con letras de la «a» a la «g». No tiene circuito de control propio: cada segmento se maneja desde una salida digital de la placa.
El display de siete segmentos es un componente que se utiliza para la representación de
números en muchos dispositivos electrónicos. Está compuesto de siete LED con forma de
línea que se pueden encender o apagar individualmente. Cada segmento está identificado con
una letra, de la a a la g: por ejemplo, el segmento g es el trazo horizontal
del centro. Combinando qué segmentos se encienden se forma cada cifra (para un 8 se
encienden los siete; para un 1, solo los dos del lado derecho).
Dado que este dispositivo no tiene ningún tipo de circuito de control incorporado, se
controla directamente el encendido o apagado de cada segmento desde las respectivas salidas
digitales de la placa. Para mostrar un número determinado hace falta una conversión en la
programación que decida cuáles segmentos representan a cada cifra; una forma habitual de
resolverlo es guardar esa correspondencia en una tabla.
Generalmente tienen siete pines de conexión para los respectivos segmentos y, a veces, un
pin adicional para encender un punto decimal en el margen inferior. Un último pin es el
neutro común (GND en los modelos de cátodo común). Como cada segmento es un LED, cada uno
necesita su resistencia limitadora en serie.
Pantalla de cristal líquido que muestra texto en filas y columnas; el clásico es de 16 columnas por 2 filas. Se puede conectar en modo paralelo (muchos pines) o por I2C (solo dos cables, SDA y SCL). No representa bien las tildes ni la letra Ñ.
Un display LCD (Liquid Crystal Display, pantalla de cristal líquido) permite mostrar texto
en filas y columnas. El modelo clásico de estos proyectos es el 1602: 16 columnas por
2 filas de caracteres. Se lo usa para ver en el lugar los datos que mide el sistema, sin
depender de la computadora.
Hay dos formas habituales de conectarlo a la placa, y en este proyecto cada plataforma usa
una:
- Modo paralelo, con el LCD Keypad Shield: una placa con formato de Arduino UNO que se
apila directamente sobre él y se maneja con la librería
LiquidCrystal usando seis pines de
datos (en este proyecto, el 8, 9, 4, 5, 6 y 7). Trae además un potenciómetro (RP1) para
ajustar el contraste. Es el que usa la variante Arduino UNO.
- Por I2C, con un módulo I2C pegado al display: solo hace falta conectar dos cables de
señal, SDA y SCL, y se maneja con la librería
LiquidCrystal_I2C. Es el que usa la
variante ESP32, porque el shield paralelo no encaja en esa placa.
En ambos casos el display muestra lo mismo. Un detalle a tener en cuenta: el LCD no
representa bien las tildes ni la letra Ñ, así que los textos que se le envían se escriben
sin ellas (por ejemplo, Temp. y Hum.).
Actuador que permite o interrumpe el paso de un fluido. Se acciona a través de su propia alimentación, por lo que tiene únicamente dos pines: sus estados posibles son activada o no, y se puede controlar mediante una salida digital y un relé.
Se trata de un actuador que permite o interrumpe el paso de un fluido a través del mismo.
Existen versiones que trabajan con 12 V así como también las que trabajan directamente con
220 V, permitiendo trabajar en un sistema de mayor nivel de caudal.
El accionamiento del mismo se realiza directamente a través de su alimentación, por lo que
tiene únicamente dos pines para la conexión. Los estados posibles son activado o no, por lo
que se puede controlar mediante una salida digital y un relé.
Es el tipo de válvula que suele encontrarse en los lavarropas, controlando el ingreso de
agua. En esta reedición la práctica del aula usa una electroválvula de baja tensión (12 V);
la conexión de válvulas de 220 V es una extensión exclusiva del docente, con instalación
supervisada.
Placa con un microcontrolador de Espressif que trae WiFi (y Bluetooth) integrados. Se programa desde el Arduino IDE igual que un Arduino, con pines llamados GPIO. En este proyecto reemplaza al conjunto Arduino UNO + módulo OBLOQ para el nivel IoT.
Es una familia de microcontroladores del fabricante Espressif que, a diferencia del
Arduino UNO clásico, trae conectividad WiFi y Bluetooth integradas. Las placas de
desarrollo como la ESP32 DevKit v1 se programan desde el mismo Arduino IDE (instalando el
soporte de placas de Espressif) y con las mismas funciones que ya conocés: pinMode(),
digitalWrite(), millis(), etc.
Sus pines se llaman GPIO (entrada/salida de propósito general) y se identifican por
número. Algunos GPIO participan del proceso de arranque de la placa (0, 2, 12 y 15), por
lo que conviene evitarlos como salidas y preferir pines seguros como 16, 17, 18, 19, 21,
22, 23, 25, 26 y 27.
En esta reedición del proyecto, el ESP32 reemplaza al conjunto Arduino UNO + módulo OBLOQ
del material original de 2019: como la radio WiFi viene incluida en la placa, el nivel
avanzado (IoT) no necesita ningún módulo adicional.
Sensor que estima la humedad del suelo midiendo su conductividad eléctrica. Entrega una salida analógica que se conecta a una entrada A0–A5 del Arduino; sirve para distinguir un suelo seco de uno húmedo, no para una medición precisa.
Es un sensor que registra la humedad del suelo mediante la medición de su conductividad
eléctrica. Se compone de una lanza (u horquilla) que se clava en la tierra y tiene contactos
que cierran un circuito eléctrico en relación con la humedad de la misma. Este tipo de sensor
no tiene la sensibilidad suficiente como para realizar una medición precisa de la humedad,
pero sí se puede usar para diferenciar un suelo seco de uno húmedo.
El higrómetro de suelo tiene tres pines de conexión: dos se utilizan para la alimentación
eléctrica (VCC y GND) y el tercero es la salida de información. Esa salida es analógica:
entrega un nivel de tensión en relación con la humedad registrada, por lo que se conecta a
una entrada analógica del Arduino (A0 a A5) para poder leer la información.
Un detalle clave de estos módulos resistivos (como el FC-28) es que la lectura es inversa:
a mayor valor leído, el suelo está más seco (hay menos agua conduciendo, así que la
resistencia es mayor). Por eso, en el código, el umbral de “seco” es el valor alto y el de
“húmedo” es el valor bajo. Conviene tenerlo presente, porque es un punto donde es fácil
equivocarse.
Componente cuya resistencia varía con la intensidad de la luz que recibe: baja (hasta 50 ohm) con luz incidiendo y muy alta (1 megaohm o más) a oscuras. Se usa en control automático de iluminación, robots seguidores de luz o barreras láser.
Es un componente electrónico cuya propiedad es ofrecer resistencia al flujo de corriente.
El LDR se distingue de los resistores tradicionales por estar elaborado de un material que
es sensible a la luz: al variar la intensidad de luz a la que se expone, varía
proporcionalmente la resistencia eléctrica del componente.
El valor de resistencia de un LDR es bajo cuando hay luz incidiendo en él (puede descender
hasta 50 ohm) y muy alto cuando está a oscuras (1 megaohm o más). El componente tiene dos
patas de conexión; en este proyecto lo usamos en forma de módulo de tres pines (VCC, GND y
señal), cuya salida analógica se conecta a una entrada analógica de la placa.
Algunos casos de aplicación pueden ser un robot seguidor de luz, el control automático de
iluminación, el control automático de brillo en una pantalla o barreras láser.
Componente electrónico tipo diodo que emite luz. Tiene polaridad: la pata larga es la positiva y la corta (o el lado plano del encapsulado) la negativa. Conectado al revés no se daña, pero no enciende.
Componente electrónico tipo diodo que emite luz. Es necesario tomar en cuenta su polaridad
para ponerlo en funcionamiento: conectándolo con la polaridad invertida generalmente no va
a traer mayores consecuencias que la imposibilidad de hacer que encienda.
Existen dos formas de distinguir la polaridad: podemos identificar la pata negativa como
la pata más corta, u observando el lado plano en el encapsulado del componente. La pata
larga es la positiva, y es la que se conecta (a través de la resistencia o directamente,
según el circuito) al pin de salida de la placa.
LED que combina tres colores primarios de luz —rojo (R), verde (G) y azul (B)— en un mismo encapsulado. Regulando la intensidad de cada color se pueden formar millones de tonos, incluido el blanco.
Un LED RGB es en realidad tres LED en un mismo encapsulado: uno rojo (red), uno verde
(green) y uno azul (blue), de ahí la sigla RGB. Regulando por separado la intensidad de
cada uno de esos tres colores primarios de luz y aprovechando que se mezclan a la vista, se
pueden formar más de 16 millones de tonos distintos, incluido el blanco cuando los tres
encienden al máximo.
En el robot de este proyecto los LED RGB vienen integrados al frente de la placa controladora.
Se programan con un bloque que permite elegir el color deseado, sin necesidad de cablear nada:
el kit ya resuelve la conexión. Se usan como señalización —por ejemplo, para que el robot sea
más visible mientras se desplaza— o simplemente para personalizarlo.
Motor eléctrico de dos terminales (+ y −), común en vehículos y ventiladores. Gira mientras recibe corriente y su velocidad depende de la potencia entregada. Requiere un circuito intermediario (driver) que le dé la potencia que la placa no puede entregar por sí sola.
El motor DC es el tipo de motor más popular entre los dispositivos que nos rodean. Estos
motores pueden girar en ambos sentidos libremente, y su velocidad de giro es directamente
proporcional a la potencia que se les entrega. Sirven para mover ruedas de vehículos, aspas
de ventiladores, mecanismos dosificadores, etc. No permiten un control preciso de la
posición del eje ni de la cantidad de vueltas recorridas. Existen motores DC que traen
integrada una caja de engranajes (una reducción) para ajustar el rango de velocidad y
de fuerza que se le otorga al sistema mecánico.
Se conectan mediante dos pines (+ y −): controlando la señal que les proveemos podemos
definir la velocidad y el sentido de giro del motor. Debido a que los motores requieren un
nivel de potencia mayor del que una placa Arduino es capaz de manejar por un pin, siempre se
necesita un circuito electrónico intermediario (un driver) que se encargue de “amplificar”
esa señal para que el motor reciba la energía necesaria.
Cuando solo se necesita encender y apagar el motor en un único sentido de giro —como al
mover un dosificador de alimento por un ratito—, ese driver puede ser tan simple como un
módulo ULN2003. Si en cambio hiciera falta invertir el giro (marcha adelante y atrás),
se usa un puente H, que controla los dos sentidos.
Resistor cuyo valor de resistencia se ajusta de forma manual con una perilla. Conectando sus extremos a VCC y GND, la pata central entrega un nivel de tensión que representa la posición de la perilla y se lee por una entrada analógica del Arduino.
Un potenciómetro es un resistor cuyo valor de resistencia se puede modificar y controlar
de forma manual o mecánica, girando una perilla o desplazando un cursor. Se usa para
trabajar con bajos niveles de potencia, a modo de señal de control: en un parlante regula el
volumen, en un monitor el brillo. En este proyecto lo usamos para que la persona fije la
temperatura deseada de la habitación.
Internamente tiene una resistencia fija del valor especificado y un cursor que puede
pararse en cualquier punto intermedio de esa resistencia. Para leer su posición conectamos
las dos patas de los extremos a VCC y GND; en la pata central (el cursor)
aparece entonces un valor de tensión que representa la posición actual de la perilla.
Ese valor es analógico, así que se conecta a una entrada analógica de la placa (A0 a A5
en el Arduino UNO; un pin con ADC en el ESP32). La placa lo lee como un número: en el UNO,
de 0 (0 V) a 1023 (5 V); en el ESP32, de 0 a 4095, porque su conversor es de mayor
resolución. Ese número se convierte por código a la escala que necesitemos —por ejemplo, una
temperatura de 0 a 30 °C—.
Placa experimental para el prototipado rápido de circuitos: sus orificios permiten insertar y conectar componentes sin soldadura. Las líneas superior e inferior recorren la placa de punta a punta y suelen usarse para la alimentación.
Es una placa experimental que permite el prototipado rápido de circuitos electrónicos.
Tiene orificios para insertar las patas de los componentes, permitiendo que se conecten
sin tener que recurrir a la soldadura.
Posee una grilla de orificios que se encuentran conectados entre sí siguiendo un esquema
fijo: las líneas de conexión superior e inferior recorren la placa de punta a punta y
suelen utilizarse para la alimentación del circuito, mientras que las filas centrales
(cortas) se suelen utilizar para interconectar componentes. Hay que tomar en cuenta que
esas filas se interrumpen en el canal central de la placa.
Generalmente se utilizan cables del tipo dupont para realizar conexiones en la protoboard.
Puerto de comunicaciones por el cual el sistema operativo se comunica con un dispositivo externo, como la placa. Se asigna automáticamente al conectarla por USB y puede cambiar de número; en el IDE hay que indicar cuál usar.
Es el puerto de comunicaciones a través del cual un sistema operativo informático se
comunica con un dispositivo externo, tal como una placa Arduino o ESP32. La asignación
suele realizarse de forma automática al conectar la placa vía USB.
Dicha asignación suele ser dinámica, lo que significa que a veces cambia el número al
conectar una misma placa en otro puerto USB o al conectar varias placas. En todos los IDE
de programación es necesario especificar el puerto a través del cual nos comunicaremos con
la placa. En Windows se ven como puertos COM numerados (COM3, COM4…); en Linux y macOS
aparecen como dispositivos del tipo /dev/ttyACM0 o /dev/ttyUSB0.
Interruptor que normalmente está abierto y, mientras se lo mantiene presionado, cierra el circuito entre sus patas. Se usa como botón para que el usuario interactúe con el dispositivo, o como sensor de contacto (fin de carrera).
Un pulsador es un interruptor eléctrico que se encuentra normalmente abierto: al
presionarlo se cierra el circuito entre sus patas, y al soltarlo vuelve a abrirse. Se
suele usar como botón para que el usuario pueda interactuar con un dispositivo, así como
también como sensor para detectar cuándo un móvil se topa con un obstáculo (sensor de
choque o de fin de carrera).
Para que la placa lea de forma estable si el pulsador está presionado o no, la entrada
necesita una resistencia que la “ate” a un valor conocido cuando el botón está suelto. En
esta reedición usamos la resistencia interna de pull-up del microcontrolador
(INPUT_PULLUP): el botón se conecta directo entre el pin y GND, sin resistencias
externas, y el pin lee ALTO en reposo y BAJO al presionarse.
Dispositivo electromagnético que funciona como un interruptor controlado por un circuito eléctrico: un electroimán abre o cierra contactos de otros circuitos independientes. Permite controlar con bajo voltaje dispositivos que utilizan mayor voltaje.
Dispositivo electromagnético que funciona como un interruptor controlado por un circuito
eléctrico. Por medio de un electroimán se acciona uno o varios contactos que permiten
abrir o cerrar otros circuitos eléctricos independientes.
Se utiliza comúnmente para aislar eléctricamente dos circuitos, así como también para
permitir controlar con bajo voltaje a dispositivos que utilizan mayor voltaje: la placa
trabaja con señales de 5 V (o 3,3 V en el caso del ESP32) que, mediante un relé, permiten
controlar la activación o desactivación de dispositivos de mayor tensión, como una
lámpara.
En este proyecto usamos un módulo relé: el relé ya montado en una placa con sus tres
pines de control (VCC, GND y señal) y sus bornes de salida para la carga. Por seguridad,
la práctica del aula conmuta una lámpara de baja tensión; la conexión de cargas de 220 V
es una extensión exclusiva del docente, con instalación supervisada.
Componente que se opone al paso de la corriente eléctrica. Su valor se mide en ohm (Ω). Se usa para determinar la cantidad de corriente de una rama del circuito, por ejemplo para evitar que un LED se queme por exceso de corriente.
La resistencia eléctrica es una característica de todo material conductor eléctrico de
hacer oposición al paso de la corriente eléctrica, y es uno de los componentes más
utilizados en la electrónica. El valor resistivo se mide en ohm y se representa con el
símbolo Ω. Existen resistencias de valores que van desde menos de 1 ohm hasta varios
millones.
Se suelen utilizar para determinar la cantidad de corriente de una rama de circuito, por
ejemplo para evitar que se queme el LED por exceso de corriente. En este proyecto, cada
LED del semáforo lleva una resistencia de 220 ohm entre su pata negativa y GND.
Disciplina que integra mecánica, electrónica y programación para construir y controlar robots. En el aula se trabaja con kits que traen la estructura, los motores, los sensores y una controladora ya integrados, para concentrarse en el diseño y la lógica.
La robótica es la disciplina que combina la mecánica (la estructura y el movimiento), la
electrónica (los motores, los sensores y la controladora que los gobierna) y la programación
(las instrucciones que deciden qué hace el robot y cuándo). Un robot es, en el fondo, un
sistema que percibe su entorno con sensores, decide con un programa y actúa sobre el mundo con
motores u otros actuadores.
En el ámbito educativo se suele trabajar con kits de robótica: cajas que ya traen las
piezas estructurales, los motores, los sensores y una placa controladora pensados para
encastrarse entre sí. Así el trabajo se concentra en dos cosas: diseñar la forma del robot
según lo que se quiere que haga y programar su comportamiento, sin tener que armar circuitos
en una protoboard ni soldar. El kit Robobloq Qoopers de este proyecto es un ejemplo: se ensambla
con piezas de metal, ruedas y orugas, y se programa por bloques con su propio software.
Sensor que mide distancias emitiendo un pulso de sonido ultrasónico y midiendo el tiempo hasta que el eco regresa tras rebotar en un obstáculo. Tiene cuatro pines: VCC y GND para la alimentación, Trigger para disparar el pulso y Echo para detectar su llegada.
Es un tipo de sensor que se utiliza para medir distancias. El principio de funcionamiento
del mismo se basa en emitir un pulso de sonido ultrasónico y medir el tiempo que pasa hasta
registrar que dicho pulso regresó a la fuente tras rebotar en un obstáculo. El tiempo
transcurrido es directamente proporcional a la distancia a la que se encuentra el objeto;
esto se debe a que la velocidad de propagación del sonido en el aire es lineal.
Este tipo de sensor tiene cuatro pines de conexión: dos se utilizan para la alimentación
eléctrica del mismo (VCC y GND) y los dos restantes se utilizan para generar el pulso
(Trigger) y para detectar la llegada del mismo (Echo).
La utilización del mismo requiere programar el mecanismo de disparo, la medición de tiempo
y el sensado de la llegada del rebote. En general, la mayoría de los entornos de
programación facilitan alguna biblioteca que resuelve de manera simple la gestión de estos
procesos, pudiendo acceder como usuario directamente a la información en centímetros de la
medición realizada. En esta reedición, el código incluye su propia función de medición
comentada línea por línea, para que se vea el mecanismo completo.
Módulo que detecta la presencia de lluvia. Una placa colectora con pistas conductoras se moja y, junto a un comparador, entrega una salida digital que indica «llueve / no llueve». Se conecta a un pin digital y su umbral de detección se ajusta con un potenciómetro.
El sensor de lluvia detecta la presencia de agua en el ambiente. Consta de dos partes: una
placa colectora (la que se expone a la lluvia), recorrida por dos pistas conductoras
separadas en forma de peine, y una plaquita electrónica con un comparador (el integrado
LM393) y un potenciómetro de ajuste.
Cuando cae agua sobre la placa colectora, el agua cierra el circuito entre las pistas y
aumenta su conductividad. El comparador traduce esa variación en una salida digital: un
valor que indica presencia o ausencia de lluvia. Por eso el sensor se conecta a un pin
digital de la placa (en el esquema del original, el pin 3) y se lee con digitalRead(). El
módulo tiene cuatro pines útiles: alimentación (VCC y GND), una salida analógica
(AO) y la salida digital (DO) que usamos en este proyecto.
Antes de medir, conviene calibrar el umbral con el potenciómetro azul de la plaquita: en la
calibración del original, cuando el sensor detecta agua su salida digital queda en estado
BAJO (0 V), y cuando no detecta lluvia queda en estado ALTO (5 V). El programa lee ese
estado para mostrar en el display «Lluvia: SI» o «Lluvia: NO».
Es un componente de baja tensión, pero la placa colectora se moja por diseño: conviene
ubicar la plaquita electrónica y la placa Arduino resguardadas del agua, dejando expuesta solo
la placa colectora.
Sensor barométrico que mide la presión atmosférica (y también temperatura). Digitaliza la lectura y se comunica por el bus I2C (pines SDA y SCL). La presión se expresa en hectopascales (hPa) y necesita una librería que gestione el protocolo.
El BMP180 es un sensor barométrico diseñado para leer la presión atmosférica: la fuerza
que ejerce el aire (la atmósfera) sobre la superficie de la Tierra. Como dato del clima es muy
útil, porque las bajas presiones suelen asociarse a condiciones inestables del tiempo y,
ocasionalmente, a lluvia, mientras que la presión alta se asocia con condiciones más
estables. La presión se expresa en hectopascales (hPa); un valor típico a nivel del mar
ronda los 1013 hPa.
El sensor integra un circuito que digitaliza la medición y se comunica con la placa mediante
el protocolo I2C, un bus serial que usa solo dos líneas de señal: SDA (datos) y SCL
(reloj). En el Arduino UNO, esos pines son A4 (SDA) y A5 (SCL); en el ESP32, GPIO 21
(SDA) y GPIO 22 (SCL). Para leerlo hace falta una librería que resuelva la comunicación
por I2C: en esta reedición usamos la Adafruit BMP085 Library, compatible con el BMP180.
Una particularidad linda del I2C: es un bus compartido. En el ESP32, el BMP180 y el display
LCD por I2C conviven en las mismas dos líneas (SDA y SCL), y cada uno responde a su propia
dirección: el LCD en 0x27 y el BMP180 en 0x77. Así, dos dispositivos distintos comparten
el mismo par de cables sin estorbarse.
El BMP180 tiene cinco patas: dos de alimentación (VCC y GND), un pin 3.3 V que se usa
para alimentación en otras situaciones, y los pines SDA y SCL de la comunicación I2C.
Sensor digital que mide temperatura y humedad del aire en un mismo integrado. Digitaliza la lectura internamente y la entrega por un pin digital (no es analógico: no va a A0). Necesita una librería para leerlo y no admite más de una lectura por segundo.
El DHT11 es un sensor que mide humedad y temperatura del aire. El sensor de temperatura
es un termistor (un componente que cambia su resistencia según la temperatura); el de humedad
es un sustrato higroscópico (que atrae vapor de agua) conectado a dos electrodos que miden su
resistencia. El DHT11 combina el sensado de ambas variables e integra un pequeño circuito
digital que digitaliza esa información y la transmite al Arduino a modo de paquete de datos.
Por eso es un sensor digital, no analógico: no se conecta a una entrada A0–A5, sino a
un pin digital de la placa (en el esquema del original, el pin 2). Y por eso, para usarlo,
hace falta una librería que se encargue de la comunicación entre la placa y el sensor: en
esta reedición usamos la DHT sensor library de Adafruit.
El sensor posee cuatro pines: dos son alimentación (VCC y GND), uno es el de datos y el
cuarto no tiene uso. En algunos casos se lo consigue montado en una plaqueta con solo tres
pines, que descarta el que no se usa.
Una limitación importante: el DHT11 no admite más de una lectura por segundo. Es su
límite físico; pedirle lecturas más seguidas devuelve el valor anterior o un error. Por eso el
programa mide cada 2 segundos.
Sensor de movimiento infrarrojo que reacciona ante fuentes de calor como el cuerpo humano o el de los animales. Solo detecta presencia o ausencia de movimiento (1 o 0), en un rango de un par de metros, y trae trimmers para regular sensibilidad y tiempo de disparo.
Los sensores de movimiento infrarrojo (habitualmente llamados PIR, por piroeléctricos)
son sensores que reaccionan solo ante determinadas fuentes de energía, tales como el calor
que emite el cuerpo humano o el de los animales. Pueden reconocer el movimiento de una
persona en un rango máximo de un par de metros.
Solo detectan presencia o ausencia de movimiento, sin realizar ningún tipo de
dimensionamiento del mismo: su salida vale 1 cuando hay movimiento y 0 cuando no. Suelen
tener dos trimmers para regular la sensibilidad y el tiempo que dura el disparo cada vez
que se detecta algo.
Se suelen utilizar para sistemas de alarma domiciliaria o para reflectores automáticos
activados por movimiento. Generalmente tienen dos pines para la alimentación (VCC y GND) y
un tercer pin para la salida de información, que se conecta a una entrada digital de la
placa.
Motor que se ubica en un ángulo específico (los comunes, de 0° a 180°) y se mantiene ahí. Se programa indicando el ángulo deseado; tiene tres cables: alimentación (VCC, GND) y señal.
Un servomotor (habitualmente llamado “servo”) es un dispositivo que se compone de un
motor y un sistema de control que le permite ubicarse en una posición específica y
mantenerse estable en ella. Los servos más comunes pueden moverse en un rango de 0° a
180°, sin poder girar de forma continua. Se suelen utilizar en aplicaciones tipo barreras
o brazos mecánicos. La programación es muy simple: solo hay que especificar el ángulo al
que se lo quiere posicionar.
Existen también servos de “rotación continua”, que permiten un control del movimiento del
eje sin estar acotado a un rango, pero requieren una lógica de programación un poco más
compleja que la de los servos estándar.
Los servos tienen tres pines de conexión: dos para la alimentación eléctrica (VCC, cable
rojo o marrón, y GND, cable negro) y un tercero de señal (cable naranja o amarillo), que
se conecta a una salida digital de la placa. Para controlar el servo, la placa genera una
señal con una frecuencia particular cuyo ciclo de trabajo determina el ángulo de
posicionamiento (no confundir con PWM).
Placa modular que se monta encimada sobre una placa Arduino, encastrando en sus pines, para agregarle funciones (pantalla, sensores, comunicación). Suele diseñarse para un modelo concreto: el LCD Keypad Shield tiene el formato del Arduino UNO y no encaja en un ESP32.
Un shield es una placa de circuito que se monta encima de una placa Arduino,
encastrando en sus pines, para agregarle nuevas funcionalidades sin cablear nada en una
protoboard. Existen shields de muchos usos: pantallas, sensores, comunicación, sonido,
interconexión con otros sistemas, etcétera.
En general, un shield tiene la misma forma que la placa a la que se acopla y sus pines
encastran perfectamente con los de esa placa. Justamente por eso suele estar pensado para
un modelo concreto: el LCD Keypad Shield que usamos en el nivel intermedio tiene el
formato físico del Arduino UNO y se apila sobre él, pero no se enchufa en un ESP32.
Cuando se trabaja con ESP32, esa misma función (mostrar texto) se resuelve con un display que
se conecta por I2C, en lugar de un shield.
Teclado cuyas teclas se organizan como una matriz de filas y columnas: cada tecla es el cruce de una fila con una columna. En el de membrana, dos láminas flexibles con pistas conductoras hacen contacto al presionar. Se lee con la librería Keypad.
El teclado de membrana está compuesto por dos láminas flexibles con circuitos impresos
sobre una tinta conductora. Al presionar una tecla, las membranas hacen contacto cerrando
el circuito.
Su diseño eléctrico es matricial: en lugar de un cable por tecla, hay pines que
representan cada fila y cada columna. La pulsación de cada tecla equivale a un
cruce entre una fila y una columna. Un teclado de 4x4 (16 teclas) necesita así solo
8 pines —4 filas + 4 columnas— en vez de 16. La placa recorre las filas y columnas
(un proceso llamado escaneo) para identificar qué cruce se cerró, es decir, qué tecla se
presionó.
Para no tener que programar ese escaneo a mano se usa la librería Keypad de Arduino:
se le describe el mapa de teclas y los pines de filas y columnas, y ella se encarga de
devolver la tecla presionada con getKey().
Circuito integrado que actúa como driver de motores: convierte la señal de control de baja potencia de la placa (una salida digital) en la potencia necesaria para mover un motor DC. No invierte el giro: enciende y apaga el motor en un solo sentido.
El ULN2003 es un circuito integrado que nos sirve para realizar la conversión de una señal
de control de baja potencia (la salida digital de la placa Arduino o ESP32) en una señal con
la potencia necesaria para poder hacer que se mueva un motor. No es posible conectar motores
DC directamente a las salidas de la placa, ya que los motores requieren un nivel de potencia
mayor del que un pin puede entregar.
Internamente, el ULN2003 es un arreglo de transistores (tipo Darlington) que solo pueden
dejar pasar o cortar la corriente hacia el motor: por eso funciona como un interruptor de
potencia. Comanda el motor en un único sentido (encendido o apagado), sin posibilidad de
invertir el giro. Se cablea la señal del pin a una de sus entradas (IN1, IN2…), la salida
correspondiente (OUT1, OUT2…) a un borne del motor, el otro borne a una fuente aparte, y la
masa (GND) en común con la de la placa.
Si en una extensión de un proyecto se quisiera que un motor pudiera retroceder o invertir el
sentido de giro, habría que reemplazar el ULN2003 por un doble puente H, que sí controla
los dos sentidos.