Satura rādītājs:
- 1. darbība. Prasības
- 2. darbība: iestatīšana
- 3. darbība. Aparatūras iestatīšana
- 4. solis: programmaparatūras iestatīšana
- 5. darbība. Ubidots lietojumprogrammu izstrāde
- 6. darbība: informācijas paneļa konfigurācijas
Video: Kā izveidot kustības noteikšanas sistēmu ar Arduino: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Izveidojiet kustības un klātbūtnes veidošanas skaitītāju, izmantojot Feather HUZZAH, kas ieprogrammēts ar Arduino un kuru darbina Ubidots.
Efektīva fiziskās kustības un klātbūtnes noteikšana viedajās mājās un viedajā ražošanā var būt ļoti noderīga lietojumos, sākot no vecāka gadagājuma cilvēku dzīves vides (AAL) risinājumiem vai ražošanas skaitīšanas sistēmas, kas baro lielāku TES. Citas kustības un klātbūtnes noteikšanas lietojumprogrammas ietver, bet ne tikai:
- Durvju un vārtu automatizācija
- Parkošanās sensori, lai apzīmētu brīvas vietas
- Attālā tvertnes līmeņa kontrole
- Gudras mājas un telpas apgaismojumam un drošībai
- Vienību noteikšana un skaitīšana konveijera līnijās
- Atzīmju noteikšana uz drukātajiem materiāliem
- Šķidruma noteikšana kartona, plastmasas un papīra slīpumu iekšpusē
- Attāluma noteikšana
- Cilvēki skaitītāji
Lai gan ir daudz lietojumprogrammu klātbūtnei un kustībai, datu vākšanai ir tikpat daudz sensoru, piemēram, kapacitatīvie, induktīvie, fotoelektriskie un ultraskaņas sensori. Atkarībā no izmaksām, vides apstākļiem un precizitātes prasībām jāizvēlas videi un pielietojuma prasībām vispiemērotākā aparatūra.
Šajā apmācībā mēs koncentrēsimies uz reāllaika ražošanas skaitītāja izveidi; lietojumprogramma saskaitīs katru vienību, kas iet garām konveijeram. Mēs izmantosim Arduino IDE, lai ieprogrammētu spalvu HUZZAH ESP8266, ultraskaņas sensoru un Ubidots, lai izstrādātu mūsu lietojumprogrammu un parādītu mūsu IoT informācijas paneli.
1. darbība. Prasības
- Spalvas HUZZAH ar ESP8266MB7389-100
- Ultraskaņas sensors
- Arduino IDE 1.8.2 vai jaunāka
- Ubidots konts vai STEM licence
2. darbība: iestatīšana
- I Aparatūras iestatīšana
- II. Programmaparatūras iestatīšana
- III. Ubidots lietojumprogrammu izstrāde (notikumi, mainīgie un informācijas paneļi)
3. darbība. Aparatūras iestatīšana
Pateicoties IPv67 vērtējumam, ultraskaņas sensors MB7389-100 ir lēts risinājums rūpnieciskiem lietojumiem ar plašu diapazonu un zemu enerģijas patēriņu sarežģītos laika apstākļos.
Lai sāktu, atspoguļojiet zemāk redzamo diagrammu, lai ultraskaņas sensoru piestiprinātu pie spalvas HUZZAH ESP8266.
PIEZĪME: Sensora rādījumus var uzskatīt par analogiem vai PWM; zemāk mēs izskaidrosim PWM lasīšanas iestatījumus, lai iegūtu papildinformāciju, lūdzu, skatiet iepriekš parādītos piemērus.
[Pēc izvēles] ievietojiet mikrokontrolleri un sensorus IP67 korpusā, lai pasargātu tos no putekļiem, ūdens un citiem apdraudošiem vides faktoriem. Standarta korpuss izskatās līdzīgs tam, kas parādīts iepriekš redzamajos fotoattēlos.
4. solis: programmaparatūras iestatīšana
Pirmkārt, jums vajadzētu instalēt Feather Huzzah Arduino IDE un apkopot kodu. Neaizmirstiet pārbaudīt šo iestatījumu, veicot vienkāršu mirgošanas testu. Lai iegūtu papildinformāciju par Feather ierīces pievienošanu, skatiet šo noderīgo aparatūras iestatīšanas rokasgrāmatu.
Lai nosūtītu sensora datus uz Ubidots IoT izstrādes platformu, nokopējiet un ielīmējiet zemāk esošo kodu Arduino IDE. Neaizmirstiet piešķirt Wi-Fi tīkla nosaukumu, paroli un Ubidots konta marķieri, ja tas ir norādīts kodā.
/******************************* Bibliotēkas iekļautas *************** **************** /#include /****************************** ** Konstantes un objekti ******************************* //*Ubidots*/const char*SSID_NAME = "xxxxxxxx"; // Ievietojiet šeit savu SSID nosaukumuconst char* SSID_PASS = "xxxxxxxx"; // Ievietojiet šeit savu paroliconst char* TOKEN = "Assig_your_ubidots_token"; // Ieliec šeit savu TOKENconst char* DEVICE_LABEL = "motion-control"; // Jūsu ierīces labelconst char* VARIABLE_LABEL = "distance"; // Jūsu mainīgais labelconst char* USER_AGENT = "ESP8266"; const char* VERSION = "1.0"; const char* HTTPSERVER = "industrial.api.ubidots.com"; // Ubidots biznesa lietotāji // const char* HTTPSERVER = " things.ubidots.com "; // Ubidots Educational usersint HTTPPORT = 80;/ * Ultraskaņas sensors */const int pwPin1 = 5; // PWM tapa, kur sensors ir pievienots WiFlient clientUbi;/******************************************************* *************************** mainīgā*/int dataLen garums (char* mainīgais) {uint8_t dataLen = 0; for (int i = 0; i distance / 25,4* / float distance = pulseIn (pwPin1, HIGH); sendToUbidots (DEVICE_LABEL, VARIABLE_LABEL, distance); kavēšanās (1000);} void sendToUbidots (const char* device_label, const char* variable_label), float sensor_value) {char * body = (char *) malloc (sizeof (char) * 150); char * data = (char *) malloc (sizeof (char) * 300); / * Vieta, kur glabāt nosūtāmās vērtības * / char str_val [10]; /*---- Pārveido sensoru vērtības uz char veidu -----* / /*4 ir minimālais platums, 2 ir precizitāte; pludiņa vērtība tiek kopēta uz str_val* / dtostrf (sensor_value, 4, 2, str_val); /* Veido korpusu, kas jānosūta pieprasījumā* /sprintf (pamatteksts, "{"%s / ":%s}", variable_label, str_val); /* veido HTTP pieprasījums būt POST */sprintf (dati, "POST /api/v1.6/devices/%s", device_label); sprintf (dati, "%s HTTP/1.1 / r / n", dati); sprintf (dati, "%sHost: things.ubidots.com / r / n", dati); sprintf (dati, "%sUser-Agent:%s/%s / r / n", dati, USER_AGENT, VERSION); sprintf (dati, " %sX-Auth-Token: %s / r / n", dati, TOKEN); sprints f (dati, "%sSavienojums: aizvērt / r / n", dati); sprintf (dati, "%sContent-Type: application/json / r / n", dati); sprintf (dati, " %sContent-Length: %d / r / n / r / n", dati, dataLen (pamatteksts)); sprintf (dati, "%s%s / r / n / r / n", dati, pamatteksts); / * Sākotnējais savienojums */ clientUbi.connect (HTTPSERVER, HTTPPORT); / * Pārbaudiet klienta savienojumu */ if (clientUbi.connect (HTTPSERVER, HTTPPORT)) {Serial.println (F ("Mainīgo ievietošana:")); Serial.println (dati); / * Nosūtīt HTTP pieprasījumu */ clientUbi.print (dati); } / * Kamēr klients ir pieejams, izlasiet servera atbildi * / while (clientUbi.available ()) {char c = clientUbi.read (); Serial.write (c); } / * Brīva atmiņa * / brīva (dati); bezmaksas (ķermenis); / * Apturiet klientu */ clientUbi.stop ();}
ProTip: varat pārbaudīt, vai jūsu ierīce ir pareizi pievienota, atverot sērijas monitoru Arduino IDE.
Jūs varat pārbaudīt, vai ierīce ir izveidota jūsu Ubidots aizmugurē, apskatot to savā kontā Ierīču pārvaldība -> Ierīces.
Noklikšķinot uz savas ierīces, jūs atradīsit mainīgo, ko sauc par "attālumu", kur tiek glabāti sensora rādījumi. Šis vārds tika piešķirts kodā, kuru tikko ielīmējāt Arduino IDE. Ja vēlaties pielāgot automātiskos mainīgos, lūdzu, rediģējiet ierīces karti vai mirgojiet atjauninātu kodu ar savai lietojumprogrammai atbilstošo mainīgo nomenklatūru.
Kad Feather HUZZAH ESP8266 ir savienots un ziņo par datiem Ubidots, tagad ir pienācis laiks izveidot lietojumprogrammu, izmantojot Ubidots rūpīgi izstrādāto lietojumprogrammu konfigurāciju bez koda.
5. darbība. Ubidots lietojumprogrammu izstrāde
Ubidots notikuma konfigurācija
Pašreizējie rādījumi, ko mēs nosūtām Ubidots, ir attāluma ievadi. Lai pārvērstu šos rādījumus vēlamajā iznākumā, ko mēs vēlamies - saskaitītās vienības -, mums jāizveido notikums, veicot šādas darbības:
- Pašreizējās ierīces "kustības kontrole" iekšpusē izveidojiet jaunu noklusējuma mainīgo ar nosaukumu "kastes", kas katru reizi, kad tiks saskaitīta jauna vienība, saņems 1.
- Atveriet Ierīču pārvaldība -> Notikumi un noklikšķiniet uz zilās pluszīmes ikonas lapas augšējā labajā stūrī, lai pievienotu jaunu notikumu.
- Konfigurējiet savu notikumu, sākot ar “Ja aktivizētāji”:
- Atlasiet mainīgo: "distance"
- Vērtība: vērtība (noklusējums)
- Ir mazāks vai vienāds ar [maksimālais paredzamais attālums}) starp sensoru un garām braucošajām kastēm*mūsu lietojumprogramma pieprasa 500 mm
- Uz 0 minūtēm
- Saglabāt
4. Kad aktivizētāji ir konfigurēti atbilstoši jūsu lietojumprogrammas specifikācijām, augšējā labajā stūrī noklikšķiniet uz oranžās ikonas “plus”, lai pievienotu nosacītu darbību.
5. Kā darbību atlasiet “Iestatīt mainīgo”.
6. Pēc tam izvēlieties iepriekš izveidoto noklusējuma mainīgo "kastes" un vērtību "1".
7. Saglabājiet izmaiņas. Ja notikums ir pareizi iestatīts, tas katru reizi, kad attālums starp sensoru un ierīci ir lielāks par norādīto slieksni, nosūtīs “1”, kas liek domāt, ka tuvumā nav neviena objekta, un tam vajadzētu saskaitīt jaunu vienību, kas tikko pagājusi garām.
Kartē Spalvu īpašā ierīce jūs atradīsit, ka mainīgais "lodziņš", kur tiek nosūtīts "1" jebkurā laikā, kad tiek uztverta vienības klātbūtne.
Īpaši noderīga rūpnieciskām konveijera lentēm un vienību skaitīšanai, šo prototipu var pielāgot, lai tas atbilstu dažādām vidēm vai aparatūrai, vienkārši iekļaujot jūsu kodējumu vai lietojumprogrammu izstrādi.
8. Vizualizējiet uztverto vienību skaitu (vai reizes, kad objekts tika atklāts) Tagad, izmantojot mainīgo "kastes", mēs izveidosim jaunu mainīgā loga mainīgo, lai summētu kopējo nolasījumu skaitu, kas saņemts no mainīgā "kastes" definēts surogātpasts (minūtes, stundas, dienas, nedēļas utt.). Lai veiktu šo izstrādi, rīkojieties šādi:
Piešķiriet šādus akreditācijas datus jaunajam mainīgā loga mainīgajam
Izvēlieties ierīci: kustības vadību (vai tās ierīces nosaukumu, no kuras sūtāt savus datus)
Atlasiet mainīgo: kastes
Aprēķiniet: summu
Ik pēc 1 stundas (vai atbilstoši jūsu pieteikuma pieprasījumiem)
Tagad piešķiriet jaunajam mainīgajam nosaukumu, kas norāda stundu laikā saskaitīto lodziņu (vai kustību) skaitu, tāpat kā "kastes stundā" vai "vienības stundā".
6. darbība: informācijas paneļa konfigurācijas
Visbeidzot, izveidojiet informācijas paneli, lai parādītu uztverto vienību skaitu.
Dodieties uz Ierīču pārvaldība -> Informācijas paneļi un pievienojiet jaunu logrīku. Šajā logrīkā tiks parādīts šodien saskaitīto lodziņu skaits, sadalīts pa stundām.
Piešķiriet šādus akreditācijas datus savam jaunajam logrīkam, lai vizualizētu savu skaitu.
Kā jūs vēlētos redzēt savus datus?: Diagramma
Atlasiet logrīka veidu: līniju diagramma
Pievienojiet ierīci: kustības vadība
Pievienojiet mainīgo: kastes stundā
Pabeigt. Un ar šo pēdējo paneļa izstrādi - jūsu lietojumprogramma ir pabeigta, un tagad jums ir efektīva un efektīva kustības un klātbūtnes noteikšanas sistēma. Šeit ir pēdējais mūsu rezultātu apskats.
Ieteicams:
Pizero kustības noteikšanas tīmekļa kameras drošības sistēma: 3 soļi
Pizero kustības noteikšanas tīmekļa kameras drošības sistēma: šī sistēma izmanto pizero, wifi dongle un vecu tīmekļa kameru pielāgotā sērkociņu kastes korpusā. Tas ieraksta kustības noteikšanas videoklipus ar ātrumu 27 kadri sekundē par jebkādām nozīmīgām kustībām manā piebraucamajā ceļā. Pēc tam klipi tiek augšupielādēti dropbox kontā. Varat arī apskatīt žurnālus un
Kā izveidot gudru plūdu noteikšanas signalizācijas sistēmu, izmantojot Raspberry Pi un daļiņu argonu: 6 soļi
Kā izveidot gudru plūdu noteikšanas signalizācijas sistēmu, izmantojot Raspberry Pi un daļiņu argonu: Standarta plūdu sensori ir lieliski, lai novērstu milzīgu kaitējumu jūsu mājām vai darba vietai. Bet tas apgrūtina, ja neesat mājās, lai apmeklētu trauksmi. Protams Jūs varētu iegādāties šos viedos. Šī plūdu signalizācijas sistēma nosaka jebkuru šķidrumu un iedarbina trauksmi
Kustības noteikšanas Arduino lāzers: 5 soļi
Kustības noteikšanas Arduino lāzers: PIEZĪME. Šis projekts tika izstrādāts tā, lai visas detaļas varētu atkārtoti izmantot turpmākajos projektos. Tā rezultātā galaprodukts ir mazāk stabils, nekā tas būtu, ja izmantotu vairāk pastāvīgu materiālu, piemēram, līmi, lodēšanu utt.! Brīdinājums: Vai nē
Kā izveidot runājošu PIR kustības drošības sistēmu: 3 soļi
Kā izveidot runājošu PIR kustības drošības sistēmu: šajā video mēs izveidosim drošības sistēmu, kas nosaka kustību un runā. Šajā projektā PIR sensors nosaka kustību, un DFPlayer Mini MP3 modulis atskaņo iepriekš noteikto skaņu
Kustības noteikšanas e -pasta paziņojums DVR vai NVR: 4 soļi
Paziņojums par kustības noteikšanu e -pastā DVR vai NVR: šajā pamācībā mēs parādīsim, kā DVR vai NVR ierīcē iestatīt kustības noteiktus e -pasta paziņojumus. Gandrīz ikviens, kurš ielaužas kādā ēkā, zina, ka cilvēki ir ķērušies pie videonovērošanas sistēmu uzstādīšanas, lai aizsargātu savu piederību