Contenido del curso

Hardware a utilizar en proyectos de IoT

Proyecto del Curso

Programación de Sensores IoT con Arduino y API REST

Resumen

¿Cómo iniciar la programación de un script en Arduino?

Comenzar un nuevo proyecto en Arduino puede parecer desalentador, pero con un enfoque paso a paso se simplifica mucho. Al iniciar un proyecto en IDE de Arduino, siempre verás las funciones básicas setup() y loop(). Sin embargo, es clave marcar y documentar tu código desde el principio, señalando detalles relevantes como fechas o un sistema de identificación, que ayudan a mantener el control y referencia del proyecto. Aquí, te explicaré cómo comenzar de manera exitosa tu código.

  • Comentarios y librerías:
    • Utiliza // para añadir comentarios en Arduino.
    • Comienza incluyendo las librerías necesarias para tu proyecto. Por ejemplo, para trabajar con redes Wi-Fi y ciertas tarjetas, necesitarás <ESP8266WiFi.h>. Si trabajas con sensores específicos como el DHT22, incluye su librería correspondiente de Adafruit. Esto se hace así:
    #include <ESP8266WiFi.h> #include <DHT.h> #include <Adafruit_Sensor.h>

¿Qué definiciones iniciales son necesarias?

Para cualquier proyecto, es crucial definir los pines en los que se conectarán los sensores y el tipo de dispositivo que estás utilizando. Esto se realiza en la sección de definiciones:

  • Definiciones básicas:

    • Define el pin del sensor, por ejemplo, si el DHT está en el pin D5:
    #define DHTPIN D5
    • Define el tipo de sensor DHT:
    #define DHTTYPE DHT22
  • Red Wi-Fi:

    • Define las credenciales de la red a la que se conectará el dispositivo:
    const char* ssid = "TuSSID"; const char* password = "TuContraseña";

¿Cómo trabajar con la configuración setup?

El bloque setup se ejecuta una vez al inicio del código, por lo tanto, en él inicializamos todas las configuraciones necesarias.

  • Inicialización del sensor DHT:

    DHT dht(DHTPIN, DHTTYPE);
    • Inicializa también la conexión serie para poder monitorizar e imprimir mensajes de depuración:
    Serial.begin(9600); dht.begin();
  • Conexión Wi-Fi:

    • Crea una conexión Wi-Fi utilizando las credenciales suministradas y verifica que es exitoso antes de continuar con más procesos:
    WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); }

¿Por qué es fundamental el bloque loop?

La función loop es donde se realiza el ciclo infinito de ejecución, es decir, todo el trabajo persistente o las acciones repetitivas.

  • Lectura de sensores en el loop:

    • Usa el loop para leer y procesar los datos de tus sensores:
    float h = dht.readHumidity(); float t = dht.readTemperature();
    • Agrega cualquier lógica que necesites para procesar y manejar estos valores, como validaciones o conversiones.
  • Actualización de datos y comunicación:

    • Aquí estableces cualquier función de actualización o lógica de control que se ejecute de manera cíclica, como enviar datos a través de API:
    if (isnan(h) || isnan(t)) { Serial.println("Failed to read from DHT sensor!"); } else { Serial.print("Humidity: "); Serial.print(h); Serial.print("% Temperature: "); Serial.print(t); Serial.println(" *C "); }

Finalmente, asegúrate de revisar constantemente tu código en busca de errores sintácticos, siendo los puntos y comas y las llaves las áreas más frecuentes de problemas en programación en Arduino. Nunca olvides guardar y verificar el código antes de subirlo, ya que esto ayudará a prevenir errores potenciales durante la carga en el dispositivo. Con estas bases sólidas, estarás listo para dar los primeros pasos en un proyecto IoT con Arduino.