Thermomètre de Bluetooth (4 / 8 étapes)

Étape 4: Firmware

Les tensions de la thermistance sont échantillonnées, converties en température et envoyées via Bluetooth à l’app de EvoThings en cours d’exécution sur le périphérique smartphone.

Pour convertir la tension à une valeur de résistance au sein de la fève, une simple équation linéaire est utilisée. La dérivation de l’équation est fournie sous forme d’image. Au lieu de convertir la valeur échantillonnée à tension, puisque tant l’ADC et la tension d’entrée sont référencés à la même tension de la batterie, nous pouvons utiliser la valeur de l’ADC au lieu de la tension. Pour l’ADC de haricot 10 bits, tension de la batterie pleine se traduira par une valeur d’ADC de 1023 pour nous d’utiliser cette valeur comme Vbat. La valeur réelle de la résistance de la cloison est une considération importante. Mesurer la valeur réelle de la résistance de diviseur de 100K et utiliser la valeur mesurée dans l’équation afin d’éviter une source inutile d’erreur en raison de la tolérance de la résistance.

Une fois que la résistance est calculée, la valeur de résistance convertie en température en utilisant l’équation de Steinhart-Hart. Cette équation est décrite en détail sur Wikipedia.

Parce que nous avons 2 sondes, il était logique pour encapsuler les fonctionnalités de la sonde dans une classe C++.

La classe encapsule les coefficients d’équation de Steinhart-Hart, la valeur de la résistance nominale diviseur et le port analogue auquel est reliée la thermistance. Une méthode unique, temperature(), valeur convertit l’ADC pour une valeur de résistance, puis utilise le Steinhart-Hart équation pour déterminer la température en Kelvin. La valeur de retour soustrait le zéro absolu (273.15K) de la température calculée pour fournir la valeur en degrés Celsius.

La puissance de la Lightblue Bean est évidente dans le fait que toutes les fonctionnalités Bluetooth sont essentiellement mis en œuvre en 1 ligne de code qui écrit les valeurs de température échantillonnés dans une zone de données scratch sur la mémoire de Bluetooth.

Bean.setScratchData(TEMPERATURE_SCRATCH_IDX, (uint8_t*)&temperature[0], 12);

Chaque valeur échantillonnée température est représentée par un flotteur qui occupe 4 octets. La zone de données gratter peut contenir 20 octets. Nous utilisons seulement 12 d'entre eux. Il y a 5 zones de données gratter afin que vous pourriez transférer jusqu'à 100 octets de données à l’aide de données gratter.

Le débit de base des événements est :

  • Vérifier pour voir si nous avons une connexion Bluetooth
  • Dans l’affirmative, déguster les températures et les écrire dans la zone zéro
  • Dormir à 200ms et répéter le cycle.

Si ne pas connecté, le firmware met la puce ATMEGA328P de dormir pendant une longue période. Le cycle de sommeil est important pour conserver le pouvoir. La puce ATMEGA328P passe en mode de faible puissance et y reste jusqu'à interruption par le module Bluetooth LBM313. Le LBM313 va générer une interruption pour se réveiller le ATMEGA328P à la fin de la période de sommeil sollicitée, ou lorsqu’une connexion Bluetooth est présentée à la fève. Le WakeOnConnect est activée en appelant explicitement Bean.enableWakeOnConnect(true) pendant setup().

Il est important de noter que le firmware ne fonctionnera avec n’importe quelle application de client BLE. Tout ce que le client a besoin de faire est dépouiller les octets de la température de la Banque de données gratter et réassembler en variable, les nombres à virgule pour l’affichage ou le traitement. L’application cliente plus facile pour moi était d’utiliser EvoThings.

Articles Liés

Écharpe de thermomètre géant Neopixel

Écharpe de thermomètre géant Neopixel

Plume de moteur, il fait froid dehors.Faire cette écharpe portable High-Tech, low tech avec un thermomètre intégré.N'est plus vous vous demanderez comment vraiment froid, c'est quand vous sortez.Ceci est adapté comme un projet débutant agréable de se
Thermomètre de l’Arduino + LCD I2C

Thermomètre de l’Arduino + LCD I2C

J'ai décidé d'offrir un thermomètre drôle de concept Arduino dans le cas où c'est au milieu de la nuit, les pharmacies ne fonctionnent pas, vous ne vous sentez pas bien et vous voulez vérifier la température de votre corps. Si vous avez Arduino à vos
Thermomètre en interrupteur mural

Thermomètre en interrupteur mural

Projet simpleIl s'agit d'un projet très simple sans n'importe quel microprocesseur.J'avais besoin d'indiquer et de surveiller l'humidité, la température dans certaines chambres de la maison familiale. Pour trouver le bon endroit pour installer le the
Sans fil thermomètre Nixie

Sans fil thermomètre Nixie

l'objectif de ce projet était d'apprendre à utiliser les différentes fonctions de l'atmega :• Raccordement de deux Atmegas avec une connexion Wi-Fi• Chaque Atmega a un thermomètre (DS1621) pour lire la température réelle• Utiliser le sommeil Mode d'u
Version de thermomètre de compost bricolage $2

Version de thermomètre de compost bricolage $2

Voici quelques instructions de base sur la façon de construire un 2 $ thermomètre de compost à l'aide de fournitures disponibles. Il est merdique (dans un bon type rustique de façon), mais fonctionne très bien et utilise des matériaux peu.Il ne faut
Smart personnel thermomètre avec Arduino

Smart personnel thermomètre avec Arduino

Cette instructable est préparée dans le cadre de notre mission pour TfCD (technique au service du Concept Design) cours de TU Delft. Ce instructable qui suit est préparé par :Bo Koperdraat : 4209567Karthik mandon : 4501578Dans ce instructable vous ap
Thermomètre de vêtements TfCD

Thermomètre de vêtements TfCD

Ce thermomètre arduino donne des informations en couleur sur la température ambiante, accompagné d'une indication de combien vêtements tu devrait porter. Ce thermomètre mesure la température ambiante avec une thermistance et donne les informations av
Facile-à-construire digital thermomètre et hygromètre pour usage à l’intérieur

Facile-à-construire digital thermomètre et hygromètre pour usage à l’intérieur

IntroductionNiveau de température et d'humidité intérieur sont les deux principaux paramètres qui déterminent le niveau de confort pour les occupants de la chambre. Dans les principaux lieux de travail, ces paramètres sont contrôlés et maintenus à de
Arduino OLED thermomètre et hygromètre avec DHT11 pour les débutants

Arduino OLED thermomètre et hygromètre avec DHT11 pour les débutants

Salut! Je vais vous montrer comment faire un Arduino OLED thermomètre et hygromètre * avec DHT11.L'OLED aujourd'hui, nous allons utiliser est 1.3 pouce de taille, caractéristiques 128 × 64 pixels et utilise le Bus SPI. Sur l'étape suivante, vous trou
Thermomètre d’Arduino DIY avec DS18B20

Thermomètre d’Arduino DIY avec DS18B20

Bonjour, tout le monde ! Aujourd'hui je vais vous montrer comment faire un thermomètre LCD ou série * avec DS18B20 digitaltemperature capteur à l'aide d'Arduino, maquette, chasubles. Ainsi, vous pouvez mesurer la température de l'air, des liquides co
Arduino LCD Thermomètre

Arduino LCD Thermomètre

Hé les gars c'est Gaige TheEngineer ici pour vous donner un projet arduino base : thermomètre de l'Arduino LCDC'est qu'un enfant de 12 ans peut faire assez facilement. Alors s'il vous plaît profiter et découvrez ma chaîne Youtube (même si il y a rien
Thermomètre de Smart

Thermomètre de Smart

le thermomètre intelligent est un thermomètre Arduino qui non seulement affiche la température actuelle exacte avec un écran LCD, mais aussi vous donne une rétroaction visuelle en un clin de œil à l'aide d'une chaîne de trois Adafruit NeoPixels. Lors
Thermomètre numérique avec Arduino

Thermomètre numérique avec Arduino

Ce projet utilise un Arduino, un capteur de température DS18B20 et l'affichage LCD 16 x 2 pour afficher la température de l'air actuel. Il peut être fait avec ou sans une maquette, mais une maquette le rend beaucoup plus facile à câbler.Il indique la
Thermomètre de DS18B20 Attiny85 5110LCD

Thermomètre de DS18B20 Attiny85 5110LCD

J'ai été en mesure de faire un simple thermomètre avec microcontrôleur Attiny85. Un petit prix, faible encombrement, faible puissance et basse tension.Étape 1: pièces :Pour ce projet, vous avez besoin d'une certaines parties :1: Attiny85 uC2. Nokia 5