Components and supplies
Arduino Nano
Apps and platforms
rogerbit.
Project description
Code
Source code
c
source code
1/**************************************** 2 * Incluir librerias 3 ****************************************/ 4#include <Wire.h> 5#include "U8glib.h"//Librería para el control del display oled 6U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);// I2C / TWI Se habilita esta linea según el display a usar en este caso el driver 7#include <Adafruit_BMP085.h> 8#include <BH1750FVI.h> 9#include "SparkFunHTU21D.h" 10Adafruit_BMP085 bmp; 11// Crea la instancia de Lightsensor. 12BH1750FVI LightSensor(BH1750FVI::k_DevModeContLowRes); 13//Crear una instancia del objeto myHumidity 14HTU21D myHumidity; 15 float temperatura ; 16 float humedad ; 17 float presion ; 18 float altitud; 19 uint16_t lux ; 20void setup() { 21 Serial.begin(115200);//Puerto serial a 115200 22 //Verificamos si el sensor está bien conectado 23 if (!bmp.begin()) { 24 Serial.println("No se pudo encontrar un sensor BMP085 válido, verifique el cableado!"); 25 while (1) {} 26 } 27 LightSensor.begin(); 28 myHumidity.begin(); 29 } 30void loop() { 31/**************************************** 32 * Leemos el valor de cada uno de los sensores y lo asignamos a sus respectivas variables 33 ****************************************/ 34 temperatura = bmp.readTemperature(); 35 humedad = myHumidity.readHumidity(); 36 presion = bmp.readPressure(); 37 altitud = bmp.readAltitude(); 38 lux = LightSensor.GetLightIntensity(); 39/**************************************** 40 * Imprimimos en el terminal serial los datos obtenidos 41 ****************************************/ 42 //Temperatura 43 Serial.print("Temperatura = "); 44 Serial.print(temperatura); 45 Serial.println(" *C"); 46 //Humedad 47 Serial.print("Humedad: "); 48 Serial.print(humedad, 2); 49 Serial.println("%"); 50 //Presión 51 Serial.print("Presion = "); 52 Serial.print(presion); 53 Serial.println(" Pa"); 54 //Altitud 55 Serial.print("Altitud = "); 56 Serial.print(altitud); 57 Serial.println(" metros"); 58 //Intensidad de luz 59 Serial.print("Luz: "); 60 Serial.println(lux); 61//Funcíon para mostrar los datos obtenidos en el display 62oled(); 63delay(1000); 64} 65//Funcíon para mostrar texto en el dislplay oled 66void oled(){ 67u8g.firstPage(); 68 do { 69 draw();//Llama a la función draw 70 } while( u8g.nextPage() ); 71 // Reconstruir la imagen después de un tiempo 72 delay(50); 73 } 74void draw(void) { 75 //Temperatura 76 u8g.setFont(u8g_font_unifont); 77 u8g.setPrintPos(0, 10); 78 u8g.print("TEMP: ");// 79 u8g.print(temperatura, 2); 80 //Humedad 81 u8g.setPrintPos(0, 22); 82 u8g.print("HUME: "); 83 u8g.print(humedad, 2);// 84 //Presión 85 u8g.setPrintPos(0, 34); 86 u8g.print("PRES: "); 87 u8g.print(presion, 0); 88 //Altitud 89 u8g.setPrintPos(0, 46); 90 u8g.print("ALTI: "); 91 u8g.print(altitud, 2); 92 //Intensidad de luz 93 u8g.setPrintPos(0, 58); 94 u8g.print("LUZ : "); 95 u8g.print(lux); 96 }
Comments
Only logged in users can leave comments
carlosvolt
8 Followers
•25 Projects
1
1
bob-easyeda
a month ago
Hi, your project is incredible! We’re offering up to $5000 in coupons for fabrication costs via OSHWLab Stars: https://oshwlab.com/activities/spark2023. Plus, we have cool programs to win PCB coupons, like Campus Ambassadors, Video Creators, and Collaboration Sponsorships. Interested in joining? Let’s chat!