Dolda Arduino termometer



visste du att många Arduinos och ATtiny marker har en inbyggd termometer? Temperaturen är inte kalibrerad, så du måste ta ett par behandlingar att karakterisera det. Den ursprungliga idén hittade jag i artikeln - Secret termometer . Jag har lagt till stöd för Leonardo samt flera ATtinys, och enligt en funktion kännetecknar det.

Läst temperaturgivare

Här är koden för att läsa raw-data:

lång readTemp() {
Läs temperaturgivare mot 1.1v referens
#if defined(__AVR_ATmega32U4__)
ADMUX = _BV(REFS1) | _BV(REFS0) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0);
ADCSRB = _BV(MUX5); den MUX5 biten är i registret ADCSRB
#elif definieras (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
ADMUX = _BV(REFS1) | _BV(MUX5) | _BV(MUX1);
#elif definieras (__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); Vänta på ADMUX inställning att bosätta sig
ADCSRA | = _BV(ADSC); Starta konvertering
samtidigt (bit_is_set(ADCSRA,ADSC)); mäta

uint8_t låg = ADCL; måste läsa ADCL första - det sedan Lås ADCH
uint8_t hög = ADCH; låser upp både
långa leda = (hög << 8) | låg; kombinera två

returnera resultat;
}

Massera rådata

När du har raw-data, kan du kalibrera den genom att mäta två kända temperaturer och skalning så är lämpligt. Här är en enkel liten funktion att utföra den normaliseringen:

flyta normalizeTemperature(long rawData) {
ersätta dessa konstanter med dina 2 datapunkter
Detta är prov värden som kommer att få dig i Division (i grader C)
flyta temp1 = 0;
långa data1 = 274;
flyta temp2 = 25,0;
långa data2 = 304;

beräkna skalfaktorn
flyta scaleFactor = (temp2 - temp1) / (data2 - data1);

nu beräkna temperaturen
float temp = scaleFactor * (\Data - data1) + temp1;

returnera härda;
}

Kalibrera

För att få fyra konstanterna behövs, enkelt springa skiss/program kallelse den funktion vid rumstemperatur. Notera temperaturen och rådata punkt. Ange dessa värden för antingen uppsättning datapunkter. Därefter antingen sätta din Arduino i kylen eller i ugnen (på en riktigt låg nivå) och mäta dina andra två datapunkter. Ersätta de fyra konstanterna med dina data. Det spelar ingen roll som beställer du lista dem. Du kan också ange data i Celsius eller Fahrenheit. Linjär beräkning är oberoende av enheter som du är konsekvent i vilket system du använder.

Jag har testat denna kod på Leonardo, men det bör också arbeta på Uno och ATtinyx4 & ATtinyx5-serien chips också. Om du gillar detta trick, det finns en kamrat instructable /artikel på att mäta Vcc använda den interna 1,1 volt referens som kan vara av intresse också.

Relaterade Ämnen

Arduino termometer med Sensor LM35 temperatur

Arduino termometer med LM35 temperaturgivare är en mycket enkel att genomföra Arduino baserat projekt. Dess en perfekt projekt om du är nybörjare och har bara började praktiskt testa Arduino projekt.I detta projekt kommer vi visar temperaturen i grad...

DIY Arduino termometer med DS18B20

Hej, alla! Idag ska jag visa dig hur man gör LCD eller följetong * termometer med DS18B20 digitaltemperature sensor använder Arduino, skärbräda, byglar. Så kan du mäta temperaturen i luft, som vätskor vatten och temperaturen i marken.* skriver ut tem...

Arduino termometer med LM35

Hej, alla!!! Idag ska jag visa dig hur man gör en termometer med Arduino och LM35 termperature sensor, byggde på en skärbräda och ansluten med byglar (massa kablar: D).Steg 1: Samla delarna Detta är en lista delarna behövs för att göra termometern.Om...

Arduino termometer

Dess varma här i Los Angeles! Förutom den massiva torkan Kalifornien är i, det är inte lika cool runt här nyligen. Jag ville bygga något för att se hur varmt det var, och här är det!Läs detta instructable och sjuk lära hur du kan förvandla några komp...

En Arduino termometer med Digital Display

detta är ett projekt för Arduino att göra en termometer med Digital Display, som syftar till nybörjare.Arduino mäter spänningen på en TMP36 temperaturgivare, konverterar spänningen till grader Celcius och visar värdet på en LOL sköld skärm.Mål:* Lär...

Arduino termometer (LM 35 temperatur sensor)

Detta är en enkel krets att kontrollera temperaturen i rummet med hjälp av Arduino och LM35(Temperatuure Sensor). Om temperaturen är större än 29 grader C då röd lysdiod lyser lyser annat grön LED.Grön LED anger temperaturen är normal.Röd LED anger t...

Arduino termometer, LCD Display, termistor

*** detta projekt inte längre stöds, arduino koden är föråldrad och inte längre fungerar, min arduino bröt så jag inte kan fixa det, om du har en fix känsla gratis till PM mig! ***Dess en arduino projekt, skapa en temperatur measurer, med en termisto...

K-typ Arduino termometer

Hej alla,Nyligen hade jag mäta temperaturen på en plats där vanlig temp givare som LM35 eller TMP36 inte skulle passa. Och inte bara detta, men temperaturen var många minusgrader. För att vara exakt -70 c till 80 c. Traditionella sensorer arbetar int...

Dolda Arduino i lerkruka

Detta kommer att visa du måste veta vem som har rört din potten eller lägga pengar på detSteg 1: Steg 1: gör lerkrukaSteg 2: Steg 2: ta en arduinoSteg 3: Steg 3: koppla in en en megaohm motstånd och piezo elektriska diskenKoppla in en Megaohm motstån...

4-i-1 Arduino LCD sköld Version 2

Med detta projekt, har du minst fyra produkter i en eftersom detta kit består av en Arduino Uno, en LCD-skärm, en USB-A till USB-B kabel och alla material som du kommer att behöva utveckla följande fyra projekt: en disk, en termometer, en kondensator...

Smart termometer

smart termometern är en Arduino termometer som visar inte bara exakt aktuell temperatur med en LCD-skärm men också ger dig visuell feedback på en överblick med hjälp av en sträng av tre Adafruit NeoPixels. När temp är inom 65-75 grader lamporna är gr...

Infra röd Vest kod

detta instructable handlar om koden och de anordningar som används för infraröd västen. Sy har du uppfinna själv!Denna västen visar de IR-koder som bombarderar oss hela tiden i rummen. Infraröd används för fjärrkontroller för TV-apparater, datorer, v...

Gömda boken

Jag tog en bok och skär inifrån och ut av det och kan dölja saker av den. Det finns en arduino på insidan och en ljus är på när du öppnar bokenSteg 1: skärJag urgröpt boken och gjorde i facket.Steg 2: ljusJag kopplade en lysdiod till en arduino och d...

Smart personliga termometer med Arduino

Detta instructable förbereds som en del av våra uppdrag för TfCD (teknik för Concept Design) kurs vid TU Delft. Följande instructable är utarbetad av:Bo Koperdraat: 4209567Karthik Torbjörn: 4501578I detta instructable du lära dig att snabbt bygga en...

Arduino-Powered binära termometer

jag nyligen förvärvat en Arduino Uno och letade efter en cool "komma igång" projekt. Jag beslöt att göra en termometer, som satsen har jag haft alla nödvändiga delar (termistor, sladdar, motstånd, lysdioder). Genom ett par iterationer, jag äntli...

Hur man gör en termometer med hjälp av Arduino och LM35

dag jag ska visa dig hur man gör en termometer med Arduino och LM35 temperaturgivare, LCD Display, på en skärbräda anslutna med kablar. Det kommer att Visa temperaturen i Celsius och Fahrenheit.Andro rotSteg 1: Krav:- Detta är en lista av delar som b...

Snabb Digital termometer med billiga USB till TTL omvandlare och DS18B20 - utan Arduino eller Raspberry Pi

I min tidigare instructable jag gav en introduktion till Digital termometer med DS18B20 och ESP8266 nodemcu ombord med SPI OLED-skärm och programmering använder Arduino IDE. Det krävs kunskaper i programmering, grundläggande elektronik och krävs lite...

Dolda Wall Outlet Safe (w/Arduino Lock)

Stash dina värdesaker där ingen kommer någonsin misstänker. Vägguttag är perfekta för stashing dina värdesaker eftersom du har massor av dem hemma. Du måste vara galen nog att söka varje hushåll utlopp för en hemlig stash. Antagligen, skulle ingen en...

Arduino kontrollerade dolda sändare

EDIT12/7/13: Jag har ändrat koden ganska lite. Den nya koden innehåller en uppslagstabell av morsekod så att du kan infoga texten rakt in i programmet och få det omvandlas till morse för dig. Min motivation för detta var Hackaday Fubarino tävlingen p...