Sisukord:

Temperatuuri mõõtmine XinaBoxi ja termistori abil: 8 sammu
Temperatuuri mõõtmine XinaBoxi ja termistori abil: 8 sammu

Video: Temperatuuri mõõtmine XinaBoxi ja termistori abil: 8 sammu

Video: Temperatuuri mõõtmine XinaBoxi ja termistori abil: 8 sammu
Video: Настройка 3D-принтера с помощью MKS sGen L v1.0 2024, November
Anonim
Temperatuuri mõõtmine XinaBoxi ja termistori abil
Temperatuuri mõõtmine XinaBoxi ja termistori abil

Mõõtke vedeliku temperatuuri XinaBoxi analoogsisendi xChip ja termistorisondi abil.

Samm: selles projektis kasutatud asjad

Riistvara komponendid

  • XinaBox SX02 x 1 xChip analoogsisendiandur koos ADC -ga
  • XinaBox CC01 x 1 xChip versioon Arduino Uno, mis põhineb ATmega328P -l
  • Takisti 10k oomi x 1 10k takisti pingejaotusvõrgu jaoks
  • Termistorisond x 1 10k temperatuuril 25 ° C NTC veekindel termistorisond
  • XinaBox IP01 x 1 xChip USB programmeerija, mille aluseks on FTDI Limited FT232R
  • XinaBox OD01 x 1 xChip 128x64 piksline OLED -ekraan
  • XinaBox XC10 x 4 xChip siiniliidesed
  • XinaBox PU01 x 1 xChip USB (tüüp A) toiteallikas
  • 5 V USB toiteallikas x 1 toitepank või sarnane

Tarkvararakendused ja võrguteenused

Arduino IDE

Käsitööriistad ja -masinad

Lameda peaga kruvikeeraja Kruviklambri pingutamiseks või lahti keeramiseks

2. samm: lugu

Sissejuhatus

Tahtsin mõõta vedeliku temperatuuri, luues lihtsa termomeetri. Kasutades XinaBox xChipsi, suutsin selle suhteliselt lihtsasti saavutada. Kasutasin temperatuuritulemuste vaatamiseks SX02 analoogsisendit xChip, mis aktsepteerib 0–3,3 V, CC01 xChip, mis põhineb ATmega328P -l ja OD01 OLED -ekraanil xChip.

Termistor mõõdab klaasi vee temperatuuri

Samm: laadige alla vajalikud failid

Teil on vaja järgmisi raamatukogusid ja tarkvara:

  • xSX0X- analoogsisendi andurite kogu
  • xOD01 - OLED -ekraaniteek
  • Arduino IDE - arenduskeskkond

Teekide installimiseks klõpsake siin.

Kui olete Arduino IDE installinud, avage see ja valige oma programmi üleslaadimiseks tahvlina "Arduino Pro või Pro Mini". Veenduge ka, et oleks valitud ATmega328P (5V, 16MHz) protsessor. Vaata pilti allpool.

Valige Arduino Pro või Pro Mini plaat ja ATmega328P (5V, 16MHz) protsessor

4. samm: pange kokku

Klõpsake programmeerijat xChip, IP01 ja ATmega328P -põhist CC01 xChip koos XC10 siiniliideste abil, nagu allpool näidatud. CC01 -sse üleslaadimiseks peate lülitid asetama vastavalt asendisse A ja DCE.

IP01 ja CC01 klõpsasid kokku

Seejärel võtke oma 10 kΩ takisti ja keerake SX02 üks ots klemmiga „IN“ja teine ots maandusklemmiga „GND“. Võtke termistorisondi juhtmed ja keerake üks ots sisse Vcc, "3.3V" ja teine ots "IN" klemmi. Vaadake allolevat graafikat.

SX02 ühendused

Nüüd ühendage OD01 ja SX02 CC01 -ga, klõpsates neid lihtsalt XC10 siiniliideste abil. Vt allpool. Pildi hõbedane element on termistorisond.

Täielik seade programmeerimiseks

Samm: programm

Sisestage seade arvuti USB -porti. Laadige alla või kopeerige ja kleepige allolev kood oma Arduino IDE -sse. Koostage ja laadige kood oma tahvlile üles. Pärast üleslaadimist peaks teie programm hakkama töötama. Kui sond on toatemperatuuril, peaksite OLED -ekraanil jälgima ± 25 ° C, nagu allpool näidatud.

Pärast üleslaadimist jälgige OLED -ekraanil toatemperatuuri

Samm: kaasaskantav termomeeter

Eemaldage seade arvutist. Võtke seade lahti ja pange see uuesti kokku, kasutades IP01 asemel PU01. Võtke nüüd kaasaskantav 5 V USB toiteallikas, näiteks toitepank vms, ja sisestage uus komplekt sellesse. Nüüd on teil hea täpsusega kaasaskantav kaasaskantav termomeeter. Vaata kaanepildilt, kuidas see töötab. Mõõtsin klaasis kuuma vett. Allolevad pildid näitavad teie kogu seadet.

Täielik seade, mis sisaldab CC01, OD01, SX02 ja PU02.

Samm 7: Järeldus

Selle projekti kokkupanekuks kulus alla 10 minuti ja programmeerimiseks veel 20 minutit. ainus vajalik passiivne komponent oli takisti. XChips klõpsab lihtsalt kokku, muutes selle väga mugavaks.

8. samm: kood

ThermTemp_Display.ino Arduino Koodis tehtud arvutuste mõistmiseks uurige termistore.

#include // sisaldab xCHIP -de põhiteeki

#include // include analoogsisendandurite kogu #include // include OLED display library #include // include matemaatikafunktsioonid #define C_Kelvin 273.15 // for conversion to kelvin to celsius #define series_res 10000 // jadatakisti väärtus oomides #define B 3950 // B parameeter termistori jaoks #define room_tempK 298.15 // toatemperatuur kelvinites #define room_res 10000 // takistus toatemperatuuril oomides #define vcc 3.3 // toitepinge xSX01 SX01 (0x55); // seada i2c aadressi ujukpinge; // muutuja, mis sisaldab mõõdetud pinget (0 - 3,3 V) float therm_res; // termistori takistuse ujuk act_tempK; // tegelik temperatuur kelvin float act_tempC; // tegelik temperatuur Celsius void setup () {// pange oma seadistuskood siia, et üks kord käivitada: // initsialiseerida muutujad väärtusele 0 pinge = 0; therm_res = 0; act_tempK = 0; act_tempC = 0; // jadaühenduse alustamine Serial.begin (115200); // käivita i2c side Wire.begin (); // käivitage analoogsisendi andur SX01.begin (); // käivita OLED -ekraan OLED.begin (); // ekraani kustutamine OD01.clear (); // viivitus viivituse normaliseerimiseks (1000); } void loop () {// pane siia oma põhikood, et korduvalt käia: // loe pinget SX01.poll (); // salvesta volatiilipinge = SX01.getVoltage (); // termistori takistuse arvutamine therm_res = (((vcc * seeria_res) / pinge) - seeria_res; // tegeliku temperatuuri arvutamine kelvinites act_tempK = (toatemperatuurK * B) / (B + toatemperatuurK // teisendada kelvin Celsiuseks act_tempC = act_tempK - C_Kelvin; // printimistemperatuur OLED -ekraanil // käsitsi vormindamine, et kuvada keskel OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); viivitus (2000); // ekraani värskendamine iga 2 sekundi järel}

Soovitan: