Las herramientas y aplicaciones basadas en IA permiten automatizar tareas rutinarias como la programación y el diseño. La Inteligencia Artificial ha revolucionado la creación de páginas web, ofreciendo ventajas significativas en términos de eficiencia, personalización y escalabilidad. Con la IA, es posible automatizar tareas repetitivas como la codificación y el diseño, lo que permite a los desarrolladores enfocarse en aspectos más creativos y estratégicos. Además, la IA puede analizar datos de usuarios y ofrecer recomendaciones personalizadas para mejorar la experiencia del usuario, aumentando así la conversión y la satisfacción del cliente. La IA también facilita la optimización para motores de búsqueda (SEO) y la adaptación a diferentes dispositivos y plataformas, lo que resulta en una mayor visibilidad y alcance para la página web 🌐💻.
Bienvenidos a nuestro portal de Datos Ambientales en Tiempo Real 🌍📡
En un mundo donde la sostenibilidad y la conciencia ambiental son más cruciales que nunca, tener acceso a información precisa y actualizada es fundamental para tomar decisiones informadas. Por eso, hemos creado este espacio donde podrás encontrar un enlace directo a una base de datos que recopila y muestra información ambiental en tiempo real: desde niveles de humedad y temperatura, hasta datos de presión atmosférica, radiación UV Pronto, intensidad lumínica Pronto y más. Nuestro objetivo es poner al alcance de investigadores, estudiantes, activistas y cualquier persona interesada, herramientas que permitan entender y actuar frente a los desafíos ambientales que enfrentamos. Explora, aprende y únete a la comunidad que busca un futuro más verde y saludable 🌱🚀. Has click en Monitoreo en tiempo real e ingresa a nuestro buscador para que tengas acceso a la información de los sensores hasta 10 días atrás.
El ATmega328 es un microcontrolador de 8 bits de la familia AVR, diseñado y fabricado por Microchip (anteriormente Atmel). Es uno de los microcontroladores más populares y ampliamente utilizados en proyectos de electrónica y robótica, especialmente en la plataforma Arduino.
Más información
Raspberry Pi es una serie de computadoras de placa única (SBC, por sus siglas en inglés) de bajo costo y tamaño compacto, diseñadas para promover la educación y el desarrollo de proyectos de computación y electrónica.
Más informaciónEn la acuicultura, controlar la luz es clave para el crecimiento de peces, la fotosíntesis de microalgas y el bienestar general del sistema. Por eso, en este blog te explicamos paso a paso cómo fabricar un sensor de luz de bajo costo usando Arduino, un Wemos Mini y un sensor de luz BHT-150.
Aquí encontrarás la lista de materiales, el diagrama de conexión
y, lo más importante, el código completo ya cargado y comentado para que lo copies,
modifiques y adaptes a tu estanque o laboratorio. También te mostramos cómo calibrarlo
y cómo enviar los datos al celular en tiempo real.
Nuestro objetivo es que cualquier productor, técnico o estudiante pueda medir la
intensidad lumínica de sus sistemas acuícolas sin depender de equipos costosos.
¡Manos a la obra y hagamos tecnología útil para el agua!. Este dispositivo fue
presentado en la Primeria Feria Agrotech-Bolivar(2024) desarrollada por el
Servicio Nacional de Aprendizaje-Sena.
| Item | Imagen |
|---|---|
| Tarjeta de desarrollo Arduino nano | ![]() |
| Tarjeta de desarrollo Wemos D1 mini(ESP8266) | ![]() |
| Shield DTH-11 para Wemos Mini | ![]() |
| Sensor de Luz BHT-150 GY-302 | ![]() |
| Sensor Hall magnético KY-024 | ![]() |
| Modulo Bluetooth HC-06 | ![]() |
| Fuente de poder 5 V (Porta baterías u otro) | -- |
Adicionalmente se necesita acceso a una red Wifi. (Puedes utilizar un teléfono celular como fuente de internet, en el cual activarás el modo HotSpot o la conexión compartida a 2,4 GHz).
El sensor se construyó en dos partes, una encargada de la trasmisión por red wifi, con la tarjeta de desarrollo ESP8266 y otra compuesta por el Arduino, donde podrán conectarse sensores dependiendo de la necesidad de información. Todo el sensor pudo haberse construido con una única tarjeta de desarrollo de mayor capacidad (diferente a la Wemos), como la ESP32, la cual cuenta de 32 pines. Sin embargo, con este enfoque aprenderás también a comunicar dos dispositivos por el puerto serial y trasmitir datos vía bluetooth simultáneamente.
La primera parte del sensor, consta básicamente de un módulo WEMOS (o ESP 8266) al cual se le conectó un Shield de DTH-11 (sensor de humedad y temperatura), este sensor cuenta con una conexión interna al D4 (o GPIO 2).
La segunda, la constituyó un Arduino nano al cual se le conectó un sensor de luminosidad BHT-150. También se conectó un sensor Hall (que funciona como switch) para la trasmisión de datos por wifi; al activarse trasmite la información capturada del Arduino al Wemos a través del puerto serial (comunicación Tx-->Rx y Rx-->Tx). El Arduino también contó con un Módulo Bluetooth que permite enviar los datos de sensores por el puerto a un dispositivo Android con una aplicación serial (útil para los casos en que no hay conexión a red wifi). Por su mayor capacidad al Ardunio pueden conectarse otros sensores, tales como un BMP 180 de presión entre otros.
La trasmisión por Wifi envía un mensaje de texto (con la información de los sensores), a un Bot de Telegram para recibir la información en tiempo real en cualquier dispositivo Android con la aplicación de Telegram. Para esto previamente creas un Bot, del cual extraerás el idChat y el Token que serán usados en el código que se carga al Wemos. Obténgalos de la aplicación Telegram del celular en el @Botfather (observe el siguiente video explicativo).
/* Comentarios: Este programa para monitorear la luminosidad usando una tarjeta
* Arduino Nano, y trasmitirla por Bluetooth, adicional cuenta con un
* sensor Hall usado como switch para activar la toma de datos de Luminosidad y
* enviar la informacion por el puerto serial a 9600 Baudios (para activarlo se
* coloca un iman cerca al sensor asegurando el encendido del led).
* El sensor Luminosidad BH1750; usa la dirección: 0x23 sin conexión, si se
* conecta a Vcc usar la dirección 0X5C.
*
* Conexiones del sensor de luz:
* BH1750 Vcc SDA SCL (addr) Gnd
* Arduino 5.0V A4 A5 No usado Gnd
*
* Nota: en este código se ha dejado un espacio intencionalmente antes de los
* nombres de las librerias.
*/
#include < Wire.h>
#include < SoftwareSerial.h> //Librería para bluetooth
#include < BH1750.h> //Librería para Sensor de luz HB1750 no usar la
#include < SPI.h>
BH1750 Sensor; //Crea una variable BH1750 para el senso
#define PinInt 10 // pin digital para el sensor Hall
unsigned int SensorvalorLuz;
int estado = LOW; //estado por defecto "no trasmitir"
bool trasmitir = false;
void setup(){
pinMode(LED_BUILTIN, OUTPUT); //Inicializa el pin LED_BUILTIN como un output
pinMode(PinInt, INPUT); //Inicializa el pin para el sensor Hall
Sensor.begin(); //Inicializa sensor de BH1750
Serial.begin(9600); //Inicializa la comunicación serial a 9600 Baudios
}
void loop() {
digitalWrite(LED_BUILTIN, LOW); // pone en bajo el Led de la tarjeta
SensorvalorLuz = Sensor.readLightLevel(); // obtener el valor de Lux
estado = digitalRead(PinInt); // lee el sensor Hall
if (estado == HIGH){
trasmitir = true;
Serial.print (" Lux = ");
Serial.println(SensorvalorLuz,1);
}
else { trasmitir = false; }
delay(2500);
digitalWrite(LED_BUILTIN, HIGH); // pone en bajo el Led de la tarjeta
delay(2500); // esperamos 5 segundos para volver a leer
trasmitir = false;
}
/* Comentarios: Al usar un Wemos D1 Mini seleccionar como tarjeta en el ID la: WEMOS LOLIN (D1R1) ESP8266, esta se
* comunica con un Bot de telegram: Monitoreo_Bot; con un shield de DHT-11 para Wemos, el cual tienen conexión
* interna al D4 o GPIO 2 .
* Nota: En este proyecto el módulo DHT se integró al Wemos por disponibilidad del Shield, sin embargo, se hubiera
* podido integrarun módulo DHT-11 independiente al Arduino nano usando el mismo enfoque.
*/
//Declare las librerías para la comunicación Wifi del módulo Wemos y
//las librerías para sensor de DHT-11
#include < Arduino.h>
#include < ESP8266HTTPClient.h>
#include < ESP8266WiFi.h>
#include < WiFiClientSecureBearSSL.h>
#include < Wire.h>
#include < SoftwareSerial.h>
#include < DHT.h>
#include < DHT_U.h>
// Parámetros del sensor de DHT
#define DHTPIN 2 // D4 o GPIO 2 poner el pin de forma numérica
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
SoftwareSerial miBT(0,1); // Crea la conexión serial a miBT pin 1 a Tx
#define Led2 D6 //componente LED a pin Digital D6 GPIO-12
#define PinInt D7
// Datos del Bot al cual se enviará la información
const String idChat = "734550887…"; // Escriba el id del chat Bot,
const String tokenTelegram = "65AG5vlfHsBiu7…"; // Escriba el Token del Bot
// Datos de la Red Wifi para conectar la tarjeta Wemos
const char *NOM_RED_WIFI = "Nombre_de_Red"; // Escriba el nombre de la red Wifi
const char *CLAVE_RED_WIFI = "clave_Red"; // Escriba la clave de la red Wifi
bool trasmitir = false;
int estado = LOW;
void setup(){
// Inicializar pines del Wemos
pinMode(LED_BUILTIN, OUTPUT); //para generar una señal visual (opcional)
pinMode(Led2, OUTPUT);
pinMode(PinInt, INPUT);
// Inicializa el sensor de DHT y el puerto serial
dht.begin();
Serial.begin(9600);
//Inicializar la red Wifi
WiFi.mode(WIFI_STA);
WiFi.begin(NOM_RED_WIFI, CLAVE_RED_WIFI);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.print ("Connected, address=");
Serial.println(WiFi.localIP());
Serial.print ("mac Address = ");
Serial.println(WiFi.macAddress());
}
void loop() {
digitalWrite(LED_BUILTIN, LOW); //Generamos una señal visual (opcional)
String mensaje = "Sensor1; ";
// Recibe la información del Arduino por el puerto serial
if (Serial.available() > 0) {
trasmitir = true; // Si se recibe información desde el Arduino el estado cambia
Serial.println (" Trasmitir ");
// Lee el mensaje que llega por el puerto serial
while (Serial.available() > 0){
char datos_serial=Serial.read();
mensaje += datos_serial; // Crea el mensaje en el Wemos recibido desde el Arduino
}
Serial.println (mensaje);
}
else { trasmitir = false; // Si no hay información desde el Arduino -no trasmite.
Serial.println (" No trasmitir ");}
if ((WiFi.status() != WL_CONNECTED)) {
Serial.println("No hay WiFi");
return; // Si el Wifi no está conectado, informa por el puerto serial y sale del loop
}
//Construcción del mensaje a trasmitir
if ((WiFi.status() == WL_CONNECTED) and trasmitir==true){
float Humedad = dht.readHumidity(); // medición de la humedad
float temp = dht.readTemperature(); // medición de la temperatura
mensaje += "; Temp.°C= "; //Suma al mensaje recibido del Arduino la información del DHT-11
mensaje += String(temp,1);
mensaje += "; HR%= ";
mensaje += String(Humedad,1);
Serial.println(mensaje);
std::unique_ptr clienteWifi(new BearSSL::WiFiClientSecure);
clienteWifi->setInsecure();
HTTPClient clienteHttp;
//Envío de mensaje (datos de sensores) al Bot de Telegram
String url = "https://api.telegram.org/bot" + tokenTelegram + "/sendMessage";
String cargaUtil = "{\"chat_id\":\"" + idChat + "\",\"text\":\"" + mensaje + "\"}";
if (clienteHttp.begin(*clienteWifi, url)) {
clienteHttp.addHeader("Content-Type", "application/json", false, true);
int httpCode = clienteHttp.POST(cargaUtil);
if (httpCode > 0) {
if (httpCode == HTTP_CODE_OK) {
Serial.println("Petición servidor OK.");
digitalWrite(Led2, HIGH); delay(500);
digitalWrite(Led2, LOW);
}
else { Serial.printf("Petición hecha / Error en el servidor."); }
}
else {Serial.printf("Error en petición: %s\n"); }
clienteHttp.end();
}
else {Serial.println("Error con cliente Http.begin"); }
}
delay(500);
digitalWrite(LED_BUILTIN, HIGH); //Señal luminosa cada vez que mide un set de datos
delay(50000); //Espera 50 seg. antes de leer y enviar el siguiente mensaje
trasmitir = false; //Vuelve al estado de no trasmitir (por defecto)
}
En un mundo donde la ciencia y la tecnología avanzan a un ritmo vertiginoso, es
emocionante mantenerse al día con los últimos descubrimientos y avances que están
cambiando nuestra comprensión del universo y de nosotros mismos. En este blog, te
presentamos una selección de videos que exploran temas científicos y novedosos, desde
la física cuántica hasta la biología sintética, pasando por la exploración espacial y
la inteligencia artificial. Nuestro objetivo es inspirarte a explorar, aprender y
maravillarte con la complejidad y la belleza del mundo que nos rodea. ¡Así que únete
a nosotros en este viaje de descubrimiento y explora los límites de la
ciencia y la innovación! 🚀
Sus ayudas permiten sostener este proyecto educativo. Cualquier contribución es un valioso aporte para seguir creciendo.
Escribe tus comentarios
Gracias por compartirno el sketch de los sensores, lo estoy colocando en práctica con mis estudiantes. Estamos interesados en adicionar mas sensores, y estaremos compartiendo con usted lo que logremos..
¡Excelente investigación! Muy importante cuidar nuestro ambiente, los artículos me han servido en varias actividades de mi trabajo.
Gracias por compartir tus conocimientos, ojalá pudieras compartirnos más Sketchs de Arduino.
Las APKs, me han servido mucho, al inicio tuve que luchar para permitir que mi celular las aceptara, tuve que cambiar un poco la configuración de seguridad. !lastima que solo tengas para Android!.