Verborgen Arduino Thermometer


wist je dat veel Arduinos en ATtiny chips een ingebouwde thermometer hebben? De temperatuur is niet gekalibreerd, zodat u een aantal lezingen te karakteriseren het moet nemen. Het oorspronkelijke idee vond ik in het artikel - Geheim Thermometer . Ik heb ondersteuning toegevoegd voor de Leonardo evenals verschillende ATtinys, en voorzien van een functie voor het karakteriseren.

Het lezen van de temperatuursensor

Hier is de code voor het lezen van de ruwe gegevens:

 long readTemp() { // Read temperature sensor against 1.1V reference #if defined(__AVR_ATmega32U4__) ADMUX = _BV(REFS1) | _BV(REFS0) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0); ADCSRB = _BV(MUX5); // the MUX5 bit is in the ADCSRB register #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) ADMUX = _BV(REFS1) | _BV(MUX5) | _BV(MUX1); #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) ADMUX = _BV(REFS1) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0); #else ADMUX = _BV(REFS1) | _BV(REFS0) | _BV(MUX3); #endif delay(2); // Wait for ADMUX setting to settle ADCSRA |= _BV(ADSC); // Start conversion while (bit_is_set(ADCSRA,ADSC)); // measuring uint8_t low = ADCL; // must read ADCL first - it then locks ADCH uint8_t high = ADCH; // unlocks both long result = (high << 8) | low; // combine the two return result; } 

Masseren van de ruwe gegevens

Als u eenmaal de ruwe gegevens, kunt u het kalibreren door twee bekende temperaturen te meten en schaling zo nodig. Hier is een eenvoudige kleine functie wilt uitvoeren dat normalisatie:

 float normalizeTemperature(long rawData) { // replace these constants with your 2 data points // these are sample values that will get you in the ballpark (in degrees C) float temp1 = 0; long data1 = 274; float temp2 = 25.0; long data2 = 304; // calculate the scale factor float scaleFactor = (temp2 - temp1) / (data2 - data1); // now calculate the temperature float temp = scaleFactor * (rawData - data1) + temp1; return temp; } 

Kalibreren

Als u de vier constanten nodig, gewoon lopen de roeping van de schets/programma de readTemp() functie bij kamertemperatuur. Opmerking de temperatuur en de ruwe gegevens punt. Deze waarden invoeren voor een verzameling van gegevenspunten. Vervolgens, hetzij je Arduino zet in de koelkast of de oven (op een echt lage instelling) en meten van uw tweede twee gegevenspunten. De vier constanten vervangen door uw gegevens. Het maakt niet uit welke bestellen dat u ze opneemt. U kunt ook uw gegevens invoeren in Celsius of Fahrenheit. De lineaire berekening is onafhankelijk van de eenheden, zolang u stroken in welk systeem u gebruikt.

Ik heb getest deze code op de Leonardo, maar het zou ook moeten werken op de Uno, en ATtinyx4 & ATtinyx5-serie chips ook. Als je deze truc, er is een metgezel instructable /artikel over het meten van de Vcc met behulp van de interne 1,1 volt-verwijzing die van belang kan zijn.

Gerelateerde Artikelen

Arduino Thermometer met behulp van LM35 temperatuursensor

Arduino Thermometer met behulp van LM35 temperatuursensor

Arduino Thermometer met behulp van LM35 temperatuursensor is een zeer eenvoudig te implementeren Arduino gebaseerd project. Zijn een perfect project als u een beginner bent en net hebt begonnen vrijwel testen Arduino projecten.In dit project zullen w
DIY Arduino Thermometer met DS18B20

DIY Arduino Thermometer met DS18B20

Hallo, iedereen! Vandaag ga ik om u te tonen hoe maak je LCD- of seriële thermometer met DS18B20 digitaltemperature sensor met behulp van de Arduino, breadbord, jumpers. Dus je kunt het meten van temperatuur van de lucht, zoals vloeistoffen water en
Arduino Thermometer + LCD I2C

Arduino Thermometer + LCD I2C

Ik heb besloten om een grappige Arduino concept thermometer voor het geval het is het midden van de nacht, apotheken niet werken, u niet goed voelt zich en u wilt controleren uw lichaamstemperatuur. Hebt u Arduino aan uw zijde, is dit een levensredde
Arduino Thermometer

Arduino Thermometer

Haar warm hier in Los Angeles! Naast de enorme droogte Californië is, zijn niet zo cool hier de laatste tijd in de buurt. Ik wilde iets om te zien hoe warm het was echt te bouwen, en hier is het!Lees dit instructable en ziek leren hoe kunt u slechts
Arduino Thermometer met LM35

Arduino Thermometer met LM35

Hallo, iedereen!!! Vandaag ga ik u tonen hoe te maken van een thermometer met een Arduino LM35 termperature sensor, gebouwd op een breadboard en verbonden samen met jumpers (stelletje kabels: D).Stap 1: De onderdelen verzamelen Dit is de lijst van de
Arduino Thermometer(7-Segment)

Arduino Thermometer(7-Segment)

met behulp van een dubbele 7-segment display, een DS18B20 temperatuursensor en een paar van shift registers, ik dacht dat ik kon het opbouwen van een digitale thermometer.Stap 1: Temperatuursensor De sensor die ik gebruik is de DS18B20, het is een 3p
Een Arduino-Thermometer met digitaal Display

Een Arduino-Thermometer met digitaal Display

dit is een project voor de Arduino te maken van een Thermometer met digitale aflezing, gericht op beginners.Arduino meet de spanning op een TMP36 temperatuur sensor, de spanning wordt omgezet in graden Celcius en wordt de waarde weergegeven op een be
K-type Arduino thermometer

K-type Arduino thermometer

Hi all,Onlangs had ik voor het meten van de temperatuur op een plaats waar gewone temp sensoren zoals LM35 of TMP36 niet zou passen. En niet alleen dit, maar de temperatuur vele graden onder nul was. Om nauwkeurige-70 c tot -80 c. Traditionele sensor
Arduino thermometer, LCD Display, Thermistor

Arduino thermometer, LCD Display, Thermistor

*** dit project wordt niet langer ondersteund, de arduino code is verouderd en niet langer werken, mijn arduino brak dus ik het niet repareren, hebt u een correctie-voel je vrij om PM mij! ***Haar een arduino project, het creëren van een temperatuur
Arduino Thermometer (LM 35 temperatuursensor)

Arduino Thermometer (LM 35 temperatuursensor)

Dit is een eenvoudige schakeling om kamer temperatuur met behulp van de Arduino en LM35(Temperatuure Sensor) te controleren. Als de temperatuur is 29 graden C groter dan rode LED zal gloeien zal anders groene LED gloeien.GROENE LED aangeeft de temper
Verborgen Arduino in klei pot

Verborgen Arduino in klei pot

Dit zal laten zien dat je moet weten wie heeft aangeraakt uw pot of geld gestokenStap 1: Stap 1: Maak van de klei potStap 2: Stap 2: pak een arduinoStap 3: Stap 3: Sluit een één megaohm weerstand en de piëzo-elektrische schijfSluit de ene Megaohm wee
TfCD kleding Thermometer

TfCD kleding Thermometer

Dit arduino thermometer geeft kleur feedback op omgevingstemperatuur, tezamen met een aanduiding van hoeveel kleding je moet dragen. Deze thermometer meet omgevingstemperatuur met een thermistor en geeft feedback met een neopixel. De schaal langs de
Verborgen boek

Verborgen boek

Ik nam een boek en binnen naar buiten van het knippen en kunt verbergen dingen binnenkant van het. Er is een arduino aan de binnenkant en een lampje brandt wanneer u het boek opentStap 1: snijdenIk het boek uitgeholde en maakte van het compartiment.S
Smart Thermometer

Smart Thermometer

de smart thermometer is een Arduino-thermometer die niet alleen de exacte huidige temperatuur met een LCD-scherm wordt weergegeven, maar ook geeft u visuele feedback in één oogopslag met behulp van een reeks van drie Adafruit NeoPixels. Wanneer de te