Spark-Core-TMP36
En cours de traduction/élaboration. |
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
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
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.
// ----------------- // Read temperature // ----------------- // Create a variable that will store the temperature value double temperature = 0.0; void setup() { // Register a Spark variable here Spark.variable("temperature", &temperature, DOUBLE); // Connect the temperature sensor to A7 and configure it // to be an input pinMode(A7, INPUT); } void loop() { int reading = 0; double voltage = 0.0; // Keep reading the sensor value so when we make an API // call to read its value, we have the latest one reading = analogRead(A7); // The returned value from the Core is going to be in the range from 0 to 4095 // Calculate the voltage from the sensor reading voltage = (reading * 3.3) / 4095; // Calculate the temperature and update our static variable 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.