Tabla de contenido:

Sensor de luz (fotoresistor) con Arduino en Tinkercad: 5 pasos (con imágenes)
Sensor de luz (fotoresistor) con Arduino en Tinkercad: 5 pasos (con imágenes)

Video: Sensor de luz (fotoresistor) con Arduino en Tinkercad: 5 pasos (con imágenes)

Video: Sensor de luz (fotoresistor) con Arduino en Tinkercad: 5 pasos (con imágenes)
Video: SEMÁFORO con ARDUINO (Tinkercad) 🚥 2024, Noviembre
Anonim
Sensor de luz (fotorresistor) con Arduino en Tinkercad
Sensor de luz (fotorresistor) con Arduino en Tinkercad

Proyectos Tinkercad »

Aprendamos a leer una fotorresistencia, un tipo de resistencia variable sensible a la luz, usando la entrada analógica de Arduino. También se llama LDR (resistencia dependiente de la luz).

Hasta ahora, ya ha aprendido a controlar los LED con la salida analógica de Arduino y a leer un potenciómetro, que es otro tipo de resistencia variable, por lo que aprovecharemos esas habilidades en esta lección. Recuerde que las entradas analógicas de Arduino (pines marcados A0-A6) pueden detectar una señal eléctrica que cambia gradualmente y traduce esa señal en un número entre 0 y 1023.

Imagen
Imagen

Explore el circuito de muestra incrustado aquí en el plano de trabajo haciendo clic en Iniciar simulación y haciendo clic en el fotorresistor (óvalo marrón con una línea ondulada en el medio), luego arrastre el control deslizante de brillo para ajustar la entrada de luz simulada.

En esta lección, usted mismo construirá este circuito simulado junto con la muestra. Para construir opcionalmente el circuito físico, reúna su placa Arduino Uno, cable USB, placa de prueba sin soldadura, un LED, resistencias (220 ohmios y 4,7 k ohmios), fotorresistencia y cables de placa de prueba.

Puedes seguirlo virtualmente usando Tinkercad Circuits. ¡Incluso puede ver esta lección desde dentro de Tinkercad (se requiere inicio de sesión gratuito)! Explore el circuito de muestra y construya el suyo junto a él. Tinkercad Circuits es un programa gratuito basado en navegador que le permite construir y simular circuitos. Es perfecto para aprender, enseñar y crear prototipos.

Paso 1: construye el circuito

Construye el circuito
Construye el circuito
Construye el circuito
Construye el circuito

Eche un vistazo al circuito de la placa de pruebas que se muestra en la imagen. Puede ser útil mirar una versión con cable libre de este circuito de muestra para comparar, en la imagen. En este paso, creará su propia versión de este circuito junto con la muestra en el plano de trabajo.

Para seguir, cargue una nueva ventana de Tinkercad Circuits y cree su propia versión de este circuito junto con la muestra.

Identifique la fotorresistencia, el LED, las resistencias y los cables conectados al Arduino en el plano de trabajo de Tinkercad Circuits.

Arrastre un Arduino Uno y una placa de pruebas desde el panel de componentes al plano de trabajo, junto al circuito existente.

Conecte los rieles de alimentación (+) y tierra (-) de la placa de pruebas a Arduino 5V y tierra (GND), respectivamente, haciendo clic para crear cables.

Extienda los rieles eléctricos y de tierra a sus respectivos buses en el borde opuesto de la placa de pruebas (opcional para este circuito, pero una buena práctica común).

Enchufe el LED en dos filas de placas de prueba diferentes de modo que el cátodo (negativo, pata más corta) se conecte a una pata de una resistencia (entre 100 y 1 K ohmios está bien). La resistencia puede ir en cualquier orientación porque las resistencias no están polarizadas, a diferencia de los LED, que deben estar conectados de cierta manera para funcionar.

Conecte la otra pata de la resistencia a tierra.

Conecte el ánodo LED (positivo, pata más larga) al pin 9 de Arduino.

Arrastre una fotorresistencia desde el panel de componentes a su tablero, de modo que sus patas se conecten en dos filas diferentes.

Haga clic para crear un cable que conecte una pata del fotorresistor a la alimentación.

Conecte la otra pata al pin analógico A0 de Arduino.

Arrastre una resistencia desde el panel de componentes para conectar la pata del fotorresistor conectado a A0 con tierra y ajuste su valor a 4,7 k ohmios.

Paso 2: codificar con bloques

Código con bloques
Código con bloques

Usemos el editor de bloques de código para escuchar el estado del fotorresistor, luego configuremos un LED a un brillo relativo basado en la cantidad de luz que ve el sensor. Es posible que desee actualizar su memoria de la salida analógica LED en la lección Fading LED.

Haga clic en el botón "Código" para abrir el editor de código. Los bloques de notación grises son comentarios para tomar nota de lo que pretende que haga su código, pero este texto no se ejecuta como parte del programa.

Haga clic en la categoría Variables en el editor de código.

Para almacenar el valor de resistencia del fotoresistor, cree una variable llamada "sensorValue".

Arrastre un bloque "set". Almacenaremos el estado de nuestro fotorresistor en la variable

sensorValue

Haga clic en la categoría de entrada y arrastre un bloque "pin de lectura analógica", y colóquelo en el bloque "establecer" después de la palabra "a"

Dado que nuestro potenciómetro está conectado al Arduino en el pin A0, cambie el menú desplegable a A0.

Haga clic en la categoría Salida y arrastre un bloque "imprimir en monitor en serie".

Navegue a la categoría Variables y arrastre su variable sensorValue al bloque "imprimir en monitor en serie", y asegúrese de que el menú desplegable esté configurado para imprimir con una nueva línea. Opcionalmente, inicie la simulación y abra el monitor en serie para verificar que las lecturas entren y cambien cuando ajuste el sensor. Los valores de las entradas analógicas oscilan entre 0 y 1023.

Como queremos escribir en el LED con un número entre 0 (apagado) y 255 (brillo total), usaremos el bloque "map" para hacer una multiplicación cruzada por nosotros. Navegue a la categoría Matemáticas y arrastre un bloque de "mapa".

En la primera ranura, arrastre un bloque de variable sensorValue, luego configure el rango de 0 a 255.

De vuelta en la categoría Salida, arrastre un bloque analógico "establecer pin", que por defecto dice "establecer pin 3 en 0". Ajústelo para establecer el pin 9.

Arrastre el bloque de mapa que hizo anteriormente en el campo "to" del bloque "set pin" para escribir el número ajustado en el pin LED usando PWM.

Haga clic en la categoría Control y arrastre un bloque de espera y ajústelo para retrasar el programa durante 0,1 segundos.

Paso 3: Explicación del código Arduino del fotorresistor

Cuando el editor de código está abierto, puede hacer clic en el menú desplegable de la izquierda y seleccionar "Bloques + Texto" para revelar el código Arduino generado por los bloques de código. Siga mientras exploramos el código con más detalle.

int sensorValue = 0;

Antes de

configuración()

creamos una variable para almacenar el valor actual leído del potenciómetro. Se llama

En t

porque es un número entero o cualquier número entero.

configuración vacía ()

{pinMode (A0, ENTRADA); pinMode (9, SALIDA); Serial.begin (9600); }

Dentro de la instalación, los pines se configuran usando el

pinMode ()

función. El pin A0 está configurado como entrada, por lo que podemos "escuchar" el estado eléctrico del potenciómetro. El pin 9 está configurado como una salida para controlar el LED. Para poder enviar mensajes, el Arduino abre un nuevo canal de comunicación serial con

Serial.begin ()

que toma un argumento de velocidad en baudios (qué velocidad para comunicarse), en este caso 9600 bits por segundo.

bucle vacío ()

{// lee el valor del sensor sensorValue = analogRead (A0); // imprime la lectura del sensor para que sepa su rango Serial.println (sensorValue);

Cualquier cosa después de un conjunto de barras

//

es un comentario, que ayuda a la gente a entender en lenguaje sencillo lo que el programa está destinado a hacer, pero no está incluido en el programa que ejecuta su Arduino. En el bucle principal, una función llamada

analogRead ();

comprueba el estado del pin A0 (que será un número entero de 0 a 1023) y almacena ese valor en la variable

sensorValue

// mapear la lectura del sensor a un rango para el LED

analogWrite (9, map (sensorValue, 0, 1023, 0, 255)); retraso (100); // Espere 100 milisegundos}

La línea que sigue al siguiente comentario hace muchas cosas a la vez. Recordar

analogWrite ()

toma dos argumentos, el número pin (9 en nuestro caso) y el valor a escribir, que debe estar entre 0 y 255. La función en línea

mapa()

toma cinco argumentos: el número a evaluar (la variable del sensor en constante cambio), el mínimo esperado y el máximo esperado, y el mínimo y máximo deseados. Entonces el

mapa()

La función en nuestro caso es evaluar el sensorValue entrante y hacer una multiplicación cruzada para reducir la salida de 0-1023 a 0-255. El resultado se devuelve al segundo argumento de

analogWrite ();

configurando el brillo del LED conectado al pin 9.

Paso 4: construye un circuito físico Arduino (opcional)

Construye un circuito físico Arduino (opcional)
Construye un circuito físico Arduino (opcional)

Para programar su Arduino Uno físico, deberá instalar el software gratuito (o el complemento para el editor web) y luego abrirlo. Varias fotocélulas tienen valores diferentes, por lo que si su circuito físico no funciona, es posible que deba cambiar la resistencia que está emparejada con él. Obtenga más información sobre los divisores de voltaje en la lección Instructables Electronics Class sobre resistencias.

Conecte el circuito Arduino Uno enchufando componentes y cables para que coincidan con las conexiones que se muestran aquí en Tinkercad Circuits. Para un recorrido más detallado sobre cómo trabajar con su placa física Arduino Uno, consulte la clase gratuita Instructables Arduino.

Copie el código de la ventana de código de Tinkercad Circuits y péguelo en un boceto vacío en su software Arduino, o haga clic en el botón de descarga (flecha hacia abajo) y abra

el archivo resultante usando Arduino. También puede encontrar este ejemplo en el software Arduino navegando a Archivo -> Ejemplos -> 03. Analog -> AnalogInOutSerial.

Conecte su cable USB y seleccione su placa y puerto en el menú Herramientas del software.

¡Cargue el código y use su mano para cubrir el sensor de recibir luz y / o iluminar su sensor!

Abra el monitor en serie para observar los valores de su sensor. Es probable que los valores del mundo real no se extiendan hasta 0 o hasta 1023, según las condiciones de iluminación. Siéntase libre de ajustar el rango 0-1023 a su mínimo observado y máximo observado para obtener el rango máximo de expresión de brillo en el LED.

Paso 5: A continuación, intente…

Ahora que ha aprendido a leer un fotorresistor y mapear su salida para controlar el brillo de un LED, está listo para aplicar esas y otras habilidades que ha aprendido hasta ahora.

¿Puede cambiar el LED por otro tipo de salida, como un servomotor, y crear algún código para reflejar el nivel de luz actual del sensor como una posición determinada a lo largo de un indicador?

Intente cambiar su fotoresistor por otras entradas analógicas, como un sensor de distancia ultrasónico o un potenciómetro.

Aprenda más sobre cómo monitorear las entradas digitales y analógicas de su Arduino a través de la computadora usando el Monitor Serial.

Recomendado: