Мазмұны:

Arduino көмегімен қозғалысты анықтау жүйесін қалай құруға болады: 7 қадам
Arduino көмегімен қозғалысты анықтау жүйесін қалай құруға болады: 7 қадам

Бейне: Arduino көмегімен қозғалысты анықтау жүйесін қалай құруға болады: 7 қадам

Бейне: Arduino көмегімен қозғалысты анықтау жүйесін қалай құруға болады: 7 қадам
Бейне: Өлді деп жерлемек болған еді. Бірақ Алланың қалауымен тірілген Бала 2024, Шілде
Anonim
Arduino көмегімен қозғалысты анықтау жүйесін қалай құруға болады
Arduino көмегімен қозғалысты анықтау жүйесін қалай құруға болады

Arduino бағдарламаланған және Ubidots жүйесімен жұмыс істейтін Feat HUZZAH көмегімен қозғалыс пен қатысудың өндірістік есептегішін жасаңыз.

Ақылды үйлер мен ақылды өндірісте физикалық қозғалыстың тиімділігі мен қатысуды анықтау егде жастағы қоршаған ортаға көмектесу (AAL) шешімдерінен немесе MES -тің үлкен көлемін беретін өнімді санау жүйесінен бастап өте пайдалы болуы мүмкін. Қозғалыс пен болуды анықтаудың басқа қосымшаларына мыналар кіреді, бірақ олармен шектелмейді:

  1. Есік пен есікті автоматтандыру
  2. Бос орындарды белгілейтін тұрақ сенсорлары
  3. Резервуар деңгейін бақылау
  4. Ақылды үйлер мен жарық пен қауіпсіздікке арналған қондырғылар
  5. Конвейерлік желілерде агрегаттарды анықтау және санау
  6. Баспа өнімдерінде белгілерді анықтау
  7. Картоннан, пластмассадан және қағаздан қисайған сұйықтықты анықтау
  8. Қашықтықты анықтау
  9. Адамдардың есептегіштері

Қатысу мен қозғалысқа арналған көптеген қосымшалар болғанымен, сыйымдылық, индуктивті, фотоэлектрлік және ультрадыбыстық датчиктер сияқты деректерді жинауға арналған сенсорлар бірдей. Шығындарға, экологиялық жағдайларға және дәлдік талаптарына байланысты, қоршаған орта мен қолдану талаптарына сәйкес келетін жабдықты таңдау керек.

Бұл оқулық үшін біз нақты уақыттағы өндірістік есептегіш құруға назар аударамыз; қосымша конвейерде өтетін әрбір қондырғыны есептейді. Біз Arduino IDE көмегімен Feather HUZZAH ESP8266, ультрадыбыстық сенсорды және Ubidots бағдарламасын әзірлеу және IoT бақылау тақтасын көрсету үшін бағдарламалаймыз.

1 -қадам: талаптар

  1. HUZZAH қауырсыны ESP8266MB7389-100
  2. Ультрадыбыстық сенсор
  3. Arduino IDE 1.8.2 немесе одан жоғары
  4. Ubidots тіркелгісі немесе STEM лицензиясы

2 -қадам: Орнату

  • I Жабдықты орнату
  • II. Микробағдарламаны орнату
  • III. Ubidots қосымшаларын әзірлеу (оқиғалар, айнымалылар және бақылау тақталары)

3 -қадам: Жабдықты орнату

Жабдықты орнату
Жабдықты орнату
Жабдықты орнату
Жабдықты орнату

Ультрадыбыстық датчик MB7389-100-IPv67 рейтингі арқасында қиын ауа райы жағдайында кең ауқымды және аз қуатты тұтыну талаптары бар өнеркәсіптік қосымшалар үшін арзан опция.

Жұмысты бастау үшін ультрадыбыстық сенсорды Feather HUZZAH ESP8266 құрылғысына бекіту үшін төмендегі диаграмманы көрсетіңіз.

ЕСКЕРТПЕ: сенсордың көрсеткіші аналогты немесе PWM ретінде қабылданады; төменде біз PWM оқуын орнатуды түсіндіреміз, қосымша ақпарат алу үшін жоғарыда көрсетілген мысалдарды қараңыз.

[Қосымша] шаңнан, судан және басқа да қауіпті экологиялық факторлардан қорғау үшін микроконтроллер мен датчиктерді IP67 корпусының ішіне орналастырыңыз. Стандартты корпус жоғарыдағы фотосуреттерде көрсетілгенге ұқсас.

4 -қадам: микробағдарламаны орнату

Микробағдарламаны орнату
Микробағдарламаны орнату
Микробағдарламаны орнату
Микробағдарламаны орнату

Алдымен Arduino IDE -ге Feather Huzzah орнатып, кодты құрастыру керек. Қарапайым жыпылықтайтын тест арқылы бұл орнатуды тексеруді ұмытпаңыз. Feather құрылғысын қосу туралы қосымша ақпарат алу үшін осы пайдалы жабдықты орнату нұсқаулығын қараңыз.

Сенсорлық мәліметтерді Ubidots IoT Development Platform -ға жіберу үшін төмендегі кодты Arduino IDE -ге көшіріп, қойыңыз. Кодта көрсетілген жерде Wi-Fi желісінің атауын, құпия сөзін және Ubidots есептік жазбаңызды тағайындауды ұмытпаңыз.

/******************************** Кітапханалар кіреді *************** **************** /#қосу /****************************** ** Тұрақтылар мен нысандар ***************************** //*Ubidots*/const char*SSID_NAME = «xxxxxxxx»; // Мұнда SSID атауын қосыңыз char* SSID_PASS = «xxxxxxxx»; // Мұнда пароліңізді енгізіңіз char* TOKEN = «Assig_your_ubidots_token»; // Мұнда TOKENconst char* DEVICE_LABEL = «motion-control» қойыңыз; // Сіздің құрылғыңыздың белгісі charcon* VARIABLE_LABEL = «қашықтық»; // Сіздің айнымалы labelconst char* USER_AGENT = «ESP8266»; const char* VERSION = «1.0»; const char* HTTPSERVER = «industrial.api.ubidots.com»; // Ubidots Business пайдаланушылары // const char* HTTPSERVER = « things.ubidots.com »; // Ubidots білім беру пайдаланушылары HTTPPORT = 80;/ * Ультрадыбыстық сенсор */const int pwPin1 = 5; // Сенсор қосылған PWM түйреуішіWiFiClient clientUbi;/****************************** Қосымша функциялар *** **************************** // ** @arg айнымалы денесінің ұзындығын char @return dataL түрінің денесін алады */int dataLen айнымалысының ұзындығы (char* айнымалы) {uint8_t dataLen = 0; for (int i = 0; i қашықтық / 25.4* / жүзу қашықтығы = pulseIn (pwPin1, HIGH); sendToUbidots (DEVICE_LABEL, VARIABLE_LABEL, қашықтық); кешіктіру (1000);} void sendToUbidots (const char* device_label, const char* айнымалы_абель, float sensor_value) {char * body = (char *) malloc (sizeof (char) * 150); char * data = (char *) malloc (sizeof (char) * 300); / * Жіберілетін мәндерді сақтауға арналған орын * / char str_val [10]; /*---- Сенсорлардың мәндерін char түріне түрлендіреді -----* / /*4-мини ені, 2-дәлдік; өзгермелі мән str_val* / dtostrf (sensor_value, 4, 2, str_val); /* Сұрауға жіберілетін денені құрады* /sprintf (body, «{»%s / «:%s}», variable_label, str_val); /* HTTP құрастырады POST */sprintf болуды сұрау (деректер, «POST /api/v1.6/devices/%s», device_label); sprintf (деректер, «%s HTTP/1.1 / r / n», деректер); sprintf (деректер, «%sHost: things.ubidots.com / r / n», деректер); sprintf (деректер, «%sUser-Agent:%s/%s / r / n», деректер, USER_AGENT, VERSION); sprintf (деректер, « %sX-Auth-Token: %s / r / n», деректер, TOKEN); спринт f (деректер, «%sConnection: жабу / r / n», деректер); sprintf (деректер, «%sContent-Type: application/json / r / n», деректер); sprintf (деректер, « %sContent-Length: %d / r / n / r / n», деректер, dataLen (негізгі)); sprintf (деректер, «%s%s / r / n / r / n», деректер, негізгі бөлім); / * Бастапқы байланыс */ clientUbi.connect (HTTPSERVER, HTTPPORT); / * Клиенттің қосылымын тексеріңіз */ if (clientUbi.connect (HTTPSERVER, HTTPPORT)) {Serial.println (F («Айнымалыңызды орналастыру:»)); Serial.println (деректер); / * HTTP сұрауын жіберу */ clientUbi.print (деректер); } / * Клиент қол жетімді болғанда, сервердің жауабын оқыңыз * / while (clientUbi.available ()) {char c = clientUbi.read (); Serial.write (c); } / * Бос жады * / бос (деректер); еркін (дене); / * Клиентті тоқтату */ clientUbi.stop ();}

ProTip: Arduino IDE сериялық мониторын ашу арқылы құрылғының дұрыс қосылғанын тексеруге болады.

Құрылғының Ubidots артқы жағында құрылғыны тіркелгіні қарап шығу арқылы тексеруге болады Құрылғыларды басқару -> Құрылғылар.

Құрылғыны басу арқылы сенсордың көрсеткіштері сақталатын «қашықтық» деп аталатын айнымалыны табасыз. Бұл атау сіз Arduino IDE -ге енгізген кодта тағайындалды. Егер сіз автоматты айнымалыларды реттегіңіз келсе, мұны Құрылғы картасын өңдеу арқылы немесе қосымшаның дұрыс айнымалы номенклатурасы бар жаңартылған кодты жыпылықтау арқылы жасаңыз.

Feather HUZZAH ESP8266 қосылған және Ubidots-қа мәлімет беретіндіктен, Ubidots-тың мұқият жобаланған коды жоқ бағдарлама конфигурациясын қолдана отырып, қосымшаны құрудың уақыты келді.

5 -қадам: Ubidots қосымшаларын әзірлеу

Ubidots қосымшаларын әзірлеу
Ubidots қосымшаларын әзірлеу
Ubidots қосымшаларын әзірлеу
Ubidots қосымшаларын әзірлеу
Ubidots қосымшаларын әзірлеу
Ubidots қосымшаларын әзірлеу

Ubidots оқиғасының конфигурациясы

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

  1. «Қозғалысты басқару» ағымдағы құрылғысының ішінде «жәшіктер» деп аталатын жаңа әдепкі айнымалысын жасаңыз, ол жаңа бірлік есептелген сайын 1 алады.
  2. Құрылғыны басқару -> Оқиғалар тармағына өтіп, жаңа оқиғаны қосу үшін беттің жоғарғы оң жақ бұрышындағы көк плюс белгішесін басыңыз.
  3. Іс -шараны «Егер іске қосқыштар» деп басталатын конфигурациялаңыз:
  • Айнымалыны таңдаңыз: «қашықтық»
  • Мән: мән (әдепкі)
  • Сенсор мен қораптар арасындағы*максималды күтілетін қашықтықтан аз немесе тең*, біздің қосымшамыз 500 мм құрайды
  • 0 минутқа
  • Сақтау

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

5. Әрекет ретінде «Айнымалы мәнді орнату» таңдаңыз.

6. Әрі қарай, бұрын құрылған әдепкі «қораптар» айнымалысын және «1» мәнін таңдаңыз.

7. Өзгертулерді сақтаңыз. Егер оқиға дұрыс реттелген болса, ол сенсор мен құрылғы арасындағы қашықтық көрсетілген шектен ұзағырақ болған сайын «1» жібереді, бұл жақын жерде ешқандай объект жоқ екенін білдіреді - және жаңа өткен қондырғыны санау керек..

Қауырсынға арналған арнайы құрылғы картасында сіз қондырғының болуын сезген кезде «1» жіберілетін айнымалы «жәшіктерді» табасыз.

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

8. Сезілетін бірліктердің санын (немесе объектінің анықталу уақытын) елестетіп көріңіз. Енді біз «жәшіктер» айнымалысын қолдана отырып, «қораптар» айнымалысынан алынған оқулардың жалпы көлемін қосатын жаңа айнымалы терезе айналымын құрамыз. анықталған спам (минут, сағат, күн, апта және т. Бұл дамуды орындау үшін мына қарапайым қадамдарды орындаңыз:

Келесі тіркелгі деректерін жаңа айнымалы терезе айнымалысына тағайындаңыз

Құрылғыны таңдаңыз: қозғалысты басқару (немесе сіздің деректеріңізді жіберетін құрылғының атауы)

Айнымалыны таңдаңыз: қораптар

Қосындысын есептеңіз

Әр: «1» сағат (немесе сіздің өтініміңізге сәйкес)

Енді жаңа айнымалыға бір сағат ішінде есептелген ұяшықтардың (немесе қозғалыстардың) санын көрсететін атау беріңіз, дәл «қораптар/сағат» немесе «бірлік/сағат» сияқты.

6 -қадам: бақылау тақтасының конфигурациялары

Бақылау тақтасының конфигурациялары
Бақылау тақтасының конфигурациялары

Ақырында, сезілетін бірліктердің санын көрсету үшін бақылау тақтасын жасаңыз.

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

Есептеуді визуализациялау үшін жаңа виджетке келесі тіркелгі деректерін тағайындаңыз.

Деректерді қалай көргіңіз келеді ?: Диаграмма

Виджет түрін таңдаңыз: сызықтық диаграмма

Құрылғыны қосу: қозғалысты басқару

Айнымалы мәнді қосыңыз: қораптар/сағат

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

Ұсынылған: