Përmbajtje:

Matja e temperaturës duke përdorur XinaBox dhe një termistor: 8 hapa
Matja e temperaturës duke përdorur XinaBox dhe një termistor: 8 hapa

Video: Matja e temperaturës duke përdorur XinaBox dhe një termistor: 8 hapa

Video: Matja e temperaturës duke përdorur XinaBox dhe një termistor: 8 hapa
Video: Как тушить капусту, чтобы всё съели. Тушёная капуста, пошаговый рецепт 2024, Nëntor
Anonim
Matja e temperaturës duke përdorur XinaBox dhe një termistor
Matja e temperaturës duke përdorur XinaBox dhe një termistor

Matni temperaturën e një lëngu duke përdorur një hyrje analog xChip nga XinaBox dhe një sondë termistori.

Hapi 1: Gjërat e përdorura në këtë projekt

Komponentët e harduerit

  • Sensori i hyrjes analoge XinaBox SX02 x 1 xChip me ADC
  • XinaBox CC01 x 1 version xChip i Arduino Uno bazuar në ATmega328P
  • Rezistencë 10k ohm x 1 10k Rezistencë për rrjetin e ndarjes së tensionit
  • Sonda e Termistorit x 1 10k në sondën e termistorit të papërshkueshëm nga uji NTC 25 ° C
  • Programues XinaBox IP01 x 1 xChip USB bazuar në FT232R Nga FTDI Limited
  • Ekran OLED XinaBox OD01 x 1 xChip 128x64 Pixel
  • Lidhëset e autobusëve XinaBox XC10 x 4 xChip
  • Furnizimi me energji XinaBox PU01 x 1 xChip USB (Lloji A)
  • Furnizimi me energji 5V USB x 1 Power Bank ose të ngjashme

Aplikacionet softuerike dhe shërbimet online

Arduino IDE

Vegla dore dhe makina fabrikimi

Kaçavidë me kokë të sheshtë Për të shtrënguar ose liruar kapësen e terminalit të vidës

Hapi 2: Histori

Prezantimi

Doja të matja temperaturën e një lëngu duke krijuar një termometër të thjeshtë. Duke përdorur XinaBox xChips unë mund ta arrija këtë me thjeshtësi relative. Kam përdorur hyrjen analoge SX02 xChip e cila pranon 0 - 3.3V, CC01 xChip e bazuar në ATmega328P dhe ekranin OD01 OLED xChip për të parë rezultatet e temperaturës sime.

Termistor që mat temperaturën e ujit në një gotë

Hapi 3: Shkarkoni skedarët e nevojshëm

Ju do të keni nevojë për bibliotekat dhe softuerin e mëposhtëm:

  • xSX0X- Biblioteka e sensorit të hyrjes analoge
  • xOD01 - biblioteka e ekranit OLED
  • Arduino IDE - Mjedisi i zhvillimit

Klikoni këtu për të parë se si të instaloni bibliotekat.

Pasi të keni instaluar Arduino IDE, hapeni atë dhe zgjidhni "Arduino Pro ose Pro Mini" si tabelë për të ngarkuar programin tuaj. Gjithashtu sigurohuni që është zgjedhur procesori ATmega328P (5V, 16MHz). Shikoni imazhin më poshtë.

Zgjidhni bordin Arduino Pro ose Pro Mini dhe procesorin ATmega328P (5V, 16MHz)

Hapi 4: Mblidhni

Klikoni programuesin xChip, IP01 dhe CC01 xChip të bazuar në ATmega328P duke përdorur lidhëset e autobusëve XC10 siç tregohet më poshtë. Në mënyrë që të ngarkoni në CC01 do t'ju duhet të vendosni çelsat në pozicionet 'A' dhe 'DCE' respektivisht.

IP01 dhe CC01 klikuan së bashku

Tjetra, merrni rezistencën tuaj 10kΩ dhe vidhosni një fund në terminalin e shënuar "IN" dhe skajin tjetër në terminalin tokësor, "GND", në SX02. Merrni telat në sondën e termistorit dhe vidhosni njërin skaj në Vcc, "3.3V", dhe skajin tjetër në terminalin "IN". Shikoni grafikun më poshtë.

Lidhjet SX02

Tani kombinoni OD01 dhe SX02 me CC01 thjesht duke i klikuar së bashku duke përdorur lidhëset e autobusëve XC10. Shikoni më poshtë. Elementi argjendi në imazh është sonda termistore.

Njësia e plotë për programim

Hapi 5: Programi

Futeni njësinë në portën USB të kompjuterit tuaj. Shkarkoni ose kopjoni dhe ngjisni kodin më poshtë në Arduino IDE tuaj. Përpiloni dhe ngarkoni kodin në tabelën tuaj. Pasi të jetë ngarkuar programi juaj duhet të fillojë të funksionojë. Nëse sonda është në kushtet e temperaturës së dhomës, duhet të vëzhgoni ± 25 ° C në ekranin OLED siç tregohet më poshtë.

Pas ngarkimit vëzhgoni temperaturën e dhomës në ekranin OLED

Hapi 6: Termometër portativ

Hiqeni njësinë nga kompjuteri juaj. Çmontoni njësinë dhe montojeni përsëri duke përdorur PU01 në vend të IP01. Tani merrni furnizimin tuaj me energji portativ USB 5V të tillë si një bankë energjie ose të ngjashme dhe futni montimin e ri në të. Tani keni termometrin tuaj të lezetshëm portativ me saktësi të mirë. Shikoni imazhin e kopertinës për ta parë atë në punë. Unë mata ujin e nxehtë në një gotë. Imazhet e mëposhtme tregojnë njësinë tuaj të plotë.

Njësia e plotë që përfshin CC01, OD01, SX02 dhe PU02.

Hapi 7: Përfundimi

Ky projekt zgjati më pak se 10 minuta për t'u montuar dhe 20 minuta të tjera për t'u programuar. i vetmi komponent pasiv i kërkuar ishte një rezistencë. XChips thjesht klikoni së bashku duke e bërë atë shumë të përshtatshëm.

Hapi 8: Kodi

ThermTemp_Display.ino Arduino Kërkoni termistorë në mënyrë që të kuptoni llogaritjet në kod.

#include // përfshijë bibliotekën bazë për xCHIP

#përfshi // përfshi bibliotekën e sensorit të hyrjes analoge #përfshi // përfshi bibliotekën e ekranit OLED #përfshi // përfshi funksionet e matematikës #përcakto C_Kelvin 273.15 // për shndërrimin nga kelvin në celsius #përcakto seritë_res 10000 // vlera e rezistencës së serisë në ohms #define B 3950 // Parametri B për termistorin #përcaktoni dhomën_tempK 298.15 // temperatura e dhomës në kelvin #përcaktoni dhomën_res 10000 // rezistenca në temperaturën e dhomës në ohms #define vcc 3.3 // tensioni i furnizimit xSX01 SX01 (0x55); // vendosni tensionin e notimit të adresës i2c; // variabla që përmban tensionin e matur (0 - 3.3V) term_res notues; // rezistenca e termistorit float act_tempK; // temperatura aktuale kelvin float act_tempC; // temperatura aktuale në celsius void setup () {// vendosni kodin tuaj të konfigurimit këtu, për të ekzekutuar një herë: // filloni variablat në 0 tension = 0; termike_res = 0; act_tempK = 0; act_tempC = 0; // filloni komunikimin serik Serial.begin (115200); // filloni komunikimin i2c Wire.begin (); // filloni sensorin analog të hyrjes SX01.filloni (); // filloni shfaqjen OLED OLED.filloni (); // pastro ekranin OD01.qartë (); // vonesa për të normalizuar vonesën (1000); } void loop () {// vendosni kodin tuaj kryesor këtu, për të funksionuar në mënyrë të përsëritur: // lexoni tensionin SX01.poll (); // ruaj tensionin e avullimit = SX01.getVoltage (); // llogaris rezistencën e termistorit term_res = ((vcc * seri_res) / tension) - seri_res; // llogarit temperaturën aktuale në kelvin act_tempK = (dhoma_tempK * B) / (B + dhoma_tempK * log (therm_res / room_res)); // konvertoni kelvin në celsius act_tempC = act_tempK - C_Kelvin; // temperatura e printimit në ekranin OLED // formatimi manual për t'u shfaqur në qendër OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); vonesa (2000); // përditësoni ekranin çdo 2 sekonda}

Recommended: