Съдържание:

Измерване на температурата с помощта на XinaBox и термистор: 8 стъпки
Измерване на температурата с помощта на XinaBox и термистор: 8 стъпки

Видео: Измерване на температурата с помощта на XinaBox и термистор: 8 стъпки

Видео: Измерване на температурата с помощта на XinaBox и термистор: 8 стъпки
Видео: Каким градусником измерять температуру больному ребенку? 2024, Юли
Anonim
Измерване на температурата с помощта на XinaBox и термистор
Измерване на температурата с помощта на XinaBox и термистор

Измерете температурата на течността с помощта на аналогов вход xChip от XinaBox и термисторна сонда.

Стъпка 1: Нещата, използвани в този проект

Хардуерни компоненти

  • XinaBox SX02 x 1 xChip аналогов входен сензор с ADC
  • XinaBox CC01 x 1 xChip версия на Arduino Uno на базата на ATmega328P
  • Резистор 10k ohm x 1 10k резистор за мрежа с делител на напрежение
  • Термисторна сонда x 1 10k при 25 ° C NTC водоустойчива термисторна сонда
  • XinaBox IP01 x 1 xChip USB програмист, базиран на FT232R От FTDI Limited
  • XinaBox OD01 x 1 xChip 128x64 пиксел OLED дисплей
  • XinaBox XC10 x 4 xChip шинни конектори
  • XinaBox PU01 x 1 xChip USB (тип А) Захранване
  • 5V USB захранване x 1 Power Bank или подобен

Софтуерни приложения и онлайн услуги

Arduino IDE

Ръчни инструменти и машини за производство

Плоска отвертка За затягане или разхлабване на клемната скоба на винта

Стъпка 2: История

Въведение

Исках да измервам температурата на течността, като създадох прост термометър. С помощта на XinaBox xChips бих могъл да постигна това с относителна простота. Използвах аналоговия вход SX02 xChip, който приема 0 - 3.3V, CC01 xChip, базиран на ATmega328P и OD01 OLED дисплея xChip, за да видя резултатите от моята температура.

Термистор, измерващ температурата на водата в чаша

Стъпка 3: Изтеглете необходимите файлове

Ще ви трябват следните библиотеки и софтуер:

  • xSX0X- Библиотека със сензори за аналогов вход
  • xOD01 - OLED дисплейна библиотека
  • Arduino IDE - Среда за развитие

Щракнете тук, за да видите как да инсталирате библиотеките.

След като инсталирате Arduino IDE, отворете го и изберете „Arduino Pro или Pro Mini“като дъска, на която да качите вашата програма. Също така се уверете, че е избран процесорът ATmega328P (5V, 16MHz). Вижте изображението по -долу.

Изберете платката Arduino Pro или Pro Mini и процесора ATmega328P (5V, 16MHz)

Стъпка 4: Сглобете

Щракнете заедно на програмиста xChip, IP01 и базиран на ATmega328P CC01 xChip заедно, използвайки съединители за шина XC10, както е показано по -долу. За да качите в CC01, ще трябва да поставите превключвателите съответно в позиции „A“и „DCE“.

IP01 и CC01 са щракнати заедно

След това вземете своя 10kΩ резистор и завийте единия край в клемата с маркировка "IN", а другия край в заземяващия терминал, "GND", на SX02. Вземете проводниците на сондата на термистора и завийте единия край във Vcc, "3.3V", а другия край в терминала "IN". Вижте графиката по -долу.

SX02 връзки

Сега комбинирайте OD01 и SX02 с CC01, като просто ги щракнете заедно, като използвате XC10 шинни конектори. Виж отдолу. Сребърният елемент на изображението е термисторната сонда.

Пълна единица за програмиране

Стъпка 5: Програма

Поставете устройството в USB порта на компютъра. Изтеглете или копирайте и поставете кода по -долу във вашата Arduino IDE. Компилирайте и качете кода на дъската си. След като качите, вашата програма трябва да започне да работи. Ако сондата е при условия на стайна температура, трябва да наблюдавате ± 25 ° C на OLED дисплея, както е показано по -долу.

След качване наблюдавайте стайната температура на OLED дисплея

Стъпка 6: Преносим термометър

Извадете устройството от компютъра. Разглобете устройството и го сглобете отново с PU01 вместо IP01. Сега вземете вашето 5V USB преносимо захранване, като например банка за захранване или подобно, и поставете новия модул в него. Вече имате собствен преносим преносим термометър с добра точност. Вижте изображението на корицата, за да го видите в действие. Измерих гореща вода в чаша. Изображенията по -долу показват вашето цялостно устройство.

Цялостна единица, включваща CC01, OD01, SX02 и PU02.

Стъпка 7: Заключение

Този проект отне под 10 минути за сглобяване и още 20 минути за програмиране. единственият необходим пасивен компонент беше резистор. XChips просто щракват заедно, което го прави много удобен.

Стъпка 8: Код

ThermTemp_Display.ino Arduino Изследвайте термисторите, за да разберете изчисленията в кода.

#include // включва основна библиотека за xCHIPs

#include // включва аналогов входен сензорен библиотека #include // включва OLED дисплейна библиотека #include // включва математически функции #дефинира C_Kelvin 273.15 // за преобразуване от келвин в целзий #дефинира серия_res 10000 // стойност на резистор в ома #дефинирам B 3950 // B параметър за термистор #дефинирайте room_tempK 298.15 // стайна температура в келвин #дефинирайте стая_res 10000 // съпротивление при стайна температура в ома #дефинирайте vcc 3.3 // захранващо напрежение xSX01 SX01 (0x55); // задаваме плаващо напрежение на i2c адреса; // променлива, съдържаща измереното напрежение (0 - 3.3V) float therm_res; // термопластово съпротивление float act_tempK; // действителна температура kelvin float act_tempC; // действителна температура в Celsius therm_res = 0; act_tempK = 0; act_tempC = 0; // стартиране на серийна комуникация Serial.begin (115200); // стартиране на i2c комуникация Wire.begin (); // стартира сензора за аналогов вход SX01.begin (); // стартиране на OLED дисплей OLED.begin (); // изчистване на дисплея OD01.clear (); // забавяне за нормализиране на забавяне (1000); } void loop () {// поставете основния си код тук, за да се изпълнява многократно: // прочетете напрежението SX01.poll (); // съхраняваме напрежението на volatge = SX01.getVoltage (); // изчисляваме съпротивлението на термистора therm_res = ((vcc * series_res) / напрежение) - series_res; // изчисляваме действителната температура в kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // конвертираме келвин в Целзий act_tempC = act_tempK - C_Kelvin; // температура на печат на OLED дисплей // ръчно форматиране за показване в центъра OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); забавяне (2000); // актуализиране на дисплея на всеки 2 секунди}

Препоръчано: