En la presente práctica se realiza un control de luz con la Cocket Nova utilizando un led en la cajuela de un automovil a fin de automatizar dicha tarea en función de la iluminación ambiental como ejemplo de aplicación para el ADC y GPIOs digitales de la tarjeta.
Introducción
El ADC es un periferco que permite la lectura por parte de sistemas digitales de señales analogicas convirtiendo las mismas en valores binarios faciles de procesar e interpretar. La Cocket Nova basada en el microcontrolador CH552 dispone de un ADC con resolucion de 8 bits por lo que puede asignar un valor binario a cada uno de los 255 pasos de 19mV para un rango de tension de 0 a 5v
Por otro lado las entradas y salidas analógicas son las interfaces que permiten a todo microcontrolador interactuar con el exterior, recibiendo información y brindando respuestas de acuerdo a una instrucción dentro del código, de esta manera la Cocket Nova puede soportar tensiones de 5v en sus pines configurados como entrada y entregar igualmente pulsos de 5v en sus pines configurados como salidas.
Respecto a la presente practica el imán de neodimio sera colocado en la puerta de la cajuela alineado con el sensor de efecto hall fijado en la carroceria de modo que dicho sensor detecte cuando la puerta de la cajuela se abra o se cierre. Asi mismo, la fotoresistencia se debera ubicar en un punto que permita detectar la luz ambiental, ya sea adentro de la cajuela en un punto conveniente o afuera de la misma.
Materiales
- Placa de desarrollo Cocket Nova
- Fotoresistencia LDR 5537
- Trimmer 10k ohm
- Imán de neodimio circular 3x1mm
- Sensor Magnético Digital (Efecto Hall) KY-003
- Relevador 5V KY-019
- Led 1W con disipador
- Alambre para protoboard 1m
- Fuente de alimentacion 5V 2A
- 2 Resistencias 12 Ω 1/2W
Diagrama de conexión
Para prototipar el sistema, usaremos el siguiente diagrama de conexiones, utilizando los modulos KY-019 Y KY-003 que corresponden a los modulos de relevador y sensor de efecto hall los cuales se conectan a la cocket en los pines 3.0 y 3.1 respectivamente; ambos junto con la Cocket alimentados a 5v.
Requerimientos previos
En este ejemplo no se requiere ninguna libreria en especial unicamente instalar el driver para que el microcontrolador CH552G de la Cocket Nova sea reconocido en tu PC y en el Arduino IDE instalar las placas basadas en el microcontrolador de la serie CHXXX
Para lo anterior sigue los pasos descritos en el manual de usuario desde la pagina 9 a la 12
Manual de usuario : https://uelectronics.com/wp-content/uploads/2024/10/Cocket-Nova-Product-Reference-Manual-ES.pdf
Código
En el código que continuación se muestra se realiza la lectura analógica del divisor de tensión de la fotoresistencia mediante la función analogRead(), la lectura de la entrada digital digitalRead() desde el sensor de efecto hall y la salida digital digitalWrite() de acuerdo a un par de condicionales if y else if empleando los operadores lógicos AND (&&) y OR (||)
#define rele 30 #define sensorhall 31 #define fotoresistencia 11 // usaremos uno de los 4 canales analógicos presentes en la Cocket. Vease pinout en el manual de usuario float sensorValue = 0; // variable para almacenar la conversion del ADC bool cajuela = 0; // variable para almacenar el estado de la cajuela void setup() { pinMode(rele, OUTPUT); pinMode(sensorhall, INPUT); // declaracion de los pines para el relevador y el sensor hall como salida y entrada digitales // respectivamente } void loop() { sensorValue = (analogRead(fotoresistencia)/51); // Conversion del ADC en valores de tension de 0 a 5v cajuela = digitalRead(sensorhall); // Lee el esatdo del sensor halla y lo afigna a la variable cajuela if(sensorValue>= 2.5 && cajuela == 1) digitalWrite(rele, HIGH); // Unicamente caundo la cajuela este abierta y sea de noche se activa el // rele else if(sensorValue<2.5 || cajuela == 0) digitalWrite(rele, LOW); delay(2000); // retardo de 2 segundos para evitar falsas lecturas }
Conclusiones
El sistema desarrollado en esta práctica proporciona una solución para controlar la iluminación de la cajuela de un automóvil, utilizando la tarjeta de desarrollo Cocket Nova, una fotoresistencia y un sensor de efecto Hall. Este sistema asegura que la lámpara LED de la cajuela se encienda solo cuando la cajuela está abierta y no hay suficiente luz ambiental (es de noche). La implementación de un relé y un divisor de tensión con un trimpot permite ajustar la sensibilidad de la fotoresistencia para que el sistema responda de manera adecuada a diferentes condiciones de iluminación. El sistema demuestra una aplicacion sencilla utilizando el ADC, las entradas y salidas digitales por medio de la combinación de sensores simples.