En la Parte I de este tutorial, aprendimos cómo presentar datos (o valores) usando un potenciómetro (POT) y una pantalla de diodo emisor de luz orgánico (OLED). Para este proyecto, el POT fue un sensor analógico (los potenciómetros también pueden ser digitales), que actúa como una resistencia para controlar el flujo de una corriente eléctrica. La tecnología OLED utiliza LED en los que la luz es producida por una molécula orgánica.
En la Parte II, presentaremos datos utilizando dos sensores analógicos adicionales:
- Sensor de humedad del suelo: mide el contenido volumétrico de agua en el suelo
- Resistencia dependiente de la luz (LDR): un fotorresistor o componente electrónico sensible a la luz
Consulte la Parte I para revisar los conceptos básicos de la interfaz de una pantalla OLED con Arduino. Aquí, comenzaremos discutiendo cómo conectar sensores de suelo y LDR con Arduino.
El sensor de humedad del suelo consta de dos partes: una sonda sensora y un circuito sensor. La sonda del sensor tiene dos cables expuestos, que actúan como una resistencia variable (muy parecida a POT). Su resistencia varía según el contenido de agua del suelo. Esta resistencia es inversamente proporcional a la humedad del suelo.
Esto significa que cuanto mayor sea el contenido de agua en el suelo, mejor será la conductividad y menor la resistencia. Por el contrario, si hay poca o ninguna agua en el suelo, el sensor tendrá baja conductividad y mayor resistencia.
Esta sonda está conectada al circuito del sensor. El circuito se construye utilizando un amplificador operacional (op-amp), que funciona como comparador. Como su nombre indica, un comparador es un dispositivo que compara dos voltajes o corrientes. Luego emite una señal digital que indica cuál de los dos es más grande.
Para este proyecto, proporciona una salida analógica y digital. El voltaje de salida analógica se ajusta entre 0 y 5 V a medida que varía la resistencia de la sonda. La salida digital está entre 0 y 5 V, según el umbral de tensión configurado en el POT. Aquí se utiliza una recortadora POT. Es una resistencia variable que puede ajustar o calibrar circuitos.
El trimmer (o Trim POT) se utiliza para ajustar la sensibilidad de la sonda. Dos LED sirven como indicadores.
1. LED de encendido: indica que el sensor está activo
2. LED de salida: se enciende cuando la salida digital (D0) es baja (0 V)
Nombres de pines, funciones y conexiones...
La resistencia dependiente de la luz o LDR también es una resistencia variable, pero funciona según el principio de fotoconductividad, lo que significa que su resistencia depende de la intensidad de la luz. Está hecho de material de sulfuro de cadmio (Cds). Cuando la luz incide en este material, los fotones provocan un aumento de la conductividad.
Esencialmente, cuanto mayor es la luz, más fotones, lo que aumenta la conductividad y disminuye la resistencia. Lo opuesto también es cierto. Si hay poca luz y pocos fotones, habrá poca conductividad pero más resistencia.
Este cambio de resistencia se convierte en una salida de voltaje analógico entre 0 y 5 V mediante una resistencia desplegable.
Nombres de pines, funciones y conexiones...
Diagrama de circuito
Conexiones de circuito
Este circuito se construye utilizando solo cuatro componentes: una placa Arduino NANO, la pantalla OLED, un módulo LDR y el sensor de humedad del suelo.
- El módulo LDR tiene tres pines: +V, GND y pines de señal. Los pines +V y GND están conectados a los pines +5 V y GND de la placa Arduino. El pin de señal está conectado al pin de entrada analógica A1 de la placa.
- El módulo del sensor de humedad del suelo también tiene los mismos tres pines: +V, GND y pines de señal. Los pines +V y GND están conectados a los pines +5 V y GND de la placa Arduino. El pin de señal está conectado al pin de entrada analógica A0 de la placa.
- El OLED tiene cuatro pines de interfaz (como se analizó en la parte I de este tutorial): VCC, GND, SDA y SCL. Los pines VCC y GND están conectados a los pines +5 V y GND del Arduino, proporcionando energía a la pantalla. Los pines SDA y SCL están conectados a los pines Arduino A4 (SDA) y A5 (SCL) para la comunicación de datos.
- El Arduino recibe su alimentación desde el puerto USB de una computadora. El chip regulador de voltaje integrado proporcionará un suministro de 5 V a los módulos de sensores y a la pantalla OLED.
Operación del circuito
- En primer lugar, el sensor de humedad del suelo detecta el contenido de agua en el suelo. La conductividad entre sus dos sondas varía según el nivel de humedad y proporciona una salida de voltaje analógica. Si el nivel de humedad es bajo, la conductividad también será baja, pero el voltaje de salida será alto (aprox. 5 V) y viceversa. Esto significa que a medida que aumenta el nivel de humedad del suelo, el voltaje de salida analógica disminuye.
- Este voltaje de salida analógica es leído por Arduino, que lo convierte en un valor digital correspondiente entre 0 y 1023. Este valor digital luego se convierte en un porcentaje (entre 0 y 100%).
- A medida que aumenta el contenido de humedad del suelo, el voltaje de salida analógico disminuye y el valor porcentual correspondiente aumenta, o viceversa.
- El módulo LDR también proporciona un voltaje de salida analógico según la intensidad de la luz. A medida que aumenta el LDR, el voltaje de salida analógica también aumenta, o viceversa. Si la luz se atenúa, el voltaje de salida analógica también disminuirá.
- Arduino también lee este voltaje de salida analógica y lo convierte en un valor digital correspondiente entre 0 y 1023. Este valor digital se convierte luego en un porcentaje (entre 0 y 100%).
- Arduino convierte los valores de ambos sensores en un rango porcentual (entre 0 y 100%) y los muestra en el OLED.
Programa de software
El microcontrolador de la placa Arduino (ATMega328) realiza estas tareas cuando se utiliza el siguiente programa:
1. Lee la salida de voltaje analógico de ambos sensores.
2. Convierte los datos del sensor en un rango porcentual (entre 0 y 100%)
3. Muestra los valores de datos del sensor en la pantalla OLED
Este programa fue escrito en lenguaje C/C++ utilizando el software Arduino IDE. También se compila y carga en el microcontrolador Arduino utilizando el mismo software.