Talaan ng mga Nilalaman:

Bluetooth Thermometer: 8 Hakbang
Bluetooth Thermometer: 8 Hakbang

Video: Bluetooth Thermometer: 8 Hakbang

Video: Bluetooth Thermometer: 8 Hakbang
Video: ТЕПЕРЬ НЕ ПРОПАДУ 10-ть самоделок ВЫРУЧАТ ГДЕ УГОДНО! 2024, Hulyo
Anonim
Thermometer ng Bluetooth
Thermometer ng Bluetooth
Thermometer ng Bluetooth
Thermometer ng Bluetooth
Thermometer ng Bluetooth
Thermometer ng Bluetooth

Itinuturo ang detalyeng ito sa paggawa ng isang simpleng 2 channel thermometer gamit ang 100K thermistor probes, isang module ng Bluetooth at smartphone. Ang module ng Bluetooth ay isang LightBlue Bean na idinisenyo upang gawing simple ang pagbuo ng app ng Bluetooth na Mababang Enerhiya sa pamamagitan ng paggamit ng pamilyar na kapaligiran ng Arduino para sa pag-program ng module.

Matapos makatisod sandali habang sinusubukang malaman kung paano makukuha ang data ng temperatura mula sa module ng Bluetooth sa aking iPhone, natagpuan ko ang isang app na tinatawag na EvoThings na pinasimple ang bahagi ng pagbuo ng app ng proyekto. Wala akong Mac (nakakagulat na alam ko!) Na naglilimita sa aking kakayahang bumuo ng isang iPhone app, at wala akong oras upang maintindihan ang mga bagong tool ng Microsoft na maliwanag na sumusuporta sa pag-unlad ng cross platform para sa iOS at Android. Nagawa ko ang maraming mga app ng istilong HTML5 ngunit ang tanging paraan upang makakuha ng data ng Bluetooth ay sa pamamagitan ng mga plugin para sa Cordova na mukhang isang hamon kaysa sa oras ko. Nagbibigay ang EvoThings ng napakadaling gamitin na hanay ng mga tool na ginawang isang cakewalk ang hamon sa Bluetooth-to-iPhone. At gusto ko ng cake!

Sa pangkalahatan nakita ko ang kombinasyon ng Lightblue Bean at EvoThings na isang napaka praktikal na solusyon na may mababang oras ng pamumuhunan.

Hakbang 1: Mga Bagay na Kakailanganin Mo

Mga Bagay na Kakailanganin Mo
Mga Bagay na Kakailanganin Mo
Mga Bagay na Kakailanganin Mo
Mga Bagay na Kakailanganin Mo
Mga Bagay na Kakailanganin Mo
Mga Bagay na Kakailanganin Mo

Gumamit ako ng isang magagamit na probe para sa isang komersyal na probe para sa isang channel dahil nais kong ang thermistor ay tinatakan para sa paglulubog sa mga likido. Para sa pangalawang channel, gumawa ako ng pangunahing pagsisiyasat mula sa isang thermistor, ilang 26 gauge wire at isang 3.5mm headphone plug. Malaya kang gumamit ng anumang mga thermistor na gusto mo at maaari kang gumawa ng iyong sariling mga probe mula sa thermally conductive epoxy at plastic straw / coffee stirrers halimbawa. Ang sumusunod ay kung ano ang ginamit ko - hindi ito inilaan upang maging isang iniresetang listahan!

Hardware

  • 1 x 100K mga pagsisiyasat ng Thermistor. Model Extech TP890. Karaniwan itong magagamit sa ebay at amazon.
  • 2 x 2.5mm Mga stereo jack na tumutugma sa 2.5mm plug sa mga probe ng Extech. Nag-scaven ako ng 3.5mm jacks mula sa isang lumang computer kaya pinutol ko ang plug mula sa Extech probe at pinalitan ito ng 3.5mm plugs. Dapat mong iwasan ito na gumamit lamang ng 2.5mm jacks, o gumamit ng isang off-the-shelf 2.5mm hanggang 3.5mm stereo adapter plug.
  • 100K thermistor bead plus 26 gauge wire plus 3.5mm stereo plug kung nais mong gumawa ng iyong sariling pagsisiyasat. Kung hindi, bumili ng pangalawang probe ng Extech!
  • 1 x Lightblue Bean by Punch Through Designs. Ito ang module ng Bluetooth na napaprograma bilang isang Arduino development board. Ang module ay medyo magastos ngunit inaalis nito ang maraming pagiging kumplikado. Nagpapatakbo sila ng isang kampanya sa Kickstarter para sa susunod na henerasyon na aparato na maaaring suliting isaalang-alang.
  • 2 x 1 / 4W 100K resistors na ginagamit upang hatiin ang sanggunian boltahe para sa mga thermistors. Gumamit ako ng 5% resistors ngunit ang mas mataas na resistors ng resistensya sa pangkalahatan ay hindi gaanong sensitibo sa temperatura at magbibigay ng mas mahusay na pagganap. Ang 1% ay isang magandang halaga ng pagpapaubaya para dito.
  • Panghinang at bakalang panghinang
  • Mga cutter ng wire at ilang maliliit na haba ng 26 o 28 gauge hookup wire.

Software at Firmware

  • Para sa pagprograma ng Bean, kakailanganin mo ang Bean Loader app. Gumamit ako ng mga bintana kaya ang lahat ng mga link ay magiging tukoy sa Windows. Lahat ng kailangan mo upang makapagsimula sa Bean kasama ang mga detalye ng Arduino ay magagamit mula sa site ng LightBlueBean
  • Ang workbench ng EvoThings para sa smartphone app ay magagamit dito. Ang lahat ng dokumentasyon na "nagsisimula" ay magagamit din doon. Napakahusay na dokumentado.

Hakbang 2: Ang Konstruksiyon ng Circuit at Elektrikal

Ang Circuit at Konstruksiyong Elektrikal
Ang Circuit at Konstruksiyong Elektrikal
Ang Circuit at Konstruksiyong Elektrikal
Ang Circuit at Konstruksiyong Elektrikal
Ang Circuit at Konstruksiyong Elektrikal
Ang Circuit at Konstruksiyong Elektrikal

Ang isang thermistor ay isang risistor na umaasa sa temperatura. Ang Extech probe ay may negatibong temperatura coefficient na nangangahulugang habang tumataas ang temperatura, bumababa ang resistensya. Ang halaga ng paglaban ay sinusukat sa isang simpleng circuit na lumilikha ng isang voltage divider na may thermistor sa isang binti, at isang nakapirming 100K risistor sa isa pa. Ang hinati na boltahe ay pinakain sa isang Analog Input channel sa Bean at na-sample sa firmware.

Upang maitayo ang circuit, nag-scaven ako ng 3.5mm audio jacks mula sa isang lumang sirang PC. Ginamit ang isang multimeter upang matukoy ang dalawang puntos sa PCB na tumutugma sa dulo at unang banda ng pagsisiyasat. Ang mga wire ay hinihinang sa mga audio jack at sa Bean tulad ng ipinakita sa mga imahe. Ang mga audio jack ay natigil sa prototype area ng Bean gamit ang double sided tape. Ang ginamit kong tape ay ang automotive grade decal tape na lumilikha ng napakalakas na bono sa pagitan ng mga bahagi ng tow.

Hakbang 3: Mga Proe Coefficient

Mga Coefficient ng Probe
Mga Coefficient ng Probe

Tulad ng karaniwan sa probe ng Extech, ang mga coefficients ng Steinhart-Hart ay hindi nai-publish kahit saan ko mahahanap. Sa kasamaang palad mayroong isang online na calculator na tutukoy sa mga coefficients mula sa 3 mga sukat ng temperatura na ibibigay mo.https://www.thinksrs.com/downloads/programs/Therm%2…

Ano ang foillows ay ang pangunahing pamamaraan na ginamit ko upang makarating sa mga coefficients. Hindi makakakuha ng anumang mga puntos para sa estilo ngunit sapat na mahusay upang masabi mong +/- 1 degree na tumpak (isang kabuuang thumbsuck sa aking bahagi)…. nakasalalay sa kawastuhan ng iyong sangguniang thermometer at multimeter syempre! Ang aking multimeter ay isang murang yunit ng tatak na walang pangalan na binili ko maraming taon na ang nakakalipas nang masikip ang pera. Masikip pa rin ang pera at gumagana pa rin ito!

Upang i-calibrate, kailangan namin ng tatlong pagbabasa ng paglaban mula sa 3 temperatura.

  • Malapit sa pagyeyelo sa pamamagitan ng pagdaragdag ng yelo sa isang basong tubig at pagpapakilos hanggang sa tumatag ang temperatura. Kapag na-stabilize na, gamitin ang multi-meter upang maitala ang paglaban ng probe at ang sangguniang thermometer upang maitala ang tmeperature..
  • Ngayon ilagay ang probe sa isang basong tubig sa temperatura ng kuwarto, payagan ang probe na pantay-pantay sa temperatura ng tubig at itala ang temperatura sa iyong sangguniang thermometer at pagbabasa ng paglaban sa iyong multi-meter.
  • Ilagay ang probe sa isang baso ng mainit na tubig at itala ang paglaban.

    Temperatura Paglaban
    5.6 218K
    21.0 97.1K
    38.6 43.2

Ang buong proseso na ito ay isang maliit na sitwasyon ng manok at itlog dahil kailangan mo ng isang naka-calibrate na thermometer upang maitala ang temperatura at isang naka-calibrate na multi-meter upang maitala ang paglaban. Ang mga error dito ay magreresulta sa kawalang-katumpakan sa mga sukat ng temperatura na iyong ginawa ngunit para sa aking mga hangarin, +/- 1 degree ay higit sa kailangan ko.

Ang paglalagay ng mga naitalang halagang ito sa web calculator ay magbubunga ng sumusunod:

Larawan
Larawan

Ang mga coefficents (A, B at C) ay naka-plug sa equation ng Stenhart-Hart upang pigilan ang temperatura mula sa isang halimbawang halagang paglaban. Ang equation ay tinukoy bilang (pinagmulan: wikipedia.com)

Larawan
Larawan

Kung saan ang T = Temperatura sa Kelvin

Ang A, B at C ay ang mga coefficients ng equation ng Steinhart-Hart na sinusubukan naming matukoy ang R ay ang paglaban sa temperatura T

Gagawa ng firmware ang pagkalkula na ito.

Hakbang 4: Firmware

Firmware
Firmware
Firmware
Firmware

Ang mga voltmaryong thermistor ay na-sample, na-convert sa temperatura at ipinadala sa pamamagitan ng Bluetooth sa EvoThings app na tumatakbo sa smartphone.

Upang mai-convert ang boltahe sa isang halaga ng paglaban sa loob ng Bean, isang simpleng linear equation ang ginagamit. Ang derivation ng equation ay ibinibigay bilang isang imahe. Sa halip na pag-convert ng halimbawang halaga sa boltahe, dahil ang parehong ADC at ang input boltahe ay isinangguni sa parehong boltahe ng baterya, maaari naming gamitin ang halaga ng ADC sa halip na boltahe. Para sa 10bit Bean ADC, ang buong boltahe ng baterya ay magreresulta sa isang halaga ng ADC na 1023 kaya ginagamit namin ang halagang ito bilang Vbat. Ang tunay na halaga ng divider resistor ay isang mahalagang pagsasaalang-alang. Sukatin ang aktwal na halaga ng 100K divider resistor at gamitin ang sinusukat na halaga sa equation upang maiwasan ang isang hindi kinakailangang mapagkukunan ng error dahil sa tolerance ng resistor.

Kapag kinakalkula ang halaga ng paglaban, ang halaga ng paglaban ay na-convert sa temperatura gamit ang Steinhart-Hart equation. Ang equation na ito ay inilarawan nang detalyado sa Wikipedia.

Dahil mayroon kaming 2 mga pagsisiyasat, may katuturan na i-encapsulate ang pagpapaandar ng pagsisiyasat sa isang klase ng C ++.

Inilakip ng klase ang mga coefficients ng equation ng Steinhart-Hart, ang nominal divider resistance na halaga at ang analog port kung saan nakakonekta ang thermistor. Ang isang solong pamamaraan, temperatura (), ay binabago ang halaga ng ADC sa isang halaga ng paglaban at pagkatapos ay ginagamit ang equinasyong Steinhart-Hart upang matukoy ang temperatura sa Kelvin. Ang halaga ng pagbalik ay binabawas ang ganap na zero (273.15K) mula sa kinakalkula na temperatura upang maibigay ang halaga sa Celsius.

Ang lakas ng Lightblue Bean ay maliwanag sa katotohanan na ang lahat ng pag-andar ng Bluetooth ay mahalagang ipinatupad sa 1 linya ng code na nagsusulat ng mga halimbawang halagang temperatura sa isang gasgas na lugar ng data sa memorya ng Bluetooth.

Bean.setScratchData (TEMPERATURE_SCRATCH_IDX, (uint8_t *) at temperatura [0], 12);

Ang bawat halimbawang halaga ng temperatura ay kinakatawan ng isang float na tumatagal ng hanggang 4 na bytes. Ang lugar ng data ng gasgas ay maaaring humawak ng 20 bytes. Gumagamit lang kami ng 12 sa kanila. Mayroong 5 mga lugar ng data ng gasgas upang maaari kang maglipat ng hanggang sa 100 bytes ng data gamit ang data ng simula.

Ang pangunahing daloy ng mga kaganapan ay:

  • Suriin upang malaman kung mayroon kaming koneksyon sa Bluetooth
  • Kung gayon, halimbawang temperatura at isulat ang mga ito sa lugar ng data ng gasgas
  • Matulog 200ms at ulitin ang siklo.

Kung hindi nakakonekta, inilalagay ng firmware ang ATMEGA328P chip upang matulog nang mahabang panahon. Ang siklo ng pagtulog ay mahalaga para sa pagtipig ng lakas. Ang chip ng ATMEGA328P ay napupunta sa mababang mode ng kuryente at mananatili doon hanggang magambala ng module ng Bluetooth na LBM313. Ang LBM313 ay bubuo ng isang nakakagambala upang gisingin ang ATMEGA328P sa pagtatapos ng hinihiling na panahon ng pagtulog, o tuwing may koneksyon sa Bluetooth na ginawa sa Bean. Ang pagpapaandar ng WakeOnConnect ay pinagana sa pamamagitan ng tahasang pagtawag sa Bean.enableWakeOnConnect (totoo) habang nagse-set up ().

Mahalagang tandaan na gagana ang firmware sa anumang aplikasyon ng client ng BLE. Ang kailangan lang gawin ng kliyente ay alisin ang mga byte ng temperatura mula sa gasgas na data bank at muling pagsamahin ang mga ito sa mga lumulutang na numero ng point para sa pagpapakita o pagproseso. Ang pinakamadaling client app para sa akin ay ang paggamit ng EvoThings.

Hakbang 5: Smartphone App

Smartphone App
Smartphone App

Ang sample na app ng Evo Things ay malapit sa kailangan ko na may kaunting pagsisikap lamang na kinakailangan upang idagdag ang mga karagdagang elemento ng pagpapakita upang makumpleto ang aparato ng pagsukat ng temperatura ng 3 channel.

Ang pag-install at pangunahing pagpapatakbo ng platform ng EvoThings ay napakahusay na dokumentado sa Evo Things web site kaya't walang halaga sa pag-uulit dito. Ang tatalakayin ko lang dito ay ang mga tukoy na pagbabagong ginawa ko sa kanilang sample code upang maipakita ang 3 mga channel ng impormasyon sa temperatura, na nakuha mula sa lugar ng data ng Bluetooth na gasgas.

Matapos mong mai-install ang EvoThings Workbench, mahahanap mo ang halimbawa ng Lightblue Bean dito (sa mga computer ng Windows 64 bit):

ThisPC / Documents / EvothingsStudio_Win64_1. XX / Mga halimbawa / Lightblue-bean-basic / app

Maaari mong palitan ang mga file ng index.html at app.js ng mga file na nakakabit sa hakbang na ito. Ang mga pagbabagong nagawa sa jacascript file ay kinukuha ang 3 mga halaga ng temperatura ng lumulutang point na bumubuo sa lugar ng data ng gasgas, at pataas sa panloob na HTML ng mga bagong elemento na nilikha sa HTML file.

pagpapaandar saDataReadSuccess (data) {

var temperaturaData = bagong Float32Array (data);

var bytes = bagong Uint8Array (data);

temperatura ng var = temperaturaData [0];

console.log ('Basahin ang temperatura:' + temperatura + 'C');

document.getElementById ('temperaturaAmbient'). panloobHTML = temperaturaData [0].toFixed (2) + "C °";

document.getElementById ('temperatura1'). panloobHTML = temperaturaData [1].toFixed (2) + "C °";

document.getElementById ('temperatura2'). panloobHTML = temperaturaData [2].toFixed (2) + "C °";

}

Hakbang 6: Enclosure

Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure

Ang enclosure ay isang simpleng naka-print na kahon sa 3D. Gumamit ako ng Cubify Design upang likhain ang disenyo ngunit ang anumang 3D modeling program ay sapat na. Ang STL file ay nakakabit para sa iyo upang mai-print ang iyong sarili. Kung kailangan kong gawin ito, gagawin kong medyo makapal ang mga pader kaysa sa ngayon, at babaguhin ang disenyo ng clip na humahawak sa board sa lugar. Napakadali na masisira ang mga clip dahil sa stress na nasa smae plane habang ang mga naka-print na layer ng 3D, na kung saan ay ang pinakamahina na oryentasyon para sa mga naka-print na bahagi ng 3D. Napakapayat ng mga pader kaya't ang mekanismo ng snap ay bahagyang sa mahinang panig. Gumamit ako ng malinaw na tape upang mapanatili ang kahon na sarado dahil ang mga dingding ay masyadong manipis - hindi matikas ngunit gumagana ito!

Hakbang 7: Mga Setting ng PC at Konfigurasi ng Bluetooth

Mga Setting ng PC at Konfigurasi ng Bluetooth
Mga Setting ng PC at Konfigurasi ng Bluetooth

Ang cycle ng pagbuo at pag-upload ng firmware para sa Bean ay tapos na sa Bluetooth. Maaari lamang magkaroon ng isang aktibong koneksyon sa Bluetooth nang paisa-isa. Ang Bean Loader ay magagamit mula sa Windows App Store

Ang pangunahing siklo na ginagamit ko upang ipares at kumonekta (at ayusin at ikonekta muli kung nagkamali ang mga bagay) ay ang mga sumusunod: Mula sa Control Panel; / Mga setting ng Bluetooth, dapat mong makita ang sumusunod na screen:

Larawan
Larawan

Sa paglaon ang mga bintana ay mag-uulat ng "Handa nang ipares". Sa puntong ito maaari kang mag-click sa icon ng Bean at pagkatapos ng ilang segundo, hihimokin ka ng Windows na magpasok ng isang passcode. Ang default passcode para sa bean ay 00000

Larawan
Larawan

Kung ang passcode ay naipasok nang tama, ipapakita ng Windows na ang aparato ay maayos na konektado. Dapat ay nasa ganitong estado ka upang ma-program ang Bean.

Larawan
Larawan

Kapag nakapares ka at nakakonekta, gamitin ang Bean Loader upang mai-load ang firmware sa bean. Natagpuan ko ito na mabibigo nang mas madalas kaysa sa hindi at ito ay mukhang nauugnay sa kalapitan sa aking computer. Gawin ang Bean sa paligid hanggang sa makita mo ang isang lokasyon na gagana para sa iyo. May mga oras na walang gagana at imumungkahi ng Bean Loader na muling ipares ang aparato. Karaniwan na dumadaan muli sa proseso ng pagpapares ay ibabalik ang koneksyon. Dapat mong "Alisin ang Device" bago muling ipares.

Larawan
Larawan

Ang pagpapatakbo ng Bean Loader ay deretsahan at mahusay na dokumentado sa kanilang site. Sa bukas na Bean Loader, piliin ang item ng menu na "Program" upang buksan ang isang dialog upang mag-browse sa Hex file na ibinigay sa firmware na hakbang na ito na itinuturo.

Larawan
Larawan

Kapag na-load ang firmware, isara ang Bean Loader upang ang koneksyon sa pagitan ng Bean Loader at ng Bean hardware ay nahulog. Maaari ka lamang magkaroon ng isang koneksyon nang paisa-isa. Ngayon buksan ang EvoThings workbench at simulan ang EvoThings client sa smartphone o tablet.

Larawan
Larawan

Kapag na-click mo ang pindutang "Run", awtomatikong mai-load ng client ng EvoThings ang pahina ng html para sa thermometer. I-click ang pindutan ng Connect upang kumonekta sa Bean at dapat mong makita ang ipinakitang temperatura. Tagumpay!

Hakbang 8: Konklusyon

Konklusyon
Konklusyon

Kung ang lahat ay naitayo at na-configure nang tama, dapat kang magkaroon ng isang gumaganang system na magpapahintulot sa iyo na subaybayan ang mga temperatura sa 2 probe, pati na rin subaybayan ang temperatura ng sensor ng BMA250 sa Bean development board. Marami pang maaaring magawa sa EvoThings - Napakamot lang ako sa ibabaw kaya't iniiwan ko ang eksperimentong ito para sa iyo! Salamat sa pagbabasa! Kung nagkamali ang mga bagay, mag-iwan lamang ng mga komento at tutulong ako kung saan ako makakaya.

Inirerekumendang: