Tabla de contenido:

Estación meteorológica solar: 5 pasos
Estación meteorológica solar: 5 pasos

Video: Estación meteorológica solar: 5 pasos

Video: Estación meteorológica solar: 5 pasos
Video: estación meteorológica con datos en tiempo real 2024, Noviembre
Anonim
Estación meteorológica solar
Estación meteorológica solar

¿Alguna vez ha querido obtener información meteorológica en tiempo real de su patio trasero? Ahora puede comprar una estación meteorológica en la tienda, pero por lo general requieren baterías o deben estar conectadas a una toma de corriente. Esta estación meteorológica no necesita estar conectada a la red porque tiene paneles solares que giran hacia el sol para una mayor eficiencia. Con sus módulos de RF, puede transferir datos desde la estación exterior a una Raspberry Pi dentro de su hogar. La Raspberry Pi aloja un sitio web en el que puede ver los datos.

Paso 1: Reúna los materiales

Materiales

  • Raspberry Pi 3 modelo B + + adaptador + Tarjeta Micro SD 16GB
  • Arduino Uno
  • Arduino Pro Mini + ruptura básica FTDI
  • 4 paneles solares de 6V 1W
  • 4 baterías 18650
  • Amplificador 5v
  • 4 cargadores de batería TP 4056
  • Sensor de temperatura y humedad Adafruit DHT22
  • Sensor de presión barométrica BMP180
  • 4 LDR
  • Receptor y transmisor RF 433
  • 2 motores paso a paso Nema 17
  • 2 controladores de motor paso a paso DRV8825
  • pantalla LCD 128 * 64
  • Muchos cables

Herramientas y materiales

  • Pegamento
  • Tablones de madera
  • Vio
  • Tornillos + destornillador
  • Cinta adhesiva
  • 2 tiras de aluminio

Paso 2: diseño mecánico

Diseño mecanico
Diseño mecanico
Diseño mecanico
Diseño mecanico
Diseño mecanico
Diseño mecanico
Diseño mecanico
Diseño mecanico

El cuerpo de la estación meteorológica está hecho de madera contrachapada. No tienes que usar madera, puedes hacerlo con cualquier material que prefieras. Para los soportes del motor, perforé un todo en un bloque de madera y luego atornillé un tornillo plano al eje del motor, que funciona mejor de lo que esperaba. De esa manera, no necesita imprimir en 3D un soporte de motor y es fácil de hacer. Luego doblé 2 tiras de aluminio para sujetar los motores muy apretados. Luego corté una tabla y le hice agujeros para los paneles solares. Luego pegue los paneles solares y suelde los cables en los paneles solares. Luego, también necesitará hacer una cruz con material negro. Si no tiene nada negro, puede usar cinta negra. Esta cruz contendrá un LDR en cada esquina para que Arduino pueda comparar las medidas del LDR y calcular en qué dirección debe girar. Así que perfore pequeños huecos en cada esquina para que pueda colocar un LDR allí. Todo lo que queda por hacer ahora es hacer una placa base y algo para colocar los componentes electrónicos. Para la placa base, necesitará perforar un todo para enrutar todos los cables. Para las medidas, no te daré ninguna porque realmente depende de ti cómo quieres diseñar esto. Si tiene otros motores u otros paneles solares, tendrá que calcular las medidas usted mismo.

Paso 3: Diseño eléctrico

Poder

Todo el sistema funciona con baterías (excepto la Raspberry Pi). Coloqué 3 baterías en serie. 1 batería tiene un promedio de 3,7 V, por lo que 3 en serie le dan alrededor de 11 V. Este paquete de baterías 3s se utiliza para los motores y el transmisor de RF. La otra batería que queda se usa para alimentar el Arduino Pro Mini y los sensores. Para cargar las baterías, utilicé 4 módulos TP4056. Cada batería tiene 1 módulo TP4056, cada módulo está conectado a un panel solar. Debido a que el módulo tiene B (entrada) y B (salida), puedo cargarlos por separado y descargarlos en serie. Asegúrese de comprar los módulos TP4056 correctos porque no todos los módulos tienen B (entrada) y B (salida).

Conrtol

El Arduino Pro Mini controla los sensores y los motores. El pin sin procesar y de tierra del Arduino está conectado al amplificador de 5V. El amplificador de 5 V está conectado a una sola batería. El Arduino Pro Mini tiene un consumo de energía muy bajo.

Componentes

DHT22: conecté este sensor al VCC y a tierra, luego conecté el pin de datos al pin digital 10.

BMP180: conecté este sensor al VCC y a tierra, conecté SCL a SCL en el Arduino y SDA a SDA en el Arduino. Tenga cuidado porque los pines SCL y SDA en el Arduino Pro Mini están en el medio de la placa, por lo que si ha soldado pines a la placa y la ha puesto en una placa de prueba, no funcionará porque tendrá interferencia de otros pines. Soldé esos 2 pines en la parte superior de la placa y le conecté un cable directamente.

Transmisor de RF: lo conecté al paquete de baterías 3s para obtener una mejor señal y un mayor alcance. Intenté conectarlo a los 5V del Arduino, pero la señal de RF es muy débil. Luego conecté el pin de datos al pin digital 12.

LDR: conecté los 4 LDR a los pines analógicos A0, A1, A2, A3. He puesto los LDR junto con una resistencia de 1K.

Motores: Los motores son accionados por 2 módulos de control DRV8825. Estos son muy útiles porque solo toman 2 líneas de entrada (dirección y paso) y pueden producir hasta 2A por fase para los motores. Los tengo conectados a los pines digitales 2, 3 y 8, 9.

LCD: conecté el lcd a la Raspberry Pi para mostrar su dirección IP. Usé un recortador para regular la luz de fondo.

Receptor de RF: conecté el receptor al Arduino Uno en 5V y tierra. El receptor no debe tomar más de 5V. Luego conecté el pin de datos al pin digital 11. Si puede encontrar una biblioteca para estos módulos de RF que funcione en la Raspberry Pi, entonces no necesita usar el Arduino Uno.

Raspberry Pi: La Raspberry Pi se conecta al Arduino Uno a través de un cable USB. El Arduino pasa las señales de RF a la Raspberry Pi a través de una conexión en serie.

Paso 4: Comencemos a codificar

Para codificar el Arduino Pro Mini, necesitará el programador FTDI. Dado que el Pro Mini no tiene puerto USB (para ahorrar energía), necesitará esa placa de conexión. Programé el código en el IDE de Arduino, creo que esta es la forma más fácil de hacerlo. Sube el código del archivo y debería estar listo.

Para codificar el Arduino Uno, lo conecté a mi computadora a través de un cable USB. Después de cargar el código, lo conecté a la Raspberry Pi. También pude cambiar el código en la Raspberry Pi porque instalé el IDE de Arduino y así pude programarlo desde allí. El código es muy simple, toma la entrada del receptor y la envía a través del puerto serie a la Raspberry Pi.

Para codificar la Raspberry Pi, instalé Raspbian. Luego usé Putty para conectarme a través de una conexión SSH. Luego configuro la Raspberry para poder conectarme a ella a través de VNC y así tener una GUI. Instalé un servidor web Apache y comencé a codificar el backend y el frontend para este proyecto. Puede encontrar el código en github:

Paso 5: base de datos

Para almacenar los datos utilizo una base de datos SQL. Hice la base de datos en MySQL Workbench. La base de datos contiene las lecturas y los datos del sensor. Tengo 3 tablas, una para almacenar los valores de los sensores con marcas de tiempo, la otra para almacenar información sobre los sensores y la última para almacenar información sobre los usuarios. No uso la tabla de Usuarios porque no codifiqué esa parte del proyecto ya que no estaba en mi MVP. Descargue el archivo SQL y ejecútelo y la base de datos debería estar lista para funcionar.

Recomendado: