Tabla de contenido:
- Suministros
- Paso 1: Construyendo su circuito:
- Paso 2: Programa tu Arduino:
- Paso 3: Programación de Python para graficar datos desde Arduino:
- Paso 4: Programa final para comprobar la intensidad de la luz en una habitación
- Paso 5: Resultado:
Video: Trazado de intensidad de luz usando Arduino y la biblioteca maestra de Arduino de Python: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Al ser Arduino una herramienta económica pero altamente eficiente y funcional, programarlo en Embedded C hace que el proceso de hacer proyectos sea tedioso. El módulo Arduino_Master de Python simplifica esto y nos permite realizar cálculos, eliminar valores basura y trazar un gráfico para una representación visual de los datos.
Si aún no conoce este módulo, instálelo usando el comando pip install Arduino_Master
No se preocupe si no sabe cómo usar este módulo, visite este enlace => Arduino_Master
Sin embargo, el código para este proyecto siempre estará disponible en este instructable.
Suministros
Para este proyecto, necesitará lo siguiente:
- Un arduino
- Una resistencia dependiente de la luz (LDR) y
- Python 3 instalado en su computadora.
Paso 1: Construyendo su circuito:
Usaremos el pin A1 de Arduino para obtener datos de entrada. También puede usar los pines 5V y GND de Arduino en lugar de la batería. Realice la conexión de la siguiente manera:
- Conecte un extremo del LDR al terminal positivo de una batería de 5V o al pin de 5V del Arduino.
- Conecte el otro extremo del LDR en paralelo al pin A1 y al terminal negativo de la batería o pin GND de Arduino.
- Use una resistencia para asegurarse de que toda la corriente no fluya hacia el GND, lo que provocaría que no obtenga una señal lo suficientemente fuerte como para detectarla en el terminal A1 del Arduino. (Estoy usando una resistencia de 10k ohmios).
Paso 2: Programa tu Arduino:
El módulo Arduino_Master utiliza Serial Monitor de Arduino para enviar y recibir datos. La ventaja de usar este módulo es que, una vez que programe su Arduino, puede cambiar el programa Python solo para diferentes proyectos, ya que programar en Python es comparativamente más fácil.
Código:
// La variable LDR_1 se usa para denotar el pin A1 de Arduino.
int LDR_1 = A1;
// Los datos recibidos de A1 se almacenarán en LDR_Value_1.
float LDR_Value_1;
Entrada de cadena;
configuración vacía ()
{pinMode (LDR_1, ENTRADA); // LDR_1 está configurado como pin INPUT. Serial.begin (9600); // La velocidad en baudios de comunicación se establece en 9600.}
bucle vacío ()
{if (Serial.available ()> 0) // si hay alguna entrada disponible en el monitor en serie, proceda. {input = Serial.readString (); // Lee la entrada como una cadena. si (entrada == "DATOS") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5/1023) es el factor de conversión para obtener el valor en Voltios. Serial.println (LDR_Value_1); // Si la entrada es igual a "DATOS", lea la entrada de LDR_1 e imprímalo en el Monitor serial. } más int i = 0; // si la entrada no es igual a "DATA", ¡no haga nada! }
}
Paso 3: Programación de Python para graficar datos desde Arduino:
Todos y cada uno de los LDR tendrían sus propios valores de resistencia y debemos recordar que no todos los componentes electrónicos son exactamente idénticos en funcionamiento. Por lo tanto, primero tenemos que encontrar el voltaje a diferentes intensidades de luz.
Sube el siguiente programa a tu Python IDE y ejecútalo:
Haga esto para diferentes intensidades de luz y use el gráfico para sacar una conclusión, por ejemplo, si la intensidad es menor que 1, la habitación está demasiado oscura. Para una intensidad entre 1 y 2, la habitación está considerablemente oscura. Para una intensidad superior a 2, la luz se enciende.
# Importando el módulo Arduino_Master
desde la importación Arduino_Master *
# recolectando datos
datos = filtro (ardata (8, apriete = falso, dinámico = verdadero, msg = "DATOS", líneas = 30), tipo_esperado = 'num', límite = [0, 5])
El límite # está establecido en 5 ya que estamos usando una batería de 5V.
# Trazando los valores
Gráfico (datos, stl = 'dark_background', label = 'Intensidad de luz')
Paso 4: Programa final para comprobar la intensidad de la luz en una habitación
Después de llegar a una conclusión a partir de los datos que obtuvo, cargue el siguiente programa y asegúrese de cambiar los límites según su conclusión.
# Importando el módulo Arduino_Master
from Arduino_Master import # recolectando datos de datos = filtro (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 50), esperaba_type = 'num', limit = [0, 5]) #clasificando datos basado en la conclusión info = para i en rango (len (datos)): intensidad = datos si intensidad 1 e intensidad = 2: info.append ('Luz encendida') # Trazando el gráfico. compGraph (datos, información, stl = 'dark_background', label1 = 'Intensidad de luz', label2 = 'Estado')
Paso 5: Resultado:
El programa tardaría uno o dos minutos en ejecutarse, ya que está leyendo 50 valores instantáneos de Arduino.
Si desea acelerar el proceso, intente cambiar el parámetro de líneas de la función ardata. Pero recuerde que cuanto menores sean las observaciones, menor será la calidad de los datos.
Nota: Si el gráfico completo en la imagen anterior no es visible, consulte el gráfico sobre la sección Introducción.
Recomendado:
Lámpara de intensidad de luz Arduino: 3 pasos
Lámpara de intensidad de luz Arduino: este circuito se puede utilizar como una lámpara real, un proyecto escolar y un desafío divertido. Este circuito es fácil de usar y fácil de hacer, pero si no ha usado tinker cad antes, es posible que desee probarlo primero
Trazado de datos remoto simple usando Android / Arduino / PfodApp: 6 pasos
Trazado de datos remoto simple usando Android / Arduino / PfodApp: Para trazar datos contra la fecha / hora usando solo los milis () de Arduino, vea este Instructable Trazado / registro de fecha / hora de Arduino usando Millis () y PfodApp Este Instructable le muestra cómo trazar los datos del sensor Arduino en su Móvil Android y capturarlo para
Cálculo de intensidad de luz usando BH1715 y Arduino Nano: 5 pasos
Cálculo de la intensidad de la luz utilizando BH1715 y Arduino Nano: Ayer estuvimos trabajando en pantallas LCD y, mientras las revisábamos, nos dimos cuenta de la importancia del cálculo de la intensidad de la luz. La intensidad de la luz no solo es importante en el dominio físico de este mundo, sino que tiene un papel bien dicho en la biología
Cálculo de la intensidad de la luz usando BH1715 y Particle Photon: 5 pasos
Cálculo de la intensidad de la luz utilizando BH1715 y Particle Photon: Ayer estuvimos trabajando en pantallas LCD y, mientras trabajaba en ellas, nos dimos cuenta de la importancia del cálculo de la intensidad de la luz. La intensidad de la luz no solo es importante en el dominio físico de este mundo, sino que tiene un papel bien dicho en la biología
Trazado / registro de fecha / hora de Arduino usando Millis () y PfodApp: 11 pasos
Trazado / registro de fecha / hora de Arduino usando Millis () y PfodApp: No se requiere programación de Arduino o Android. También se admiten módulos RTC y GPS. Corrección automática para zonas horarias, deriva de RTC y segundos intercalares faltantes de GPS. Introducción Este tutorial le muestra cómo usar su Arduino millis ( ) marcas de tiempo para trazar datos ag