Table des matières:

Indicateur de température RVB (avec XinaBox) : 5 étapes (avec photos)
Indicateur de température RVB (avec XinaBox) : 5 étapes (avec photos)

Vidéo: Indicateur de température RVB (avec XinaBox) : 5 étapes (avec photos)

Vidéo: Indicateur de température RVB (avec XinaBox) : 5 étapes (avec photos)
Vidéo: 5 Accessoires RGB pour votre PC (à moins de 20€) 2024, Juillet
Anonim
Indicateur de température RVB (avec XinaBox)
Indicateur de température RVB (avec XinaBox)

C'est officiellement mon premier article sur Instructables, donc je vais admettre que j'utilise cette opportunité en ce moment pour l'essayer. Obtenez une idée du fonctionnement de la plate-forme, de l'ensemble de l'expérience utilisateur. Mais pendant que je fais cela, j'ai pensé que je pouvais aussi profiter de l'occasion pour partager un projet simple sur lequel je travaille aujourd'hui (en utilisant les produits de XinaBox, qui soit dit en passant, se prononce comme "X-in-a- Boîte").

Dans ce simple instructable en 5 étapes, je couvrirai les sujets suivants:

  • Composants nécessaires
  • Connecter les différents xChips ensemble.
  • Configuration de l'environnement IDE Arduino.
  • Écriture du code
  • Et enfin, tester l'idée

Ce que je ne partagerai pas dans cette instructable:

  • Autant j'aime me plonger dans l'explication de ce que chacun de ces xChips peut faire et comment vous pouvez les manipuler pour exécuter certaines fonctionnalités, ce ne serait pas le but de cette instructable. Je prévois de publier d'autres Instructables dans un proche avenir qui plongeront dans chacun des différents xChips disponibles dans le catalogue de produits de XinaBox.
  • Je n'entrerai pas dans les bases du code Arduino car je suppose que vous avez déjà une certaine expérience de l'utilisation de l'IDE Arduino ainsi qu'une compréhension de base de la programmation C/C++.

Étape 1: Ce dont vous avez besoin…

De quoi as-tu besoin…
De quoi as-tu besoin…
De quoi as-tu besoin…
De quoi as-tu besoin…
De quoi as-tu besoin…
De quoi as-tu besoin…

Techniquement, la plupart des didacticiels de base sur les produits commencent généralement par un "Hello World!" exemple, ou même un exemple "Blink", que vous connaissez peut-être déjà très bien puisque vous avez déjà travaillé avec Arduino ou Raspberry Pi. Mais je ne veux pas commencer par ça parce que tout le monde fait déjà la même chose, ce qui le rend vraiment un peu ennuyeux.

Au lieu de cela, je voulais commencer avec une idée de projet pratique. Quelque chose qui est à la fois assez simple et évolutif en une idée de projet plus complexe si vous le souhaitez.

Voici les éléments dont nous allons avoir besoin (référez-vous aux photos fournies pour cette section de l'Instructable):

  1. IP02 - Interface de programmation USB avancée
  2. CC03 - Bras Cortex M0+ Noyau
  3. SW02 - COV et capteur météo (qui utilise le capteur BME680 de BOSCH)
  4. Connecteurs xBUS - pour permettre les communications I2C entre les différents xChips (x2)
  5. Connecteur xPDI - pour permettre la programmation et le débogage (x1)

Étape 2: Connecter les pièces

Relier les pièces
Relier les pièces
Relier les pièces
Relier les pièces
Relier les pièces
Relier les pièces

Pour connecter toutes les pièces ensemble, nous commencerons d'abord par 1 pièce du connecteur xBUS et du connecteur xPDI.

En suivant les images que j'ai fournies, notez l'orientation des xChips et où iront les connecteurs.

Entre l'IP02 et le CC03 xChips, il est assez facile d'identifier les points de connexion.

Pour CC03, ce sera le côté sud. Pour IP02, ce sera le côté nord de la xChip.

Une fois cela fait, nous ajouterons un autre connecteur xBUS du côté ouest du CC03 xChip.

Terminé?

Maintenant, connectez simplement la SW02 xChip au côté ouest de CC03.

Avant d'insérer IP02 dans notre ordinateur portable, assurez-vous que les options suivantes sont sélectionnées pour les deux commutateurs:

  • B est sélectionné (interrupteur gauche)
  • DCE est sélectionné (interrupteur droit)

Enfin, nous sommes maintenant prêts à insérer l'IP02 dans notre ordinateur portable et à commencer à configurer l'IDE Arduino.

Étape 3: Configuration de l'IDE Arduino

Configuration de l'IDE Arduino
Configuration de l'IDE Arduino
Configuration de l'IDE Arduino
Configuration de l'IDE Arduino

Encore une fois, dans cette instructable, j'ai supposé que vous connaissiez déjà l'environnement IDE Arduino ainsi que la façon de gérer les bibliothèques dans l'environnement de développement.

Pour les besoins de ce projet, nous aurons besoin de deux bibliothèques principales:

  • arduino-CORE -
  • Bibliothèque SW02 -

Téléchargez les deux bibliothèques dans un emplacement de votre bureau.

Ensuite, lancez votre IDE Arduino.

Dans le menu principal, sélectionnez "Esquisse" > "Inclure la bibliothèque" > "Ajouter une bibliothèque. ZIP…"

Répétez le même processus pour les deux fichiers de bibliothèque.

Ensuite, nous devrons sélectionner la "Carte" appropriée ainsi que le "Port". (Notez que j'ai également mis en évidence les sélections nécessaires à l'aide d'une boîte orange.

  • Carte: "Arduino/Genuino Zero (port USB natif)"
  • Port: "COMXX" (cela devrait être en fonction du port COM qui se reflète sur votre machine. Le mien utilise COM31)

Bien! Je sais que vous avez hâte de vous lancer dans le codage, donc à l'étape suivante, c'est ce sur quoi nous allons nous concentrer.

Étape 4: le temps de coder

Dans cette section, je vais commencer par partager des extraits de code du code du projet terminé. Et à la fin, je publierai la source complète, ce qui vous permettra de simplement copier et coller le code dans votre fichier source Arduino IDE.

Fichiers d'en-tête:

#include /* Il s'agit de la bibliothèque des principales fonctions principales de XinaBox. */

#include /* Il s'agit de la bibliothèque pour le capteur VOC et météo xChip. */

Définition de quelques constantes pour contrôler les signaux LED RVB:

#define redLedPin A4

#définir greenLedPin 8 #définir blueLedPin 9

Ensuite, nous devons déclarer un prototype de fonction pour transmettre les valeurs RVB

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

Déclarer l'objet SW02:

xSW02 SW02;

La méthode setup():

void setup() {

// Démarrez le fil de communication I2C.begin(); // Démarrer le capteur SW02 SW02.begin(); // Délai pour que le capteur normalise delay(5000); }

Maintenant pour la boucle principale ():

boucle vide() {

flotteur tempC; }

Ensuite, nous devrons interroger à l'aide de l'objet SW02 que nous avons créé plus tôt dans le programme pour démarrer notre communication avec la puce du capteur:

// Lire et calculer les données de SW02 sensorSW02.poll();

Maintenant, nous lisons pour obtenir la lecture de la température du capteur

tempC = SW02.getTempC();

Une fois que nous avons la lecture, la dernière chose que nous allons faire est d'utiliser une série d'instructions de contrôle if…else… pour déterminer la plage de température, puis d'appeler la fonction setRGBColor()

// Vous pouvez ajuster la plage de température en fonction de votre climat. Pour moi, je vis à Singapour, // qui est tropical toute l'année, et la plage de température peut être assez étroite ici. if (tempC >= 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) { setRGBColor(255, 0, 0); }

Remarque: Si vous souhaitez savoir quelles sont les valeurs RVB pertinentes pour une couleur particulière, je vous recommande de faire une recherche sur Google pour « Valeurs de couleur RVB ». Il existe de nombreux sites disponibles sur lesquels vous pouvez utiliser un sélecteur de couleur pour choisir la couleur que vous souhaitez

// Si vous le souhaitez, et c'est facultatif, vous pouvez également ajouter un délai entre les interrogations pour les lectures du capteur.

retard(DELAY_TIME);

Vous pouvez bien sûr déclarer la constante DELAY_TIME au début du programme, de cette façon, vous n'avez qu'à modifier sa valeur une seule fois plutôt qu'à plusieurs endroits tout au long de votre programme. Enfin, nous avons besoin de la fonction pour contrôler notre LED RGB:

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

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

Programme final

#comprendre

#include #define redLedPin A4 #define greenLedPin 8 #define blueLedPin 9 void setRGBColor(int redValue, int greenValue, int blueValue); const entier DELAY_TIME = 1000; xSW02 SW02; void setup() { // Démarrer le fil de communication I2C.begin(); // Démarrer le capteur SW02 SW02.begin(); // Délai pour que le capteur normalise delay(5000); } void loop() { // Crée une variable pour stocker les données lues à partir de SW02 float tempC; tempC = 0; // Lire et calculer les données du capteur SW02 SW02.poll(); // Demander à SW02 d'obtenir la mesure de température et de la stocker dans // la variable de température tempC = SW02.getTempC(); if (tempC >= 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) { setRGBColor(255, 0, 0); } // Petit délai entre les lectures du capteur delay(DELAY_TIME); } void setRGBColor(int redValue, int greenValue, int blueValue) { analogWrite(redLedPin, redValue); analogWrite(greenLedPin, greenValue); analogWrite(blueLedPin, blueValue); }

Maintenant que notre programme est prêt, programmons la xChip ! Le processus de téléchargement est exactement le même que la façon dont vous téléchargeriez un programme sur vos cartes Arduino.

Lorsque vous avez terminé, pourquoi ne pas le débrancher et le sortir pour un essai.

Conseillé: