INHOUDSOPGAWE:
- Stap 1: Dinge wat in hierdie projek gebruik word
- Stap 2: Verhaal
- Stap 3: Laai nodige lêers af
- Stap 4: Monteer
- Stap 5: Programmeer
- Stap 6: Draagbare termometer
- Stap 7: Gevolgtrekking
- Stap 8: Kode
Video: Temperatuurmeting met behulp van XinaBox en 'n termistor: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
Meet die temperatuur van 'n vloeistof met behulp van 'n analoog ingang xChip van XinaBox en 'n termistor sonde.
Stap 1: Dinge wat in hierdie projek gebruik word
Hardeware komponente
- XinaBox SX02 x 1 xChip analoog ingangssensor met ADC
- XinaBox CC01 x 1 xChip -weergawe van Arduino Uno gebaseer op ATmega328P
- Weerstand 10k ohm x 1 10k weerstand vir spanningsverdelersnetwerk
- Thermistor Probe x 1 10k by 25 ° C NTC waterdigte termistor sonde
- XinaBox IP01 x 1 xChip USB -programmeerder gebaseer op FT232R van FTDI Limited
- XinaBox OD01 x 1 xChip 128x64 Pixel OLED -skerm
- XinaBox XC10 x 4 xChip -busverbindings
- XinaBox PU01 x 1 xChip USB (tipe A) kragbron
- 5V USB Power Supply x 1 Power Bank of soortgelyke
Sagteware -programme en aanlyndienste
Arduino IDE
Handgereedskap en vervaardigingsmasjiene
Platskroewedraaier Om die skroefklem vas te draai of los te maak
Stap 2: Verhaal
Inleiding
Ek wou die temperatuur van 'n vloeistof meet deur 'n eenvoudige termometer te skep. Deur XinaBox xChips te gebruik, kon ek dit relatief eenvoudig bereik. Ek gebruik die SX02 analoog ingang xChip wat 0 - 3.3V aanvaar, die CC01 xChip gebaseer op die ATmega328P en die OD01 OLED -skerm xChip om my temperatuurresultate te sien.
Termistor wat temperatuur van water in 'n glas meet
Stap 3: Laai nodige lêers af
U benodig die volgende biblioteke en sagteware:
- xSX0X- Analoge insetsensorbiblioteek
- xOD01 - OLED -vertoonbiblioteek
- Arduino IDE - Ontwikkelingsomgewing
Klik hier om te sien hoe u die biblioteke installeer.
Nadat u die Arduino IDE geïnstalleer het, maak dit oop en kies die "Arduino Pro of Pro Mini" as die bord om u program op te laai. Maak ook seker dat die ATmega328P (5V, 16MHz) verwerker gekies is. Sien prentjie hieronder.
Kies die Arduino Pro of Pro Mini -bord en die ATmega328P (5V, 16MHz) verwerker
Stap 4: Monteer
Klik saam op die programmeerder xChip, IP01 en die ATmega328P gebaseerde CC01 xChip met behulp van XC10 -busverbindings, soos hieronder getoon. Om na die CC01 te laai, moet u die skakelaars onderskeidelik in die 'A' en 'DCE' posisies plaas.
IP01 en CC01 klik saam
Neem dan u 10kΩ -weerstand en skroef die een kant in die terminaal gemerk "IN" en die ander kant in die grondaansluiting, "GND", op die SX02. Neem die leidings op die termistorsonde en skroef die een kant in Vcc, "3.3V", en die ander kant in die "IN" -aansluiting. Sien die grafiek hieronder.
SX02 verbindings
Kombineer nou OD01 en SX02 met CC01 deur eenvoudig daarop te klik met behulp van XC10 -busverbindings. Sien onder. Die silwer element in die beeld is die termistorsonde.
Volledige eenheid vir programmering
Stap 5: Programmeer
Steek die eenheid in die USB -poort van u rekenaar. Laai die kode hieronder af of plak dit in u Arduino IDE. Stel die kode op en laai dit op u bord op. Sodra dit opgelaai is, moet u program begin loop. As die sonde by kamertemperatuur is, moet u ± 25 ° C op die OLED -skerm waarneem, soos hieronder getoon.
Let op die kamertemperatuur op die OLED -skerm nadat u dit opgelaai het
Stap 6: Draagbare termometer
Verwyder die eenheid van u rekenaar. Demonteer die eenheid en monteer dit weer met PU01 in plaas van IP01. Neem nou u draagbare 5V USB -kragbron, soos 'n kragbank of iets dergeliks, en steek die nuwe eenheid daarin. U het nou u eie koel draagbare termometer met 'n goeie akkuraatheid. Sien die voorblad om dit in werking te sien. Ek het warm water in 'n glas gemeet. Die onderstaande prente toon u volledige eenheid.
Volledige eenheid met CC01, OD01, SX02 en PU02.
Stap 7: Gevolgtrekking
Hierdie projek het minder as 10 minute geneem om te vergader en nog 20 minute om te programmeer. die enigste passiewe komponent wat nodig was, was 'n weerstand. Die xChips klik net saam, wat dit baie gerieflik maak.
Stap 8: Kode
ThermTemp_Display.ino Arduino Research termistors om die berekeninge in die kode te verstaan.
#include // sluit kernbiblioteek in vir xCHIP's
#include // sluit analoog insetsensorbiblioteek in #include // sluit OLED -vertoningsbiblioteek in #include // sluit wiskundefunksies in #definieer C_Kelvin 273.15 // vir omskakeling van kelvin na celsius #definieer series_res 10000 // waarde van reeksweerstand in ohm #define B 3950 // B parameter vir termistor #definieer kamer_tempK 298.15 // kamertemperatuur in kelvin #definieer kamer_res 10000 // weerstand by kamertemperatuur in ohm #definieer vcc 3.3 // toevoerspanning xSX01 SX01 (0x55); // stel die i2c adres vlotspanning in; // veranderlike wat die gemete spanning (0 - 3.3V) vlotterm_res bevat; // termistor weerstand float act_tempK; // werklike temperatuur kelvin float act_tempC; // werklike temperatuur in die leegte -opstelling van celsius () {// plaas u opstellingskode hier om een keer te werk: // inisieer veranderlikes na 0 spanning = 0; term_res = 0; act_tempK = 0; act_tempC = 0; // begin seriële kommunikasie Serial.begin (115200); // begin i2c -kommunikasie Wire.begin (); // begin die analoge insetsensor SX01.begin (); // begin OLED -skerm OLED.begin (); // duidelike vertoning OD01.clear (); // vertraging om vertraging te normaliseer (1000); } void loop () {// plaas u hoofkode hier om herhaaldelik te werk: // lees die spanning SX01.poll (); // stoor die volatge spanning = SX01.getVoltage (); // bereken termistorweerstand therm_res = ((vcc * series_res) / voltage) - series_res; // bereken die werklike temperatuur in kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // skakel kelvin om in celsius act_tempC = act_tempK - C_Kelvin; // druk temperatuur op OLED -skerm // handmatige opmaak om in die middel OD01.set2X () te vertoon; OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); vertraging (2000); // opdater skerm elke 2 sekondes}
Aanbeveel:
Temperatuurmeting met behulp van STS21 en Arduino Nano: 4 stappe
Temperatuurmeting met behulp van STS21 en Arduino Nano: STS21 digitale temperatuursensor bied uitstekende prestasie en 'n ruimtebesparende voetspoor. Dit bied gekalibreerde, lineêre seine in digitale I2C -formaat. Die vervaardiging van hierdie sensor is gebaseer op CMOSens -tegnologie, wat toegeskryf word aan die superieure
Temperatuurmeting met behulp van MCP9803 en Particle Photon: 4 stappe
Temperatuurmeting met behulp van MCP9803 en Particle Photon: MCP9803 is 'n 2-draads hoë akkuraatheid temperatuursensor. Hulle is beliggaam met gebruikersprogrammeerbare registers wat temperatuurwaarnemingstoepassings vergemaklik. Hierdie sensor is geskik vir hoogs gesofistikeerde multi-sone temperatuurmoniteringstelsel
Temperatuurmeting met behulp van STS21 en Framboos Pi: 4 stappe
Temperatuurmeting met behulp van STS21 en Raspberry Pi: STS21 digitale temperatuursensor bied uitstekende prestasie en ruimtebesparende voetspoor. Dit bied gekalibreerde, lineêre seine in digitale I2C -formaat. Die vervaardiging van hierdie sensor is gebaseer op CMOSens -tegnologie, wat toegeskryf word aan die superieure
Temperatuurmeting met behulp van STS21 en Particle Photon: 4 stappe
Temperatuurmeting met behulp van STS21 en Particle Photon: STS21 Digitale Temperatuursensor bied uitstekende prestasie en ruimtebesparende voetspoor. Dit bied gekalibreerde, lineêre seine in digitale I2C -formaat. Die vervaardiging van hierdie sensor is gebaseer op CMOSens -tegnologie, wat toegeskryf word aan die superieure
Temperatuurmeting met behulp van TMP112 en partikelfoton: 4 stappe
Temperatuurmeting met behulp van TMP112 en Particle Photon: TMP112 I2C MINI-module met hoë akkuraatheid, lae krag, digitale temperatuur sensor. Die TMP112 is ideaal vir uitgebreide temperatuurmeting. Hierdie toestel bied 'n akkuraatheid van ± 0.5 ° C sonder om kalibrasie of kondisionering van eksterne komponente te vereis