Мазмұны:

Ашық бастапқы деректерді тіркеуші (OPENSDL): 5 қадам (суреттермен)
Ашық бастапқы деректерді тіркеуші (OPENSDL): 5 қадам (суреттермен)

Бейне: Ашық бастапқы деректерді тіркеуші (OPENSDL): 5 қадам (суреттермен)

Бейне: Ашық бастапқы деректерді тіркеуші (OPENSDL): 5 қадам (суреттермен)
Бейне: Деректер типтері. Excel - Автотолтыру 7 класс 2024, Шілде
Anonim
Ашық бастапқы деректерді тіркеуші (OPENSDL)
Ашық бастапқы деректерді тіркеуші (OPENSDL)
Ашық бастапқы деректерді тіркеуші (OPENSDL)
Ашық бастапқы деректерді тіркеуші (OPENSDL)
Ашық бастапқы деректерді тіркеуші (OPENSDL)
Ашық бастапқы деректерді тіркеуші (OPENSDL)

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

Нәтижесінде мүдделі тараптарға қоршаған ортаның көптеген параметрлерін тіркеу арқылы өнімділікті бағалау үшін қажетті өлшемдерді тиімді және қолжетімді түрде жүргізуге мүмкіндік беретін теңшелген және қол жетімді жүйе пайда болады. Open Source Data Logger (OPENSDL) HOBO U12-012 деректер тіркеушісімен салыстырылды. Бұл коммерциялық қол жетімді жүйе 3 параметрді өлшей алады, атап айтқанда температура, RH, жарықтандыру және басқа сенсорлардың бір сыртқы арнасы. Кез келген басқа параметрді өлшеу үшін басқа сезімтал құрылғы қажет болады. Өлшелетін параметрлердің сипаттамалары меншікті аппараттық және бағдарламалық жасақтамамен шектеледі, бұл жүйені нақты дәлдікпен белгілі бір параметрлерді өлшеуге шектейді. HOBO U12-012 бағасы шамамен 13 000 фунт стерлингті (185 АҚШ доллары) құрайды, ал OPENSDL ₹ 4 605 (66 АҚШ доллары) тұрады, бұл коммерциялық әріптестің үштен бір бөлігін құрайды.

Arduino Uno көмегімен температураны, RH және жарық деңгейін (жарықтылықты) бақылауға арналған ашық бастапқы деректерді тіркеуші - бұл OPENSDL деректерді тіркеушіні жасауға арналған DIY.

Қажетті уақыт: дәнекерлеуге 2-3 сағат, қаптауға 5 сағат (4 сағат - 3D басып шығару және лазермен кесу үшін 1 сағат) Қажетті дағдылар: Дәнекерлеу, бағдарламалау мен электроникада білімі аз немесе мүлде жоқ

Қажетті бөлшектер:

  1. Arduino Uno кабельмен
  2. Мәліметтерді тіркеуші қалқан
  3. CR1220 монеталық батарея
  4. BME280 температуралық ылғалдылық қысымы датчигінің сыну тақтасы
  5. TSL2561 жарық сенсорының ажырату тақтасы
  6. ESP01-8266 Wi-Fi модулі
  7. RJ-9 ерлер мен әйелдер қосқышы
  8. Arduino үшін қалқанды жинау тақырыптары
  9. SD жад картасы (кез келген сыйымдылық)
  10. Векторлық тақта (26 x 18 тесік)
  11. 8 АА батареялары Батарея ұстағыш

Қажетті құралдар:

  • Пісіру үтігі (35W)
  • Дәнекерлеу сымы
  • Сым кескіш
  • Кримпер құралы
  • Мультиметр

Қажетті бағдарламалық қамтамасыз ету: Arduino IDE (1.0.5 немесе одан жоғары)

Arduino кітапханалары пайдаланды:

  • Сым кітапханасы
  • SparkFun TSL2561 кітапханасы
  • Кактус BME280 мультисенсорлық кітапханасы
  • SD карталар кітапханасы
  • SPI кітапханасы
  • RTC кітапханасы

Ескертпе: BME280 сенсоры - бұл Bosch компаниясының өте дәл, температурасы, салыстырмалы ылғалдылығы мен қысым сенсоры. Сол сияқты, DS1307 - бұл Maxim -дің нақты уақыт сағаты, ал TSL2561 - дәл жарық сенсоры. Бұл өнімдерге неғұрлым арзан және дәл емес балама нұсқалар бар, бірақ бұл нұсқаулық жоғары дәлдік пен дәлдікті қажет ететін өнімділікті бағалауға және құрылысты бақылауға арналған қосымшаларды жинауға қызығушылық танытқан адамдарға арналған. Бұл кез келген нақты жабдықты орнату мен бағдарламалық қамтамасыз етуді орнату (кітапханалар, бағдарлама коды) тек көрсетілген өнімдерге арналғанын білдіреді.

1 -қадам: құрастыру

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Деректерді тіркеу қалқанын Arduino Uno тақтасының үстіне оңай жинауға болады. Бұл қалқан деректерді тіркеу мүмкіндігін береді (уақытты сақтау және деректерді сақтау). Қалқанды жинап қою керек болды. CR1220 монета ұялы батареясы Arduino сөндірілген кезде де сағатты жұмыс істеуі үшін берілген дөңгелек ұяға енгізілуі керек еді. SD жад картасы берілген борттық картаның ұясына салынуы керек. Бірегей реттелген қалқан RJ-9 коннекторының аналық түйреуіштері мен Arduino қалқанының жиналмалы тақырыптарын қолдану арқылы жасалды. Тиісті тақырыптар қалқан Arduino тақтасына жақсы сәйкес келетіндіктен, тиісті жерлерде дәнекерленген. Arduino бір жағында 18 түйреуіш, екінші жағында 14 түйреуіш бар. Бірдей түйреуіш саны бар тақырыптар Arduino -дағыдай бірдей қашықтықта (18 істікшеден бөлек) қолданылды. Тақырыптарға жақын қалған қосымша орын RJ-9 коннекторын орналастыру үшін пайдаланылды.

Тақырыптар қажетті түйреуіштерді пайдаланудың ең жақсы тәсілі болды, сонымен қатар оларды басқа компоненттерге қолдануға мүмкіндік берді. Қолданылатын сенсорлар I2C байланыс протоколына сәйкес келеді, ол Arduino -дан 4 түйреуішті қажет етеді, атап айтқанда: SDA (A4 түрінде де бар), SCL (A5 түрінде де бар), 3.3V & GND. RJ-9 коннекторынан шығатын төрт сым осы төрт түйреуіш түйреуішке дәнекерленген. Қажетті RJ-9 қосқыштарының саны сенсорлардың санына байланысты. Бұл жобада 3 RJ-9 қосқышы қолданылды (екеуі BME280 үшін және біреуі TSL2561 үшін). RJ-9 коннекторынан шығатын төрт сым түспен кодталған және әр түсті сым барлық RJ-9 коннекторлары үшін арнайы түйреуіш болып тағайындалған. Түс коды әр түрлі RJ-9 бөліктерінде өзгеруі мүмкін екенін ескеру қажет. Бұл жағдайда коннектордағы сымның орналасуын ескеру қажет. RJ-9 коннекторы дәнекерленгеннен кейін векторлық тақтаға Feviqwik көмегімен жабысады, сондықтан ол бетіне бекітіледі. Бұл қосылуларды мультиметрдегі үздіксіздік режимі арқылы тексеруге болады. Үздіксіз режимде мультиметр нөлдік қарсылықты көрсетуі керек. Мультиметрдің зондтарының бірін дәнекерленген түйреуішке, ал басқа зондты RJ-9 коннекторының ішіндегі түйреуішке қосыңыз. Мультиметр дыбыс шығаруы керек, бұл дәнекерлеу қосылыстары дұрыс екенін және қосылулар дұрыс жасалғанын білдіреді. Егер тон шығарылмаса, дәнекерлеу қосылыстарын тексеріңіз. Дәл осылай, сенсордың ажырату тақталарындағы бірдей саңылауларға қосылатын сымдары бар RJ-9 коннекторын дәнекерлеңіз, яғни A4, A5, 3.3V & GND. BME280 сенсоры екі I2C адрестерін қолдайды, яғни екі BME280 датчигін бір контроллерге бірден қосуға болады. Бұл кезде датчиктердің бірінің мекен -жайын сенсордағы дәнекерленген жастықшалар арқылы өзгерту керек. ESP-01 сымсыз қосылу чипі Arduino-мен келесі байланыстарды қажет етті.

ESP-01 --------- Arduino Uno

10 -------------------- САЛ

11 -------------------- RX

Vcc ---------------- CH_PD

Vcc ------------------- Vcc

GND ----------------- GND

Ескертпе:- Батареяның қызмет ету мерзімін жақсарту үшін Arduino Uno-дағы көптеген жарық диодтары алынып тасталды. Қуат индикаторы, RX және TX светодиодтары дәнекерлеу қосылыстарын қыздыру және жарықдиодты қысқышпен итеру арқылы жойылды.

2 -қадам: IDE мен кітапханаларды орнату

Кез келген бағдарламалауды бастамас бұрын Arduino IDE (Integrated Development Environment) жүктелуі керек. Бағдарламалау осы платформада жүргізілді. OPENSDL әр түрлі компоненттерімен өзара әрекеттесу үшін әр түрлі кітапханалар қажет болды. Берілген компоненттер үшін келесі кітапханалар пайдаланылды.

Компонент ------------------------------------------------- --------------Кітапхана

BME280 температурасы мен RH сенсоры -------------------------------- Cactus_io_BME280_I2C.h

Жарық сенсоры ------------------------------------------------ ---------------- SparkFun TSL2561.h

Нақты уақыттағы сағат ----------------------------------------------- ------------- RTClib.h

SD картасының ұясы ----------------------------------------------- ------------- SD.h

I2C байланысы ------------------------------------------------ ------------- Сым.сағ

ESP01-мен байланысу үшін бөлек кітапхана қажет емес, себебі Arduino-да жүктелген кодта сериялық мониторға жіберілетін AT командалары бар, сол жерден ESP-01 нұсқауларды қабылдайды. Негізінде, ESP01 жұмыс істейтін AT командалары сериялық мониторға шығарылады, олар ESP-01 енгізу командасы ретінде қабылданады. Бұл кітапханаларды орнату үшін оларды жүктегеннен кейін Arduino IDE бағдарламасын ашыңыз, Sketch -> Кітапхананы қосу -> Zip кітапханасын қосу тармағына өтіңіз және жүктелген кітапханаларды таңдаңыз.

3 -қадам: Жүйені бағдарламалау

Жүйені программалау
Жүйені программалау

OPENSDL бағдарламалау алдында Arduino -ны ноутбукке қосыңыз. Қосылғаннан кейін Tools -> Port тармағына өтіп, OPENSDL қосылған COM портын таңдаңыз. Сонымен қатар, Құралдар -> Тақталар астында Arduino Uno таңдалғанына көз жеткізіңіз.

OPENSDL 2 режимде жұмыс істеу үшін жасалған. Бірінші режимде ол SD картасындағы деректерді тіркеу қалқанында сақтайды. Екінші режимде ол Интернет арқылы ақпаратты ESP-01 Wi-Fi чипі арқылы веб-сайтқа жібереді. Екі режимге арналған бағдарлама екі түрлі. Бұл код жолдарын Arduino IDE редакторына тікелей көшіруге және қоюға болады және тікелей қолдануға болады. Кодқа кіргеннен кейін, біз өз қажеттіліктерімізге сәйкес бірнеше баптау жасауымыз керек:

  1. Тіркеу аралығын өзгерту үшін кодтың соңында кешіктіру мәнін (1000) қолмен өзгертіңіз. 1000 мәні интервалды миллисекундпен көрсетеді.
  2. MySensorData = SD.open («Logged01.csv», FILE_WRITE) деп аталатын код жолын өңдеңіз; және Logged01 қалаған файл атауының файл атауымен ауыстырыңыз. Файлдың кеңейтілуін файл атауынан кейін.csv кеңейтімін өзгерту арқылы өзгертуге болады.
  3. Негізгі/сілтеме сенсоры мен BME280 арасындағы корреляцияны табу арқылы қол жеткізілген калибрлеу теңдеуі әр сенсорға байланысты өзгереді. Бұл код жолын сенсорларды калибрлеу теңдеуімен ауыстырыңыз: Serial.print ((1.0533*t2) -2.2374)-әдепкі мекенжайы бар датчик үшін (0x77), мұнда t2-температура сенсорынан оқылатын мән.

OPENSDL екінші қол жетімді режимін бағдарламалау үшін бөлек бағдарлама қарастырылған, ол сымсыз жүйе. ESP-01 OPENSDL-ге No2 қадамда түсіндірілгендей қосылуларға сәйкес қосылуы керек. Қосылымдарды аяқтағаннан кейін Arduino -ны ноутбукке қосыңыз және Arduino -да бос эскизді жүктеңіз. ESP-01 жаңарту режиміне қойыңыз және микробағдарламаны соңғы қол жетімді жаңартуға жаңартыңыз. Жаңартудан кейін Arduino жүктеу жүктеушісін айналып өтетін 3.3V түйреуішіне Arduino қалпына келтіру түйреуішін қосқаныңызға көз жеткізіңіз.

4 -қадам: өндіріс

Жасау
Жасау
Жасау
Жасау
Жасау
Жасау

OPENSDL қоршауы эстетиканы қорғау және жақсарту үшін жасалды. Қаптамалар PLA материалының көмегімен 3D басып шығару арқылы жасалды, ал микроконтроллерге арналған корпус MDF парағын лазермен кесу және бөлшектерді желімдеу арқылы жасалды. 3D басып шығарылған модельдер SketchUp бағдарламалық жасақтамасының көмегімен жасалды, ал лазермен кесуге арналған 2D dxf сызбалары AutoCAD көмегімен жасалды.

3D басып шығару үшін SketchUp көмегімен жасалған STL файлдары Ultimaker Cura 3.2.1 бағдарламалық жасақтамасында ашылды және тексерілді. PLA материалының пайдаланылғанына және принтердің шүмегі 0,4 мм басып шығаруға арналғанына көз жеткізіңіз. 3D принтердің құрастыру тақтасы 3D басып шығарылған затты жабыстыру үшін желімді қажет етуі мүмкін. Бірақ басып шығару аяқталғаннан кейін, желім басылған зат пен құрылыс тақтасы арасында берік адгезия жасайды.

5 -қадам: код

Код (.ino файлдары) Arduino IDE бағдарламалық жасақтамасында жұмыс істеу үшін жасалған. Бұл код пен басқа мәліметтер үшін менің Github бетіме сілтеме.

github.com/arihant93/OPENSDL

Жоба бойынша сұрақтар қоюдан тартынбаңыз.

Рахмет.

Ұсынылған: