Spark-Core-TMP36

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Mesurer la température

Jusqu'ici nous avons appris comment envoyer des commandes personnalisée à note Core et comment contrôler la matériel.

Mais comment lire des données sur notre Core?

Dans cet exemple, nous allons brancher un senseur de températuresur le Core et lire des valeurs via Internet (avec un navigateur Internet).

Contrairement à l'envoi de commande, la valeur sera lisible en utilisant une simple requête WEB (de type GET).

Montage

Montage typique

Spark.IO-Core-TMP36-00.jpg
Crédit: Particle.IO www.particle.io

Le TMP36 est un senseur de température très facile à trouver. Il s'agit d'un périphérique analogique (la tension en sortie du senseur dépend de la température). Ce senseur est également inclus dans le Spark Core Maker Kit!

Vous pouvez télécharger la fiche technique ici.

Montage avec Filtrage

Spark.IO-Core-TMP36-01.jpg
Crédit: Particle.IO www.particle.io

Si vous prêtez attention au plan de montage, vous noterez que le senseur est alimenté à l'aide de la broche 3.3V* à la place de la sortie standard 3.3V. C'est parce que la sortie 3.3V* offre une tension filtrée (via un filtre LC), idéal pour les application analogique comme celle-ci.

Si les mesures que vous obtenez sont inconsistance (ou paraissent parasitées), ajoutez une capacité céramique de 0.01µF (10nF) entre l'entrée analogique (A7 dans ce cas) et la masse/GND. Ideally, the sensor should be placed away from the Core so that the heat dissipated by the Core does not affect the temperature readings.

Le code

Voici le code proposé par Spark que nous avons traduit pour faciliter la compréhension.

Notez que ce montage utilise le deuxième schéma de raccordement (lecture sur la broche analogique A7 et filtrage).

// -----------------
// Lecture de la température
// -----------------

// Créer une variable qui pour stocker la valeur
// de la température
double temperature = 0.0;

void setup()
{
  // Enregistrer la variable sur Spark Cloud
  Spark.variable("temperature", &temperature, DOUBLE);

  // Active la broche A7 comme entrée (broche
  // sur laquelle le senseur de température est connecté)
  pinMode(A7, INPUT);
}

void loop()
{
  int reading = 0;
  double voltage = 0.0;

  // Lire continuellement la valeur du senseur. De sorte que
  // lorsque nous faison un appel sur l'API pour lire la valeur
  // nous obtenons la dernière valeur disponible.
  reading = analogRead(A7);

  // La lecture analogique retourne une valeur entre 0 et 4095
  // pour une tension entre 0 et 3.3V.
  // Calculer la tension correspondante 
  voltage = (reading * 3.3) / 4095;

  // Calculer la valeur de la température (formule pour un TMP36)
  // et stocker la valeur dans notre variable statique 'temperature'
  temperature = (voltage - 0.5) * 100;
}

Faire un appel API

L'appel d'API ressemble à ceci

GET /v1/devices/{DEVICE_ID}/temperature

Voici un exemple de requête Curl, Core_ID est 0123456789abcdef et un Access Token 123412341234.

Notre tuto sur la LED internet explique comment identifier votre CORE_ID et votre ACCESS TOKEN.

curl -G https://api.spark.io/v1/devices/0123456789abcdef/temperature -d access_token=123412341234

Le -G de la commande curl indique que nous voulons utiliser une requête de type GET.


Source: Particle Core Examples créé par Particle.IO.

Traduction (et augmentation de contenu) réalisée par Meurisse D pour MCHobby.be - Translated (and enhanced) by Meurisse D. for MCHobby.be

Traduit avec l'autorisation de Particle.IO - Translated with the permission from Particle.IO - Particle.IO

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.

Source: docs.spark.io/examples/#measuring-the-temperature