Cuprins:
- Pasul 1: Lucruri utilizate în acest proiect
- Pasul 2: Poveste
- Pasul 3: Descărcați fișierele necesare
- Pasul 4: Asamblați
- Pasul 5: Program
- Pasul 6: Termometru portabil
- Pasul 7: Concluzie
- Pasul 8: Cod
Video: Măsurarea temperaturii folosind XinaBox și un termistor: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Măsurați temperatura unui lichid folosind o intrare analogică xChip de la XinaBox și o sondă termistor.
Pasul 1: Lucruri utilizate în acest proiect
Componente hardware
- XinaBox SX02 x 1 xChip senzor analogic de intrare cu ADC
- XinaBox CC01 x 1 xChip versiunea Arduino Uno bazată pe ATmega328P
- Rezistor 10k ohm x 1 rezistor 10k pentru rețea divizor de tensiune
- Sonda termistor x 1 10k la 25 ° C Sonda termistor impermeabilă NTC
- Programator XinaBox IP01 x 1 xChip USB bazat pe FT232R de la FTDI Limited
- Afișaj OLED XinaBox OD01 x 1 xChip 128x64 pixeli
- Conectori XinaBox XC10 x 4 xChip
- Sursă de alimentare XinaBox PU01 x 1 xChip USB (tip A)
- Sursă de alimentare USB de 5V x 1 banc de alimentare sau similar
Aplicații software și servicii online
IDE Arduino
Unelte manuale și mașini de fabricat
Șurubelniță cu cap plat Pentru a strânge sau a slăbi clema bornei șurubului
Pasul 2: Poveste
Introducere
Am vrut să măsoar temperatura unui lichid prin crearea unui termometru simplu. Prin utilizarea XinaBox xChips aș putea realiza acest lucru cu relativă simplitate. Am folosit intrarea analogică SX02 xChip care acceptă 0 - 3,3V, CCC1 xChip bazat pe ATmega328P și afișajul OD01 OLED xChip pentru a vedea rezultatele temperaturii mele.
Termistor care măsoară temperatura apei într-un pahar
Pasul 3: Descărcați fișierele necesare
Veți avea nevoie de următoarele biblioteci și software:
- xSX0X- Bibliotecă senzor de intrare analogică
- xOD01 - bibliotecă de afișaj OLED
- Arduino IDE - Mediu de dezvoltare
Faceți clic aici pentru a vedea cum se instalează bibliotecile.
După ce ați instalat Arduino IDE, deschideți-l și selectați „Arduino Pro sau Pro Mini” ca placă în care să încărcați programul. De asemenea, asigurați-vă că este selectat procesorul ATmega328P (5V, 16MHz). Vezi imaginea de mai jos.
Selectați placa Arduino Pro sau Pro Mini și procesorul ATmega328P (5V, 16MHz)
Pasul 4: Asamblați
Faceți clic pe programatorul xChip, IP01 și ATmega328P bazat pe CC01 xChip împreună utilizând conectorii de magistrală XC10 așa cum se arată mai jos. Pentru a încărca pe CC01 va trebui să plasați comutatoarele în pozițiile „A” și respectiv „DCE”.
IP01 și CC01 au făcut clic împreună
Apoi, luați rezistorul de 10kΩ și înșurubați un capăt în terminalul marcat „IN” și celălalt capăt în terminalul de la sol, „GND”, pe SX02. Luați cablurile de pe sonda termistorului și înșurubați un capăt în Vcc, „3.3V”, iar celălalt capăt în terminalul „IN”. Vedeți graficul de mai jos.
Conexiuni SX02
Acum combinați OD01 și SX02 cu CC01 făcând clic simplu pe ele folosind conexiuni de magistrală XC10. Vezi mai jos. Elementul argintiu din imagine este sonda termistorului.
Unitate completă pentru programare
Pasul 5: Program
Introduceți unitatea în portul USB de pe computer. Descărcați sau copiați și lipiți codul de mai jos în ID-ul dvs. Arduino. Compilați și încărcați codul pe placa dvs. Odată încărcat, programul dvs. ar trebui să înceapă să ruleze. Dacă sonda este în condiții de temperatură a camerei, ar trebui să observați ± 25 ° C pe afișajul OLED așa cum se arată mai jos.
După încărcare, observați temperatura camerei pe afișajul OLED
Pasul 6: Termometru portabil
Scoateți unitatea din computer. Demontați unitatea și remontați-o folosind PU01 în loc de IP01. Acum luați sursa de alimentare portabilă USB de 5V, cum ar fi o bancă de alimentare sau altele similare și introduceți noul ansamblu în el. Acum aveți propriul dvs. termometru portabil cu o precizie bună. Vedeți imaginea de copertă pentru ao vedea în funcțiune. Am măsurat apă fierbinte într-un pahar. Imaginile de mai jos prezintă unitatea completă.
Unitate completă care cuprinde CC01, OD01, SX02 și PU02.
Pasul 7: Concluzie
Acest proiect a durat sub 10 minute pentru a fi asamblat și încă 20 de minute pentru programare. singura componentă pasivă necesară era un rezistor. XChip-urile fac doar clic împreună, ceea ce îl face foarte convenabil.
Pasul 8: Cod
ThermTemp_Display.ino Arduino Cercetați termistoarele pentru a înțelege calculele din cod.
#include // include biblioteca de bază pentru xCHIP-uri
. B 3950 // B parametru pentru termistor #define room_tempK 298.15 // temperatura camerei în kelvin #define room_res 10000 // rezistența la temperatura camerei în ohmi #define vcc 3.3 // tensiunea de alimentare xSX01 SX01 (0x55); // setați tensiunea de plutire a adresei i2c; // variabilă care conține tensiunea măsurată (0 - 3,3V) flo_res therm_res; // rezistență termistor float act_tempK; // temperatura reală kelvin float act_tempC; // temperatura reală în celsius void setup () {// puneți codul de configurare aici, pentru a rula o dată: // inițializați variabilele la 0 tensiune = 0; therm_res = 0; act_tempK = 0; act_tempC = 0; // pornește comunicarea în serie Serial.begin (115200); // pornește comunicarea i2c Wire.begin (); // porniți senzorul de intrare analogică SX01.begin (); // pornește afișajul OLED OLED.begin (); // ștergeți afișajul OD01.clear (); // întârziere pentru normalizarea întârzierii (1000); } void loop () {// puneți codul principal aici, pentru a rula în mod repetat: // citiți tensiunea SX01.poll (); // stochează tensiunea volatge = SX01.getVoltage (); // calculați rezistența termistorului therm_res = ((vcc * series_res) / tension) - series_res; // calculați temperatura reală în kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // converti kelvin în celsius act_tempC = act_tempK - C_Kelvin; // temperatura de imprimare pe afișajul OLED // formatarea manuală pentru afișarea în centru OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); întârziere (2000); // actualizați afișajul la fiecare 2 secunde}
Recomandat:
Măsurarea temperaturii folosind AD7416ARZ și Raspberry Pi: 4 pași
Măsurarea temperaturii folosind AD7416ARZ și Raspberry Pi: AD7416ARZ este un senzor de temperatură de 10 biți cu patru convertizoare analogice la un singur canal și un senzor de temperatură încorporat în acesta. Senzorul de temperatură de pe piese poate fi accesat prin canale multiplexor. Această temperatură de înaltă precizie
Măsurarea temperaturii folosind STS21 și Arduino Nano: 4 pași
Măsurarea temperaturii utilizând STS21 și Arduino Nano: senzorul digital de temperatură STS21 oferă performanțe superioare și o amprentă de economisire a spațiului. Oferă semnale calibrate, liniarizate în format digital, I2C. Fabricarea acestui senzor se bazează pe tehnologia CMOSens, care se atribuie superiorului
Măsurarea temperaturii folosind ADT75 și Arduino Nano: 4 pași
Măsurarea temperaturii utilizând ADT75 și Arduino Nano: ADT75 este un senzor digital de temperatură extrem de precis. Acesta cuprinde un senzor de temperatură de bandă și un convertor analogic digital pe 12 biți pentru monitorizarea și digitalizarea temperaturii. Senzorul său extrem de sensibil îl face suficient de competent pentru mine
Măsurarea umidității și temperaturii folosind HIH6130 și Arduino Nano: 4 pași
Măsurarea umidității și temperaturii folosind HIH6130 și Arduino Nano: HIH6130 este un senzor de umiditate și temperatură cu ieșire digitală. Acești senzori oferă un nivel de precizie de ± 4% HR. Cu stabilitate pe termen lung lider în industrie, I2C digital cu adevărat compensat de temperatură, fiabilitate lider în industrie, eficiență energetică
Măsurarea temperaturii și a umidității folosind HDC1000 și Arduino Nano: 4 pași
Măsurarea temperaturii și a umidității folosind HDC1000 și Arduino Nano: HDC1000 este un senzor digital de umiditate cu senzor de temperatură integrat care oferă o precizie excelentă de măsurare la o putere foarte mică. Dispozitivul măsoară umiditatea pe baza unui nou senzor capacitiv. Senzorii de umiditate și temperatură sunt fac