Мазмұны:

Bluetooth термометрі: 8 қадам
Bluetooth термометрі: 8 қадам

Бейне: Bluetooth термометрі: 8 қадам

Бейне: Bluetooth термометрі: 8 қадам
Бейне: Обзор КЛАССНОГО Кулинарного Bluetooth Термометра Inkbird IBT-6X 2024, Шілде
Anonim
Bluetooth термометрі
Bluetooth термометрі
Bluetooth термометрі
Bluetooth термометрі
Bluetooth термометрі
Bluetooth термометрі

Бұл нұсқаулық 100K термисторлық зондтарды, Bluetooth модулін және смартфонды қолдана отырып, қарапайым 2 каналды термометрдің жасалуын егжей -тегжейлі түсіндіреді. Bluetooth модулі - бұл LightBlue Bean, ол модульді бағдарламалау үшін таныс Arduino ортасын қолдана отырып, Bluetooth Low Energy қосымшасын дамытуды жеңілдетуге арналған.

Bluetooth модулінен температураны iPhone -ға қалай алуға болатынын білуге тырысып, біраз уақыттан кейін мен EvoThings деп аталатын қосымшаны таптым, бұл жобаның қосымшаларды әзірлеу жағын айтарлықтай жеңілдетті. Менде iPhone қосымшасын әзірлеу мүмкіндігін шектейтін Mac жоқ (мен білемін, таңқаларлық!) Және iOS пен Android үшін кросс -платформаны дамытуды қолдайтын Microsoft -тың жаңа құралдарын шешуге уақытым жоқ. Мен HTML5 стиліндегі бірнеше қосымшалар жасадым, бірақ Bluetooth деректерін алудың жалғыз жолы - Кордова үшін плагиндер, бұл менің уақытымнан гөрі қиын сияқты. EvoThings Bluetooth-дан iPhone-ға дейінгі жұмысты торт алаңына айналдырған өте қарапайым құралдар жиынтығын ұсынады. Ал маған торт ұнайды!

Жалпы мен Lightblue Bean мен EvoThings комбинациясын аз уақытты инвестициялаумен өте практикалық шешім деп таптым.

1 -қадам: Сізге қажет нәрселер

Сізге қажет нәрселер
Сізге қажет нәрселер
Сізге қажет нәрселер
Сізге қажет нәрселер
Сізге қажет нәрселер
Сізге қажет нәрселер

Мен бір арна үшін коммерциялық қол жетімді термисторлық зондты қолдандым, себебі мен термисторды сұйықтыққа батыру үшін тығыздалғанын қалаймын. Екінші арна үшін мен термистордан, 26 калибрлі сымнан және 3,5 мм құлаққап ашасынан негізгі зонд жасадым. Сіз кез келген термисторды қолдана аласыз және мысалы, термиялық өткізгіш эпоксидтен және пластикалық сабақтардан/кофе араластырғыштардан зонд жасай аласыз. Бұдан кейін мен қолданған нәрсе - бұл рецепт бойынша тізім емес!

Аппараттық құрал

  • 1 x 100K термисторлық зондтар. Extech TP890 моделі. Олар әдетте ebay мен Amazon -да қол жетімді.
  • Extech зондтарындағы 2,5 мм штепсельге сәйкес келетін 2 x 2,5 мм стерео ұялары. Мен ескі компьютерден 3,5 мм ұяларды алып тастадым, сондықтан мен Extech зондының ашасын ажыратып, орнына 3,5 мм штепсельдік ұштарды қойдым. Сіз бұған жол бермеуіңіз керек, тек 2,5 мм ұяшықтарды қолданыңыз немесе 2,5 мм-3,5 мм стерео адаптер ашасын қолданыңыз.
  • 100K термисторлы бисер плюс 26 калибрлі сым плюс 3,5 мм стерео штепсель, егер сіз өзіңіз зонд жасағыңыз келсе. Олай болмаса, екінші Extech зондын сатып алыңыз!
  • 1 x Lightblue Bean дизайны арқылы соққы арқылы. Бұл Bluetooth модулі Arduino әзірлеу тақтасы ретінде бағдарламаланатын. Модуль өте қымбат, бірақ ол көптеген күрделілікті жояды. Олар Kickstarter науқанын жүргізіп жатыр, ол келесі буын құрылғысы үшін қарастырылуы мүмкін.
  • Термисторлар үшін эталондық кернеуді бөлу үшін қолданылатын 2 x 1/4W 100K резисторлары. Мен 5% резисторды қолдандым, бірақ жоғары төзімділік резисторлары әдетте температураға сезімтал емес және жақсы өнімділікті қамтамасыз етеді. 1% - бұл жақсы төзімділік мәні.
  • Дәнекерлеуіш пен дәнекерлеуіш
  • Сым кескіштер және ұзындығы 26 немесе 28 калибрлі сым.

Бағдарламалық қамтамасыз ету және микробағдарлама

  • Bean бағдарламалау үшін сізге Bean Loader қосымшасы қажет болады. Мен терезелерді қолдандым, сондықтан барлық сілтемелер Windows үшін арнайы болады. Bean -ды бастау үшін сізге Arduino -дың ерекшеліктерін қосқанда LightBlueBean сайтынан қол жетімді.
  • Смартфонға арналған EvoThings жұмыс үстелін мына жерден алуға болады. Барлық «бастау» құжаттары сол жерде бар. Бұл өте жақсы құжатталған.

2 -қадам: Схема мен электр құрылысы

Электр тізбегі мен құрылысы
Электр тізбегі мен құрылысы
Электр тізбегі мен құрылысы
Электр тізбегі мен құрылысы
Электр тізбегі мен құрылысы
Электр тізбегі мен құрылысы

Термистор - бұл температураға тәуелді резистор. Extech зондының теріс температуралық коэффициенті бар, яғни температура жоғарылаған сайын қарсылық төмендейді. Қарсылық мәні қарапайым тізбектің көмегімен өлшенеді, ол бір аяғында термистормен кернеу бөлгішті, ал екінші аяғында 100К тұрақты резисторды жасайды. Бөлінген кернеу Bean -дегі аналогтық кіріс каналына беріледі және микробағдарламада сынама алады.

Схеманы құру үшін мен ескі сынған компьютерден 3,5 мм аудио ұяларды тазарттым. Зондтың ұшына және бірінші жолағына сәйкес келетін ПХД -дағы екі нүктені анықтау үшін мультиметр қолданылды. Сымдар суреттерде көрсетілгендей аудио ұяшықтарға және бұршаққа дәнекерленген. Аудио ұяшықтар екі жақты таспамен бұршақ прототипі аймағына жабыстырылды. Мен қолданған таспа - бұл автокөлікке арналған жапсырма таспа, ол сүйреу бөліктері арасында өте берік байланыс жасайды.

3 -қадам: Зондтық коэффициенттер

Зонд коэффициенттері
Зонд коэффициенттері

Extech зондының кең таралуы сияқты, мен таба алатын жерде Стейнхарт-Харт коэффициенттері жарияланбайды. Бақытымызға орай, сіз ұсынған 3 температура коэффициенттерін анықтайтын онлайн -калькулятор бар.

Қандай фольга - мен коэффициенттерге жетудің негізгі процедурасы. Стиль бойынша ешқандай ұпай жинай алмаймын, бірақ +/- 1 градус дәл айтуға жеткілікті жақсы (менің қолымнан келгенше) …. анықтамалық термометр мен мультиметрдің дәлдігіне байланысты! Менің мультиметрім-бұл көп жылдар бұрын ақша тығыз болған кезде сатып алған аты жоқ арзан қондырғы. Ақша әлі де тығыз және ол жұмыс істейді!

Калибрлеу үшін бізге 3 температурадан үш қарсылық көрсеткіші қажет.

  • Мұзды бір стақан суға мұз қосып, температура тұрақталғанша араластыру арқылы. Тұрақтандырылғаннан кейін зондтың қарсылығын жазу үшін мультиметр мен температураны тіркеу үшін эталондық термометрді қолданыңыз.
  • Енді зондты бөлме температурасында бір стақан суға қойыңыз, зондты судың температурасымен теңестіруге рұқсат етіңіз және температураны эталондық термометрге және қарсылық көрсеткішін мультиметрге жазыңыз.
  • Зондты бір стақан ыстық суға салып, қарсылықты жазыңыз.

    Температура Қарсылық
    5.6 218 мың
    21.0 97,1 мың
    38.6 43.2

Бұл процесс тауық пен жұмыртқаға қатысты жағдай, себебі температураны тіркеу үшін калибрленген термометр мен қарсылықты жазу үшін калибрленген мультиметр қажет. Бұл жердегі қателер температураны өлшеу кезінде дәлсіздікке әкеледі, бірақ менің мақсатым үшін +/- 1 градус- бұл маған қажет.

Бұл жазылған мәндерді веб -калькуляторға қосу мыналарды береді:

Кескін
Кескін

Стандартты қарсылық мәнінен температураны төмендету үшін коэффициенттер (А, В және С) Стенхарт-Харт теңдеуіне қосылады. Теңдеу ретінде анықталады (дереккөз: wikipedia.com)

Кескін
Кескін

Мұндағы T = Кельвиндегі температура

A, B және C-біз анықтауға тырысатын Steinhart-Hart теңдеуінің коэффициенттері R-температурадағы қарсылық.

Микробағдарлама бұл есептеулерді орындайды.

4 -қадам: микробағдарлама

Микробағдарлама
Микробағдарлама
Микробағдарлама
Микробағдарлама

Термистордың кернеулері үлгіден алынады, температураға түрлендіріледі және Bluetooth арқылы смартфонда жұмыс істейтін EvoThings қосымшасына жіберіледі.

Кернеуді Bean ішіндегі кедергі мәніне түрлендіру үшін қарапайым сызықтық теңдеу қолданылады. Теңдеудің шығарылуы кескін түрінде берілген. Таңдалған мәнді кернеуге айналдырудың орнына, ADC де, кіріс кернеуі де батареяның бірдей кернеуіне сілтеме жасайтындықтан, біз кернеудің орнына ADC мәнін қолдана аламыз. 10bit Bean ADC үшін батареяның толық кернеуі ADC мәніне 1023 әкеледі, сондықтан біз бұл мәнді Vbat ретінде қолданамыз. Бөлгіш резистордың нақты мәні маңызды мәселе болып табылады. 100K бөлгіш резистордың нақты мәнін өлшеңіз және резистордың төзімділігіне байланысты қажетсіз қате көзін болдырмау үшін теңдеудегі өлшенген мәнді қолданыңыз.

Қарсылық мәні есептелгеннен кейін, қарсылық мәні Стейнхарт-Харт теңдеуінің көмегімен температураға айналады. Бұл теңдеу Википедияда егжей -тегжейлі сипатталған.

Бізде 2 зонд болғандықтан, зондтың функционалдылығын C ++ класына инкапсуляциялаудың мағынасы бар.

Класс Стейнхарт-Харт теңдеуінің коэффициенттерін, бөлгіштің номиналды қарсыласу мәнін және термистор қосылған аналогтық портты қамтиды. Жалғыз әдіс, температура (), ADC мәнін қарсылық мәніне түрлендіреді, содан кейін Кельвиндегі температураны анықтау үшін Стейнхарт-Харт теңдеуін қолданады. Қайтарылатын мән Цельсий бойынша мәнді қамтамасыз ету үшін есептелген температурадан абсолютті нөлді (273,15K) шегереді.

Lightblue Bean -дің күші Bluetooth -дың барлық функциялары Bluetooth жадындағы деректердің сызылған аймағына сынамаланған температура мәндерін жазатын кодтың 1 жолында енгізілгендігінде көрінеді.

Bean.setScratchData (TEMPERATURE_SCRATCH_IDX, (uint8_t*) & температура [0], 12);

Әрбір таңдалған температура мәні 4 байтты алатын қалқымалы түрде көрсетіледі. Деректер аймағы 20 байтты сыйдыра алады. Біз олардың 12 -сін ғана қолданамыз. Деректерді сызудың 5 аймағы бар, сондықтан сіз деректерді пайдаланып 100 байтқа дейін деректерді жібере аласыз.

Оқиғалардың негізгі ағымы:

  • Бізде Bluetooth байланысы бар -жоғын тексеріңіз
  • Олай болса, температураны іріктеп алыңыз және оларды сызаттардың деректер аймағына жазыңыз
  • 200 м ұйықтаңыз және циклді қайталаңыз.

Егер қосылмаса, микробағдарлама ATMEGA328P чипін ұзақ уақыт ұйықтатады. Ұйқы циклы қуатты үнемдеу үшін маңызды. ATMEGA328P чипі төмен қуат режиміне өтеді және LBM313 Bluetooth модулі үзілгенше сол жерде қалады. LBM313 ATMEGA328P ұйқы кезеңінің соңында немесе Bean -ге Bluetooth қосылымы қосылған кезде ояту үшін үзіліс жасайды. WakeOnConnect функциясы орнату кезінде Bean.enableWakeOnConnect (шын) деп нақты шақыру арқылы қосылады.

Микробағдарлама кез келген BLE клиенттік қосымшасымен жұмыс істейтінін ескеру қажет. Клиентке температура байттарын нөлдік деректер қорынан алып тастау және оларды көрсету немесе өңдеу үшін өзгермелі нүкте сандарына қайта жинау қажет. Мен үшін ең қарапайым клиенттік бағдарлама - EvoThings пайдалану.

5 -қадам: смартфон қосымшасы

Смартфон қосымшасы
Смартфон қосымшасы

Evo Things үлгі қолданбасы 3 каналды температураны өлшеу қондырғысын аяқтау үшін қосымша дисплей элементтерін қосу үшін аз ғана күш -жігермен қажет нәрсеге өте жақын.

EvoThings платформасының орнатылуы мен негізгі жұмысы Evo Things веб -сайтында өте жақсы құжатталған, сондықтан бұл жерде қайталаудың еш маңызы жоқ. Бұл жерде мен Bluetooth кодтау деректер аймағынан алынған температура туралы ақпараттың 3 арнасын көрсету үшін олардың үлгі кодына енгізген нақты өзгертулерді қарастырамын.

EvoThings Workbench орнатқаннан кейін Lightblue Bean үлгісін мына жерден табасыз (Windows 64 биттік компьютерлерде):

Бұл PC / Documents / EvothingsStudio_Win64_1. XX / Мысалдар / Lightblue-bean-basic / қолданбасы

Index.html және app.js файлдарын осы қадамға бекітілген файлдармен ауыстыруға болады. Жакаскрипт файлына енгізілген өзгертулер температураның 3 өзгермелі мәнін сызып тастайтын деректер аймағын құрайды және HTML файлында жасалған жаңа элементтердің ішкі HTML деңгейін жоғарылатады.

onDataReadSuccess функциясы (деректер) {

var temperaturData = жаңа Float32Array (деректер);

var байт = жаңа Uint8Array (деректер);

var temperatur = temperaturData [0];

console.log ('Температура оқылады:' + температура + 'С');

document.getElementById ('temperatureAmbient'). innerHTML = temperatureData [0].toFixed (2) + «C °»;

document.getElementById ('температура1'). innerHTML = temperatureData [1].toFixed (2) + «C °»;

document.getElementById ('temperature2'). innerHTML = temperatureData [2].toFixed (2) + «C °»;

}

6 -қадам: қоршау

Қоршау
Қоршау
Қоршау
Қоршау
Қоршау
Қоршау
Қоршау
Қоршау

Корпус - бұл 3D басып шығарылған қарапайым қорап. Мен дизайнды жасау үшін Cubify Design қолдандым, бірақ кез келген 3D модельдеу бағдарламасы жеткілікті. STL файлы өзіңіздің жеке файлыңызды басып шығару үшін бекітілген. Егер мен мұны істеуім керек болса, мен қабырғаларды қазіргіден сәл қалың етіп, тақтаны орнында ұстайтын қысқыш дизайнын өзгертер едім. Клиптер өте оңай бұзылады, себебі кернеу 3D басылған қабаттардың көлемді жазықтығында болғандықтан, бұл 3D басып шығарылған бөлшектер үшін ең әлсіз бағыт. Қабырғалар өте жұқа, сондықтан ілінісу механизмі әлсіз жақта. Мен қорапты жабық ұстау үшін мөлдір таспаны қолдандым, себебі қабырғалары тым жұқа - талғампаз емес, бірақ ол жұмыс істейді!

7 -қадам: ДК параметрлері және Bluetooth конфигурациясы

ДК параметрлері мен Bluetooth конфигурациясы
ДК параметрлері мен Bluetooth конфигурациясы

Bean үшін микробағдарламаны құру және жүктеу циклі Bluetooth арқылы жүзеге асады. Бір уақытта бір ғана белсенді Bluetooth байланысы болуы мүмкін. Bean Loader Windows App Store дүкенінде қол жетімді

Мен жұптастыру мен қосылу үшін пайдаланатын негізгі цикл (және бірдеңе дұрыс болмай қалса жөндеу мен қайта қосылу) келесідей: Басқару тақтасынан;/Bluetooth параметрлерінде сіз келесі экранды көресіз:

Кескін
Кескін

Ақыр соңында терезелерде «Жұптасуға дайын» туралы хабарлама пайда болады. Осы кезде сіз Bean белгішесін нұқуға болады және бірнеше секундтан кейін Windows сізге рұқсат кодын енгізуді ұсынады. Бұршақ үшін әдепкі рұқсат коды - 00000

Кескін
Кескін

Егер рұқсат коды дұрыс енгізілсе, Windows құрылғының дұрыс қосылғанын көрсетеді. Бұршақты бағдарламалау үшін сіз осы күйде болуыңыз керек.

Кескін
Кескін

Сіз жұптасқаннан және қосылғаннан кейін, микробағдарламаны бұршаққа жүктеу үшін Bean Loader бағдарламасын пайдаланыңыз. Мен мұны жиі сәтсіздікке ұшыраттым және бұл менің компьютеріме жақындыққа байланысты болды. Сізге қолайлы жерді тапқанша бұршақты жылжытыңыз. Кейде ештеңе жұмыс істемейтін уақыт болады және Bean Loader құрылғыны қайта жұптастыруды ұсынады. Әдетте жұптау процесі қайтадан өтсе, байланыс қалпына келеді. Қайта жұптау алдында «Құрылғыны алып тастау» керек.

Кескін
Кескін

Bean Loader операциясы қарапайым және олардың сайтында жақсы құжатталған. Bean Loader ашық болғанда, осы нұсқаулықтың микробағдарламалық қадамында берілген Hex файлын қарау үшін диалогты ашу үшін «Бағдарлама» мәзірін таңдаңыз.

Кескін
Кескін

Микробағдарлама жүктелгеннен кейін, Bean Loader мен Bean аппаратурасы арасындағы байланыс үзілетін етіп Bean Loader жабыңыз. Бір уақытта тек бір ғана байланыс орнатуға болады. Енді EvoThings жұмыс үстелін ашып, смартфонда немесе планшетте EvoThings клиентін іске қосыңыз.

Кескін
Кескін

«Іске қосу» түймесін басқанда, EvoThings клиенті термометр үшін html бетін автоматты түрде жүктейді. Бұршаққа қосылу үшін Қосылу түймесін басыңыз, сонда сіз температураны көресіз. Жетістік!

8 -қадам: Қорытынды

Қорытынды
Қорытынды

Егер бәрі дұрыс салынған және конфигурацияланған болса, сізде 2 зондпен температураны бақылауға, сондай -ақ Bean әзірлеу тақтасындағы BMA250 сенсорының температурасын бақылауға мүмкіндік беретін жұмыс жүйесі болуы керек. EvoThings көмегімен көп нәрсені жасауға болады - мен бетті тырнап алдым, сондықтан мен бұл экспериментті сізге қалдырдым! Оқығаныңыз үшін рахмет! Егер бірдеңе дұрыс болмаса, түсініктеме қалдырыңыз, мен қолымнан келгенше көмектесемін.

Ұсынылған: