Bluetooth Thermometer (4 / 8 stap)

Stap 4: Firmware


De thermistor spanningen worden bemonsterd, geconverteerd naar temperatuur en verstuurd via Bluetooth naar de EvoThings app draait op de smartphone.

Als u wilt de spanning omzetten in een weerstandswaarde binnen de Boon, wordt een eenvoudige lineaire vergelijking gebruikt. De afleiding van de vergelijking wordt geleverd als een afbeelding. In plaats van de bemonsterde waarde omzetten in spanning, omdat zowel de ADC als de ingangsspanning wordt verwezen naar de dezelfde accuspanning, kunnen we de ADC-waarde in plaats van de spanning gebruiken. Voor de 10 bits Bean ADC, zal volle batterijspanning resulteren in een ADC-waarde van 1023 zodat we deze waarde als Vbat gebruiken. De werkelijke waarde van de scheidingslijn weerstand is een belangrijke overweging. De werkelijke waarde van de 100K scheidingslijn weerstand meten en de gemeten waarde gebruiken in de vergelijking te vermijden van een niet onnodig oorzaak van fout als gevolg van de weerstand tolerantie.

Zodra de weerstandswaarde is berekend, wordt de weerstandswaarde geconverteerd naar temperatuur met behulp van de vergelijking Steinhart-Hart. Deze vergelijking wordt in detail beschreven op Wikipedia.

Omdat we 2 sondes hebben, is het zinvol om in te kapselen de functionaliteit van de sonde in een C++-klasse.

De klasse kapselt de Steinhart-Hart vergelijking coëfficiënten, de nominale scheidingslijn weerstandswaarde en de analoge poort waarop de thermistor wordt aangesloten. Een enkele methode, temperature(), zet de ADC waarde een weerstandswaarde en vervolgens gebruikt de Steinhart-Hart vergelijking om te bepalen van de temperatuur in Kelvin. De geretourneerde waarde wordt afgetrokken van absolute nulpunt (273.15K) van de berekende temperatuur om de waarde in Celsius te bieden.

De kracht van de Lightblue Bean is duidelijk in het feit dat alle Bluetooth functionaliteit in wezen in 1 regel code die de bemonsterde temperatuur waarden naar een kras gegevensgebied op de Bluetooth-geheugen schrijft wordt uitgevoerd.

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

Elke bemonsterde temperatuur waarde wordt vertegenwoordigd door een float die 4 bytes in beslag. Het kras gegevensgebied kan 20 bytes bevatten. Wij zijn alleen met behulp van de 12 van hen. Er zijn 5 kras gegevensgebieden zodat u maximaal 100 bytes aan gegevens met behulp van kras gegevens kan overbrengen.

De elementaire stroom van gebeurtenissen is:

  • Controleer om te zien of we een Bluetooth-verbinding
  • Zo ja, proeven van temperaturen en ze schrijven op het kras gegevensgebied
  • Slapen 200ms en herhaalt u de cyclus.

Als niet is aangesloten, zet de firmware de ATMEGA328P chip te slapen voor een lange tijd. De slaapcyclus is belangrijk voor het behoud van de macht. De ATMEGA328P-chip gaat in de modus voor laag stroomverbruik en blijft daar totdat onderbroken door de LBM313 Bluetooth-module. De LBM313 genereert een interrupt de ATMEGA328P aan het einde van de periode van de slaap verzocht, of wanneer een Bluetooth-verbinding wordt gemaakt met de boon uit slaapstand halen. De WakeOnConnect-functionaliteit is ingeschakeld door te bellen naar expliciet Bean.enableWakeOnConnect(true) tijdens Setup.

Het is belangrijk op te merken dat de firmware met een BLE-clienttoepassing werken zal. De client hoeft te doen is strippen van de bytes van de temperatuur van de kras-databank en monteer ze in floating point getallen voor weergave of voor verwerking. De eenvoudigste client app voor me was het gebruik van EvoThings.

Gerelateerde Artikelen

Toevoegen Bluetooth aan uw oude auto-Hifi

Toevoegen Bluetooth aan uw oude auto-Hifi

Hallo iedereen!In deze snelle ible ik zal je laten zien een andere manier om te upgraden van uw oude auto met slechts 5$ en minder dan 30 minuten van het werk. Als u controleren de eenvoudige upgrade op het laatste dat ik gemaakt heb op mijn auto wil
Arduino 101 en Visuino: controle van de LED van Smartphone met Bluetooth LE

Arduino 101 en Visuino: controle van de LED van Smartphone met Bluetooth LE

Arduino 101 is een krachtige microcontroller, dat ook met ingebouwde Accelerometer, gyroscoop, Thermometer en Bluetooth LE (BLE komt). De Bluetooth maakt het bijzonder goed geschikt voor IoT ontwikkeling en afstandsbediening van Smartphones.In dit In
Bluetooth PS2 Controller

Bluetooth PS2 Controller

De oorspronkelijke PlayStation 2 controller is nog steeds een stevige en goedgebouwde controller naar huidige maatstaven. Beter nog, kunnen ze had worden tegenwoordig voor een fractie van de kosten van een controller met dezelfde kwaliteit.We zijn va
Bluetooth-toetsenbord muis Adapter

Bluetooth-toetsenbord muis Adapter

Hey! Bouwen van deze week is de Minion Bluetooth toetsenbord muis Adapter!Sluit een standaardtoetsenbord of de muis en we zullen niet kunnen gebruiken als een Bluetooth-toetsenbord of -muis.Het is ook NFC ingeschakeld zodat we direct aan paar met een
Arduino Bluetooth gecontroleerde elektrische deuropener

Arduino Bluetooth gecontroleerde elektrische deuropener

Hallo! In deze handleiding Instructables zal ik u tonen hoe te maken van uw eigen Bluetooth gecontroleerde systeem van de deur ontgrendelen met behulp van de Arduino uno board. Ik maakte mijn eigen circuit met behulp van de ATmega328 micro controller
Bluetooth Fan Speed Controller

Bluetooth Fan Speed Controller

Ooit heb je allemaal leuk en comfortabel in uw stoel, verpakt in dekens klaar om te kijken van Netflix, alleen te realiseren u liet de ventilator op? Schakel de ventilator op een warme avond alleen te worden gewekt door bevriezing wind circuleren van
Arduino Bluetooth Tank met aangepaste Android applicatie (V1.0)

Arduino Bluetooth Tank met aangepaste Android applicatie (V1.0)

Hallo! Dit is een gids voor het bouwen van een eenvoudige en goedkope Arduino gebaseerd Bluetooth tank. Dit is de eerste fase van dit project en alleen gaat om de ontwikkeling van een bewegend tank track gebaseerd voertuig. De tweede fase is de Andro
Eenvoudige arduino auto met behulp van HC-06 Bluetooth-Module

Eenvoudige arduino auto met behulp van HC-06 Bluetooth-Module

De gemakkelijkste manier om te bouwen van een Arduino-auto en controle met uw Androïde apparaat.Stap 1: Dingen nodig: Laptop met de Arduino software.Elke Arduino. (Im ' using Leonardo).Twee gelijkstroommotoren met banden stevig vastgemaakt.Een acryl
Thermometer in lichte wandschakelaar

Thermometer in lichte wandschakelaar

Eenvoudig ProjectHet is echt eenvoudig project zonder een microprocessor.Ik moest geven en controleren van de luchtvochtigheid, temperatuur in enkele kamers van gezinswoning. Vind je juiste plaats voor het installeren van thermometer/hygrometer is ni
Bluetooth iOS DIY RC Car

Bluetooth iOS DIY RC Car

Hallo iedereen, vandaag ik zal u tonen hoe ik een RC auto, die u via iOS beheren kunt hebt gemaakt. Ik weet hoe moeilijk het is voor het aansluiten van een Bluetooth-module aan de iOS, dus vandaag die zal ik u tonen hoe ik heb de mijne, en zijn eigen
Bugbot Bluetooth gecontroleerde Micro Robot

Bugbot Bluetooth gecontroleerde Micro Robot

Bugbot is een kleine bluetooth conrolled robot. Het is erg snelStap 1: kort verhaal van lange bouwenWaarom lang bouwen?Omdat ik aan het begin een kleine quadcopter bouwen wilde, op de afbeelding hierboven ziet u mijn afgedrukte frame voor het. Als ik
Pijp Bot - een slimme arduino bluetooth robot

Pijp Bot - een slimme arduino bluetooth robot

Dit is mijn eerste instructables. Hier ben ik tonen hoe maak je een goedkope twee wielen arduino bluetooth robot, met behulp van PVC-buizen en haar gewrichten (voor het maken van het lichaam). Het is eenvoudig om te maken en eenvoudig te programmeren
40 w Bluetooth verplaatsbaar spreker (verbeterde versie!)

40 w Bluetooth verplaatsbaar spreker (verbeterde versie!)

Hey iedereen! Vandaag ga ik om u te tonen hoe ik bouwde deze draagbare luidspreker! Na bijna 2 jaar van onderzoek, ben ontwerpen en testen, ik gekomen met dit ontwerp. Het steekt 40W van de macht van zijn 2 tweeters, woofers en passives, heeft de nie
DIY 2.1 draagbare luidspreker met USB, AUX, TF, Bluetooth en afstandsbediening

DIY 2.1 draagbare luidspreker met USB, AUX, TF, Bluetooth en afstandsbediening

Hallo jongens, ik ben een zelf dacht dat DIY fan, ik hou van kleinschalige projecten, ik wilde instructables hier maar had een leuke camera om foto's van het proces. Nou nu ik een leuke camera kocht zodat zijn tijd ik beginnen met het maken van instr