Tabla de contenido:

Indicador de temperatura RGB (con XinaBox): 5 pasos (con imágenes)
Indicador de temperatura RGB (con XinaBox): 5 pasos (con imágenes)

Video: Indicador de temperatura RGB (con XinaBox): 5 pasos (con imágenes)

Video: Indicador de temperatura RGB (con XinaBox): 5 pasos (con imágenes)
Video: 👉DIY Nuevo kit medidor de temperatura y humedad WIFI. Reporta a tu celular estés donde estés📱⚡ 2024, Mes de julio
Anonim
Indicador de temperatura RGB (con XinaBox)
Indicador de temperatura RGB (con XinaBox)

Este es oficialmente mi primer artículo de Instructables, así que voy a admitir que estoy aprovechando esta oportunidad en este momento para probarlo. Obtenga una idea de cómo funciona la plataforma, todo el lado de la experiencia del usuario. Pero mientras hago eso, pensé que también puedo aprovechar la oportunidad para compartir sobre un proyecto simple en el que he estado trabajando hoy (usando los productos de XinaBox, que por cierto, se pronuncia como "X-in-a- Caja").

En este sencillo instructable de 5 pasos, cubriré los siguientes temas:

  • Componentes necesarios
  • Conectando los diferentes xChips juntos.
  • Configuración del entorno Arduino IDE.
  • Escribiendo el código
  • Y finalmente, probando la idea

Lo que no compartiré en este instructivo:

  • Por mucho que me encanta explicar qué puede hacer cada uno de esos xChips y cómo puedes manipularlos para realizar ciertas funcionalidades, ese no sería el objetivo de este instructivo. Planeo publicar otros Instructables en un futuro cercano que se sumergirán en cada uno de los diferentes xChips que están disponibles a través del catálogo de productos de XinaBox.
  • No entraré en los conceptos básicos del código Arduino, ya que supongo que ya tiene algún nivel de experiencia con el uso del IDE de Arduino, así como un nivel básico de comprensión de la programación C / C ++.

Paso 1: lo que necesita …

Que necesitas…
Que necesitas…
Que necesitas…
Que necesitas…
Que necesitas…
Que necesitas…

Técnicamente, la mayoría de los tutoriales de productos básicos suelen comenzar con un "¡Hola, mundo!" ejemplo, o incluso un ejemplo de "Blink", con el que quizás ya esté muy familiarizado ya que ha trabajado con Arduino o Raspberry Pi en algún momento. Pero no quiero empezar con eso porque todo el mundo ya está haciendo lo mismo, lo que lo hace un poco aburrido.

En cambio, quería comenzar con una idea de proyecto práctica. Algo que sea lo suficientemente simple y escalable en una idea de proyecto más compleja si lo desea.

Estos son los elementos que vamos a necesitar (consulte las fotos proporcionadas para esta sección del Instructable):

  1. IP02 - Interfaz de programación USB avanzada
  2. CC03 - Arm Cortex M0 + Núcleo
  3. SW02 - Sensor meteorológico y de COV (que utiliza el sensor BME680 de BOSCH)
  4. Conectores xBUS: para habilitar las comunicaciones I2C entre los diferentes xChips (x2)
  5. Conector xPDI: para habilitar la programación y la depuración (x1)

Paso 2: Conexión de las piezas

Conectando las piezas
Conectando las piezas
Conectando las piezas
Conectando las piezas
Conectando las piezas
Conectando las piezas

Para conectar todas las piezas juntas, primero comenzaremos con 1 pieza del conector xBUS y el conector xPDI.

Siguiendo las imágenes que he proporcionado, observe la orientación de los xChips y dónde irán los conectores.

Entre el IP02 y el CC03 xChips, es bastante fácil identificar los puntos de conexión.

Para CC03, será el lado sur. Para IP02, será el lado norte del xChip.

Una vez hecho esto, agregaremos otro conector xBUS al lado oeste del CC03 xChip.

¿Hecho?

Ahora, simplemente conecte el SW02 xChip al lado oeste de CC03.

Antes de insertar IP02 en nuestra computadora portátil, asegúrese de seleccionar las siguientes opciones para los dos interruptores:

  • B está seleccionado (interruptor izquierdo)
  • Se selecciona DCE (interruptor derecho)

Finalmente, ahora estamos listos para insertar el IP02 en nuestra computadora portátil y comenzar a configurar el IDE de Arduino.

Paso 3: Configuración de Arduino IDE

Configuración de Arduino IDE
Configuración de Arduino IDE
Configuración de Arduino IDE
Configuración de Arduino IDE

Nuevamente, en este instructivo, asumí que ya está familiarizado con el entorno Arduino IDE, así como con la forma de administrar bibliotecas dentro del entorno de desarrollo.

Para el propósito de este proyecto, necesitaremos dos bibliotecas principales:

  • arduino-CORE -
  • Biblioteca SW02 -

Descargue ambas bibliotecas en una ubicación dentro de su escritorio.

A continuación, inicie su IDE de Arduino.

En el menú principal, seleccione "Sketch"> "Incluir biblioteca"> "Agregar biblioteca. ZIP …"

Repita el mismo proceso para ambos archivos de la biblioteca.

A continuación, deberemos seleccionar la "Tarjeta" correspondiente, así como el "Puerto". (Observe que también he resaltado las selecciones necesarias con un cuadro naranja.

  • Placa: "Arduino / Genuino Zero (puerto USB nativo)"
  • Puerto: "COMXX" (debe estar de acuerdo con el puerto COM que se refleja en su máquina. El mío está usando COM31)

¡Bien! Sé que ha estado ansioso por saltar a la codificación, así que en el siguiente paso, nos centraremos en eso.

Paso 4: tiempo para codificar

En esta sección, comenzaré compartiendo fragmentos de código del código del proyecto completo. Y al final, publicaré la fuente completa, facilitando que simplemente copie y pegue el código en su archivo fuente Arduino IDE.

Archivos de encabezado:

#include / * Esta es la biblioteca para las funciones principales de XinaBox Core. * /

#include / * Esta es la biblioteca para el sensor meteorológico y de COV xChip. * /

Definición de algunas constantes para el control de las señales LED RGB:

#define redLedPin A4

#define greenLedPin 8 #define blueLedPin 9

A continuación, necesitamos declarar un prototipo de función para pasar los valores RGB

void setRGBColor (int redValue, int greenValue, int blueValue);

Declaración del objeto SW02:

xSW02 SW02;

El método setup ():

configuración vacía () {

// Inicie el I2C Communication Wire.begin (); // Inicie el sensor SW02 SW02.begin (); // Retraso para que el sensor normalice el retraso (5000); }

Ahora para el bucle principal ():

bucle vacío () {

flotador tempC; }

A continuación, necesitaremos sondear utilizando el objeto SW02 que hemos creado anteriormente en el programa para iniciar nuestra comunicación con el chip sensor:

// Leer y calcular datos de SW02 sensorSW02.poll ();

Ahora, estamos leyendo para obtener la lectura de temperatura del sensor

tempC = SW02.getTempC ();

Una vez que tenemos la lectura, lo último que vamos a hacer es usar una serie de instrucciones de control if… else… para determinar el rango de temperatura, y luego llamar a la función setRGBColor ()

// Puede ajustar el rango de temperatura según su clima. Para mí, vivo en Singapur, // que es tropical todo el año, y el rango de temperatura puede ser bastante estrecho aquí. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

Nota: Si está interesado en saber cuáles son los valores RGB relevantes para un color en particular, le recomiendo que haga una búsqueda en Google de "valores de color RGB". Hay muchos sitios disponibles donde puede usar un selector de color para elegir el color que desee

// Si lo desea, y es opcional, también puede agregar un retraso entre sondeos para las lecturas del sensor.

retraso (DELAY_TIME);

Por supuesto, puede declarar la constante DELAY_TIME al comienzo del programa, de esa manera, solo tiene que modificar su valor una vez en lugar de en varios lugares a lo largo de su programa. Finalmente, necesitamos la función para controlar nuestro LED RGB:

void setRGBColor (int redValue, int greenValue, int blueValue) {

analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

Programa final

#incluir

#include #define redLedPin A4 #define greenLedPin 8 #define blueLedPin 9 void setRGBColor (int redValue, int greenValue, int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; void setup () {// Inicie el cable de comunicación I2C.begin (); // Inicie el sensor SW02 SW02.begin (); // Retraso para que el sensor normalice el retraso (5000); } void loop () {// Crea una variable para almacenar los datos leídos desde SW02 float tempC; tempC = 0; // Leer y calcular datos del sensor SW02 SW02.poll (); // Solicite SW02 para obtener la medida de temperatura y almacénela en la // variable de temperatura tempC = SW02.getTempC (); si (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // Pequeña demora entre las lecturas del sensor (DELAY_TIME); } void setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

Ahora que nuestro programa está listo, ¡programemos el xChip! El proceso de carga es exactamente el mismo que el de cargar un programa en sus placas Arduino.

Cuando haya terminado, ¿por qué no desenchufarlo y sacarlo para una prueba de funcionamiento?

Recomendado: