PROYECTO DE ESTACIÓN METEOROLÓGICA CON ARDUINO
Hola jóvenes, en estos enlaces del BLOGG y DEL CANAL, pueden encontrar recursos sobre fundamentos de ingeniería mecatrónica como : SOLIDWORKS, PROGRAMACIÓN DE ARDUINO, HIDRÁULICA – LENGUAJE LADDER , LENGUAJE GRAFCET ,ELECTROHIDRÁULICA , NEUMÁTICA, ELECTRONEUMÁTICA, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM, FACTORY IO, CONTROL, entre otros https://www.mecatrónica.com.co/ https://mecatronicaitsa.blogspot.com/ http://www.youtube.com/c/Jovanny Duque?sub_confirmation=1_ Si te ha sido útil, regálame un Like, comenta y suscríbete :) (っ◕‿◕)
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
ARDUINO®
Proyecto de
Aplicación
Nombre del Proyecto: __________________________________________ PROYECTO DE ESTACIÓN METEOROLÓGICA CON ARDUINO
Ing. Jovanny Duque
Página 1
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ 1)
Descripción del proyecto:
PROYECTO DE ESTACIÓN METEOROLÓGICA
EL PROYECTO PERMITIRÁ LA MEDICION Y VISUALIZACIÓN DE LAS VARIABLES METEOROLÓGICAS (PRESIÓN ATMOSFÉRICA, TEMPERATURA AMBIENTE Y HUMEDAD RELATIVA) 2) Materiales empleados:
ITEM 1 2 3 4 5 6 7 7 8
DESCRIPCIÓN Led Luminoso 5VDC Pulsadores NA Resistencias 10 kOhms Cables macho-macho de distintos colores Sensor DHT22 (temperatura y humedad) Sensor BMP085 (temperatura, presión y altitud) PANTALLA LCD de 16 x2 referencia( ) Módulo Bluetooth HC-06 Placa ARDUINO UNO
CANTIDAD 1 2 3 20 1 1 1 1
3) MONTAJE Y CONECIONES DE ENTRADAS Y SALIDAS USEN (FRITZING) Y (PROTEUS)
Ing. Jovanny Duque
Página 2
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
4) Código:
(INCLUIR COMENTARIOS ACLARATORIOS Y ORDEN EN SUS PARTES
// Montaje x: Estación meteorológica V.1 // Código revisado para Arduinopasoapaso // Open Source (Código abierto) // Estructura del programa: // 1.- Bibliotecas (libraries) #include <Wire.h>; // Escritura por pantalla LCD #include <LCD.h>; // Pantalla LCD #include <LiquidCrystal_I2C.h>; // Comunicación I2C #include <Adafruit_BMP085.h>; // Sensor BMP085 #include <DHT.h>; // Sensor DHT22 #include <SoftwareSerial.h>; // Comunicación Bluetooth HC-06 // 2.- Definición de variables // Pines para la pantalla LCD: #define BACKLIGHT_PIN 3 Ing. Jovanny Duque
Página 3
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ #define En_pin 2 #define Rw_pin 1 #define Rs_pin 0 #define D4_pin 4 #define D5_pin 5 #define D6_pin 6 #define D7_pin 7 // Variables para la librería del sensor DHT #define DHTTYPE DHT22 #define DHTPIN A0 // Pines a utilizar: const int led = 13; const int pulsadorA = 2; const int pulsadorB = 3; // Variables a utilizar en el núcleo del programa int contador=0; float temperature; float pressure; float pressure2; float h; float t; float tmedia; // Variables de librería: LiquidCrystal_I2C lcd(0x27,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); Adafruit_BMP085 bmp; DHT dht(DHTPIN, DHTTYPE); SoftwareSerial SerialBT(10, 11); // (RX, TX) en Arduino
// 3.- Bucle inicial (setup) Ing. Jovanny Duque
Página 4
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ void setup() { pinMode(led, OUTPUT); // Se define el LED como una salida pinMode(pulsadorA, INPUT); // Se define el pulsador 1 como una entrada pinMode(pulsadorB, INPUT); // Se define el pulsador 2 como una entrada Serial.begin(9600); SerialBT.begin(9600); dht.begin(); bmp.begin(); if (!bmp.begin()) { Serial.println("Could not find a valid BMP085 sensor, check wiring!"); while (1) {} } lcd.begin(16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(LOW); lcd.home(); } // 4.- Núcleo del programa void loop(){ if(digitalRead(pulsadorA) == HIGH){ digitalWrite(led, HIGH); // Led encendido lcd.display(); lcd.setBacklight(HIGH); contador=1; } if(digitalRead(pulsadorB) == HIGH){ digitalWrite(led, LOW); // Led encendido Serial.println("Apagado"); // Se registra la pulsación contador=0; lcd.noDisplay(); lcd.setBacklight(LOW); } Ing. Jovanny Duque
Página 5
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ if(contador == 1){ t = dht.readTemperature(); h = dht.readHumidity(); temperature = bmp.readTemperature(); pressure = bmp.readPressure(); tmedia= (t+temperature)/2; pressure2= (pressure/100); lcd.clear(); lcd.setCursor(0,0); lcd.print(tmedia); lcd.print((char)223); lcd.print("C "); lcd.print(h); lcd.print("%"); lcd.setCursor(0,1); lcd.print(pressure2); lcd.print("mbar"); delay(3000); Serial.print("Humidity-DHT = "); Serial.println(h); Serial.print("Temperature-DHT = "); Serial.print(t); Serial.print("["); Serial.write(186); Serial.println("C]"); Serial.print("Temperature-BMP = "); Serial.print(temperature); Serial.print("["); Serial.write(186); Serial.println("C]"); Serial.print("Pressure = "); Serial.print(pressure2); Serial.println("[mbares]"); SerialBT.println(" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "); Ing. Jovanny Duque
Página 6
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ SerialBT.print("T= "); SerialBT.print(tmedia); SerialBT.println(" [Grados Celsius] "); SerialBT.print("H= "); SerialBT.print(h); SerialBT.println(" [% de Humedad Relativa]"); SerialBT.print("P= "); SerialBT.print(pressure2); SerialBT.println(" [milibares]");
// Calculate altitude assuming 'standard' barometric // pressure of 1013.25 millibar = 101325 Pascal Serial.print("Altitude = "); Serial.print(bmp.readAltitude()); Serial.println(" meters"); // you can get a more precise measurement of altitude // if you know the current sea level pressure which will // vary with weather and such. If it is 1015 millibars // that is equal to 101500 Pascals. Serial.print("Real altitude = "); Serial.print(bmp.readAltitude(101300)); Serial.println(" meters"); } } /* Fín del código */
Ing. Jovanny Duque
Página 7
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
Jóvenes, este material ha sidó elabóradó cón muchó gustó. Si te es util Rega lame un Like, cómenta y suscríbete :) (っ◕‿◕) Te invitó al CANAL DE YOUTUBE MEKATRONICA
http://www.yóutube.cóm/c/JóvannyDuque? sub_cónfirmatión=1_ Amigós/as en el BLOGG MEKATRONICA J DUKE pódras encóntrar cantidad de recursós sóbre SOLIDWORKS, HIDRAULICA ELECTROHIDRAULICA , NEUMATICA, ELECTRONEUMATICA, CONTROL, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM FACTORY IO, entre ótrós
https://mecatrónica-itsa.blógspót.cóm/
Ing. Jovanny Duque
Página 8