Indholdsfortegnelse:
- Trin 1: Ting, der bruges i dette projekt
- Trin 2: Historie
- Trin 3: Download nødvendige filer
- Trin 4: Saml
- Trin 5: Programmer
- Trin 6: Bærbart termometer
- Trin 7: Konklusion
- Trin 8: Kode
Video: Temperaturmåling ved hjælp af XinaBox og en termistor: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Mål temperaturen på en væske ved hjælp af en analog indgang xChip fra XinaBox og en termistorsonde.
Trin 1: Ting, der bruges i dette projekt
Hardware komponenter
- XinaBox SX02 x 1 xChip analog indgangssensor med ADC
- XinaBox CC01 x 1 xChip -version af Arduino Uno baseret på ATmega328P
- Modstand 10k ohm x 1 10k modstand til spændingsdeler netværk
- Thermistor Probe x 1 10k ved 25 ° C NTC vandtæt termistorsonde
- XinaBox IP01 x 1 xChip USB Programmerer baseret på FT232R fra FTDI Limited
- XinaBox OD01 x 1 xChip 128x64 Pixel OLED -skærm
- XinaBox XC10 x 4 xChip busstik
- XinaBox PU01 x 1 xChip USB (type A) strømforsyning
- 5V USB strømforsyning x 1 Power Bank eller lignende
Software -apps og onlinetjenester
Arduino IDE
Håndværktøj og fabrikationsmaskiner
Fladskruetrækker For at stramme eller løsne skrueklemmen
Trin 2: Historie
Introduktion
Jeg ville måle temperaturen på en væske ved at oprette et simpelt termometer. Ved at bruge XinaBox xChips kunne jeg opnå dette med relativ enkelhed. Jeg brugte SX02 analoge input xChip, der accepterer 0 - 3.3V, CC01 xChip baseret på ATmega328P og OD01 OLED display xChip for at se mine temperaturresultater.
Termistor, der måler vandets temperatur i et glas
Trin 3: Download nødvendige filer
Du skal bruge følgende biblioteker og software:
- xSX0X- Analog input sensor bibliotek
- xOD01 - OLED -displaybibliotek
- Arduino IDE - Udviklingsmiljø
Klik her for at se, hvordan du installerer bibliotekerne.
Når du har installeret Arduino IDE, skal du åbne den og vælge "Arduino Pro eller Pro Mini" som tavlen at uploade dit program til. Sørg også for, at ATmega328P (5V, 16MHz) processor er valgt. Se billedet herunder.
Vælg Arduino Pro eller Pro Mini -kortet og ATmega328P (5V, 16MHz) processor
Trin 4: Saml
Klik på programmereren xChip, IP01 og det ATmega328P -baserede CC01 xChip sammen ved hjælp af XC10 -busstik som vist nedenfor. For at uploade til CC01 skal du placere switchene i henholdsvis 'A' og 'DCE' positionerne.
IP01 og CC01 klikket sammen
Tag derefter din 10kΩ modstand og skru den ene ende i terminalen mærket "IN" og den anden ende i jordterminalen, "GND", på SX02. Tag ledningerne på termistorsonden og skru den ene ende i Vcc, "3.3V", og den anden ende i "IN" terminalen. Se grafikken herunder.
SX02 forbindelser
Kombiner nu OD01 og SX02 med CC01 ved blot at klikke dem sammen ved hjælp af XC10 -busforbindelser. Se nedenunder. Sølvelementet på billedet er termistorsonden.
Komplet enhed til programmering
Trin 5: Programmer
Sæt enheden i USB -porten på din computer. Download eller kopier og indsæt nedenstående kode i din Arduino IDE. Kompilér og upload koden til dit board. Når programmet er uploadet, skal programmet begynde at køre. Hvis sonden er ved stuetemperatur, skal du observere ± 25 ° C på OLED -displayet som vist nedenfor.
Efter upload skal du observere stuetemperaturen på OLED -displayet
Trin 6: Bærbart termometer
Fjern enheden fra din computer. Adskil enheden, og saml den igen ved hjælp af PU01 i stedet for IP01. Tag nu din bærbare 5V USB -strømforsyning, f.eks. En powerbank eller lignende, og sæt den nye samling i den. Du har nu dit eget seje, bærbare termometer med god nøjagtighed. Se omslagsbilledet for at se det i drift. Jeg målte varmt vand i et glas. Nedenstående billeder viser din komplette enhed.
Komplet enhed bestående af CC01, OD01, SX02 og PU02.
Trin 7: Konklusion
Dette projekt tog under 10 minutter at samle og yderligere 20 minutter at programmere. den eneste nødvendige passive komponent var en modstand. XChips klikker bare sammen, hvilket gør det meget bekvemt.
Trin 8: Kode
ThermTemp_Display.ino Arduino Research termistorer for at forstå beregningerne i koden.
#include // inkluderer kernebibliotek til xCHIP'er
#include // inkludere analog input sensor -bibliotek #include // include OLED -displaybibliotek #include // inkludere matematiske funktioner #definere C_Kelvin 273.15 // for konvertering fra kelvin til celsius #define series_res 10000 // værdi af seriemodstand i ohm #define B 3950 // B parameter for termistor #defineret rum_tempK 298,15 // stuetemperatur i kelvin #definer værelse_res 10000 // modstand ved stuetemperatur i ohm #definer vcc 3.3 // forsyningsspænding xSX01 SX01 (0x55); // indstil i2c -adressen flydespænding; // variabel indeholdende den målte spænding (0 - 3.3V) float term_res; // termistor modstand float act_tempK; // faktisk temperatur kelvin float act_tempC; // faktisk temperatur i celsius tomrumsopsætning () {// sæt din opsætningskode her for at køre en gang: // initialisere variabler til 0 spænding = 0; term_res = 0; act_tempK = 0; act_tempC = 0; // start seriel kommunikation Serial.begin (115200); // start i2c -kommunikation Wire.begin (); // start den analoge indgangssensor SX01.begin (); // start OLED -skærm OLED.begin (); // klart display OD01.clear (); // forsinkelse for at normalisere forsinkelse (1000); } void loop () {// sæt din hovedkode her for at køre gentagne gange: // læs spændingen SX01.poll (); // gemme spændingsspændingen = SX01.getVoltage (); // beregne termistorresistens therm_res = ((vcc * series_res) / spænding) - series_res; // beregne den faktiske temperatur i kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // konverter kelvin til celsius act_tempC = act_tempK - C_Kelvin; // udskrivningstemperatur på OLED -display // manuel formatering til visning i midten OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); forsinkelse (2000); // opdater visning hvert 2. sekund}
Anbefalede:
Temperaturmåling ved hjælp af STS21 og Arduino Nano: 4 trin
Temperaturmåling ved hjælp af STS21 og Arduino Nano: STS21 digital temperatursensor tilbyder overlegen ydeevne og et pladsbesparende fodaftryk. Det giver kalibrerede, lineariserede signaler i digitalt I2C -format. Fremstilling af denne sensor er baseret på CMOSens -teknologi, som tilskrives den overlegne
Temperaturmåling ved hjælp af MCP9803 og Arduino Nano: 4 trin
Temperaturmåling ved hjælp af MCP9803 og Arduino Nano: MCP9803 er en 2-tråds temperatursensor med høj nøjagtighed. De er udformet med brugerprogrammerbare registre, der letter temperaturfølende applikationer. Denne sensor er velegnet til meget sofistikeret multi-zone temperaturovervågningssystem. I
Temperaturmåling ved hjælp af TMP112 og Arduino Nano: 4 trin
Temperaturmåling ved hjælp af TMP112 og Arduino Nano: TMP112 Høj nøjagtighed, lav effekt, digital temperatursensor I2C MINI-modul. TMP112 er ideel til udvidet temperaturmåling. Denne enhed tilbyder en nøjagtighed på ± 0,5 ° C uden at kræve kalibrering eller ekstern komponentsignalkonditionering. Jeg
Temperaturmåling ved hjælp af MCP9803 og Particle Photon: 4 trin
Temperaturmåling ved hjælp af MCP9803 og Particle Photon: MCP9803 er en 2-tråds temperatursensor med høj nøjagtighed. De er udformet med brugerprogrammerbare registre, der letter temperaturfølende applikationer. Denne sensor er velegnet til meget sofistikeret multi-zone temperaturovervågningssystem. I
Temperaturmåling ved hjælp af STS21 og Raspberry Pi: 4 trin
Temperaturmåling ved hjælp af STS21 og Raspberry Pi: STS21 digital temperatursensor tilbyder overlegen ydeevne og et pladsbesparende fodaftryk. Det giver kalibrerede, lineariserede signaler i digitalt I2C -format. Fremstilling af denne sensor er baseret på CMOSens -teknologi, som tilskrives den overlegne