Përmbajtje:
- Hapi 1: Kërkesat
- Hapi 2: Konfigurimi
- Hapi 3: Konfigurimi i harduerit
- Hapi 4: Konfigurimi i firmuerit
- Hapi 5: Zhvillimi i Aplikimit Ubidots
- Hapi 6: Konfigurimet e pultit
Video: Si të ndërtoni një sistem të zbulimit të lëvizjes me Arduino: 7 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:16
Ndërtoni një numërues të prodhimit të lëvizjes dhe pranisë duke përdorur një pendë HUZZAH të programuar me Arduino dhe të mundësuar nga Ubidots.
Lëvizja efektive fizike dhe zbulimi i prezencës në Shtëpi të Zgjuara dhe Prodhim i Zgjuar mund të jetë shumë i dobishëm në aplikacione që variojnë nga zgjidhjet e të moshuarve të Ambientit të Ndihmuar në Ambient (AAL) ose një Sistemi të Numërimit të Prodhimit që ushqen një MASH më të madh. Aplikimet e tjera për Zbulimin e Lëvizjes dhe Prezencës përfshijnë por nuk kufizohen në:
- Automatizimi i dyerve dhe portave
- Sensorë parkimi për të përcaktuar vende të lira
- Monitorimi i nivelit të rezervuarit në distancë
- Shtëpi dhe pajisje të zgjuara për ndriçim dhe siguri
- Njësitë e zbulimit dhe numërimit në linjat transportuese
- Shënoni zbulimin në materialet e shtypura
- Zbulimi i lëngjeve brenda animeve të kartonit, plastikës dhe letrës
- Zbulimi i distancës
- Njerëzit kundërvihen
Ndërsa ka shumë aplikime për praninë dhe lëvizjen, ka po aq sensorë për të mbledhur të dhëna, të tilla si sensorë kapacitiv, induktiv, fotoelektrik dhe tejzanor. Në varësi të kostove, kushteve mjedisore dhe kërkesave të saktësisë, duhet të zgjidhni pajisjen më të mirë të përshtatshme për një mjedis dhe kërkesat e aplikimit.
Për këtë tutorial, ne do të përqëndrohemi në ndërtimin e një sporteli prodhimi në kohë reale; aplikacioni do të numërojë çdo njësi që kalon në një rrip transportieri. Ne do të përdorim Arduino IDE për të programuar një Feather HUZZAH ESP8266, një sensor tejzanor dhe Ubidots për të zhvilluar aplikacionin tonë dhe për të shfaqur pultin tonë të IoT.
Hapi 1: Kërkesat
- Pendë HUZZAH me ESP8266MB7389-100
- Sensor tejzanor
- Arduino IDE 1.8.2 ose më e lartë
- Llogaria Ubidots -ose Licenca STEM
Hapi 2: Konfigurimi
- I Konfigurimi i harduerit
- II Konfigurimi i firmuerit
- III. Zhvillimi i Aplikimit Ubidots (ngjarje, ndryshore dhe pult)
Hapi 3: Konfigurimi i harduerit
Sensori tejzanor MB7389-100 është një opsion me kosto të ulët për aplikimet industriale me kërkesa të gamës së gjerë dhe të ulët të energjisë në kushte sfiduese të motit falë vlerësimit të tij IPv67.
Për të filluar, pasqyroni diagramin më poshtë për të bashkuar sensorin tejzanor në pendën HUZZAH ESP8266.
SH NOTNIM: Leximi i sensorit mund të merret si lexime analoge ose PWM; më poshtë do të shpjegojmë konfigurimin për leximin e PWM, për informacion shtesë ju lutemi shihni shembujt e treguar më sipër.
[Opsionale] vendosni mikrokontrolluesin dhe sensorët brenda kutisë de IP67 për t'i mbrojtur nga pluhuri, uji dhe faktorë të tjerë kërcënues të mjedisit. Rasti standard duket i ngjashëm me atë të treguar në fotot e mësipërme.
Hapi 4: Konfigurimi i firmuerit
Së pari, duhet të instaloni Feat Huzzah në Arduino IDE dhe të përpiloni kodin. Mos harroni të verifikoni këtë konfigurim duke bërë një test të thjeshtë të ndezjes. Për informacion të mëtejshëm në lidhje me lidhjen e pajisjes tuaj Feather, shikoni këtë udhëzues të dobishëm të konfigurimit të harduerit.
Për të dërguar të dhëna të sensorit në Platformën e Zhvillimit IoT të Ubidots, kopjoni dhe ngjisni kodin më poshtë në Arduino IDE. Mos harroni të caktoni emrin e rrjetit Wi-Fi, fjalëkalimin dhe shenjën e llogarisë suaj Ubidots aty ku tregohet në kod.
/****************************** Bibliotekat e përfshira *************** **************** /#include /***************************** ** Konstantet dhe objektet *******************************Ubidots*/const char*SSID_NAME = "xxxxxxxx"; // Vendos këtu emrin tënd SSID char char* SSID_PASS = "xxxxxxxx"; // Vendos këtu fjalëkalimin tënd char* TOKEN = "Assig_your_ubidots_token"; // Vendosni këtu TOKENconst char tuaj* DEVICE_LABEL = "lëvizje-kontroll"; // Etiketa e pajisjes suajconst char* VARIABLE_LABEL = "distancë"; // Etiketa juaj e ndryshueshmeconst char* USER_AGENT = "ESP8266"; const char* VERSION = "1.0"; const char* HTTPSERVER = "industrial.api.ubidots.com"; // Përdoruesit e biznesit të Ubidots // const char* HTTPSERVER = " things.ubidots.com "; // Ubidots Përdoruesit edukativ në HTTPPORT = 80;/ * Sensori tejzanor */const int pwPin1 = 5; // Pina PWM ku është lidhur sensoriWiFiClient clientUbi;/****************************** Funksione ndihmëse *** ************************** ** ** Merr gjatësinë e ndryshores së trupit @arg trupi i tipit char @të dhënat e kthimitLen gjatësia e ndryshores*/int dataLen (ndryshore char*) {uint8_t dataLen = 0; për (int i = 0; i distanca / 25.4* / distanca notuese = pulseIn (pwPin1, HIGH); sendToUbidots (DEVICE_LABEL, VARIABLE_LABEL, distanca); vonesë (1000);} void sendToUbidots (const char* device_label, const char* variable_label, vlera e sensorit notues) {char * body = (char *) malloc (sizeof (char) * 150); char * data = (char *) malloc (sizeof (char) * 300); / * Hapësirë për të ruajtur vlerat për të dërguar * / char str_val [10]; /*---- Transformon vlerat e sensorëve në tipin e shkronjave -----* / /*4 është gjerësia minimale, 2 është saktësia; vlera e notit kopjohet në str_val* / dtostrf (sensor_value, 4, 2, str_val); /* Ndërton trupin për t'u dërguar në kërkesë* /sprintf (body, "{"%s / ":%s}", variable_label, str_val); /* Ndërton HTTP kërkesa për të qenë POST */sprintf (të dhëna, "POST /api/v1.6/devices/%s", pajisja_label); sprintf (të dhëna, "%s HTTP/1.1 / r / n", të dhëna); sprintf (të dhëna, "%sHost: things.ubidots.com / r / n", të dhëna); sprintf (të dhëna, "%sUser-Agjenti:%s/%s / r / n", të dhëna, USER_AGENT, VERSION); sprintf (të dhëna, " %sX-Auth-Token: %s / r / n", të dhëna, TOKEN); sprint f (të dhëna, "%sLidhja: mbyll / r / n", të dhëna); sprintf (të dhënat, "%sLloji i përmbajtjes: aplikacioni/json / r / n", të dhëna); sprintf (të dhëna, " %sPërmbajtja-Gjatësia: %d / r / n / r / n", të dhëna, dataLen (trupi)); sprintf (të dhëna, "%s%s / r / n / r / n", të dhëna, trupi); / * Lidhja fillestare */ clientUbi.connect (HTTPSERVER, HTTPPORT); / * Verifikoni lidhjen me klientin */ if (clientUbi.connect (HTTPSERVER, HTTPPORT)) {Serial.println (F ("Postimi i ndryshoreve tuaja:")); Serial.println (të dhëna); / * Dërgoni Kërkesën HTTP */ clientUbi.print (të dhëna); } / * Ndërsa klienti është në dispozicion lexoni përgjigjen e serverit * / ndërsa (clientUbi.available ()) {char c = clientUbi.read (); Serial.shkruani (c); } / * Kujtesë falas * / falas (të dhëna); falas (trupi); / * Ndaloni klientin */ clientUbi.stop ();}
ProTip: mund të kontrolloni nëse pajisja juaj është e lidhur saktë duke hapur monitorin serik në Arduino IDE.
Mund të verifikoni që një pajisje është krijuar në sfondin tuaj Ubidots duke e parë atë në llogarinë tuaj Menaxhimi i Pajisjeve -> Pajisjet.
Duke klikuar pajisjen tuaj, do të gjeni një ndryshore të quajtur "distancë" ku ruhen leximet e sensorit. Ky emër u caktua në kodin që sapo keni ngjitur në Arduino IDE. Nëse dëshironi të rregulloni ndryshoret tuaja automatike, ju lutemi bëni këtë duke redaktuar kartën e Pajisjes ose duke ndezur një kod të azhurnuar me nomenklaturën e saktë të ndryshoreve për aplikacionin tuaj.
Me Feather HUZZAH ESP8266 të lidhur dhe duke raportuar të dhëna në Ubidots, tani është koha për të ndërtuar aplikacionin duke përdorur konfigurimin e aplikacionit pa kod të dizajnuar me kujdes të Ubidots.
Hapi 5: Zhvillimi i Aplikimit Ubidots
Konfigurimi i ngjarjes Ubidots
Leximet aktuale që po i dërgojmë Ubidots janë hyrje në distancë. Për përkthimin e këtyre leximeve në daljen e dëshiruar që duam - njësitë e numëruara - ne duhet të krijojmë një ngjarje duke ndjekur këto hapa:
- Brenda pajisjes aktuale "lëvizje-kontroll" krijoni një ndryshore të re të paracaktuar të quajtur "kuti", e cila do të marrë një 1 çdo herë që një njësi e re numërohet.
- Shkoni te Menaxhimi i Pajisjes -> Ngjarje dhe klikoni ikonën blu plus në këndin e sipërm të djathtë të faqes për të shtuar një ngjarje të re.
- Konfiguroni ngjarjen tuaj duke filluar me "Nëse shkakton":
- Zgjidhni një ndryshore: "distanca"
- Vlera: vlera (e parazgjedhur)
- Lessshtë më e vogël ose e barabartë me [distancën maksimale të pritshme] midis sensorit dhe kutive që kalojnë*aplikacioni ynë kërkon 500 mm
- Për 0 minuta
- Ruaj
4. Pasi nxitësit të jenë konfiguruar në specifikimet e aplikacionit tuaj, klikoni ikonën portokalli "plus" në këndin e sipërm të djathtë për të shtuar një veprim të kushtëzuar.
5. Zgjidhni "Set Variable" si veprim.
6. Tjetra, zgjidhni variablin e krijuar më parë "kutitë" dhe vlerën "1".
7. Ruani ndryshimet. Nëse ngjarja është e rregulluar siç duhet, ajo do të dërgojë një "1" sa herë që distanca midis sensorit dhe njësisë është më e gjatë se një prag i treguar, që sugjeron që nuk ka asnjë objekt afër - dhe duhet të numërojë një njësi të re që sapo ka kaluar Me
Në kartën Device specific Device, do të gjeni se variabli "kuti" ku dërgohet një "1" sa herë që ndihet prania e një njësie.
Veçanërisht e dobishme për rripat transportues industrial dhe njësitë që numërojnë këtë prototip mund të personalizohet për t'iu përshtatur mjediseve ose pajisjeve të ndryshme thjesht në kodimin tuaj ose zhvillimin e aplikacioneve tuaja.
8. Vizualizoni numrin e njësive të ndjerë (ose herët kur një objekt u zbulua) Tani, duke përdorur ndryshoren "kuti", ne do të krijojmë një ndryshore të re të dritares rrotulluese për të përmbledhur sasinë totale të leximeve të marra nga ndryshorja "kuti" në një spam të përcaktuar (minuta, orë, ditë, javë, etj). Për të ekzekutuar këtë zhvillim, ndiqni këto hapa të thjeshtë:
Caktoni kredencialet e mëposhtme ndryshores tuaj të re të dritares që lëviz
Zgjidhni një pajisje: kontrollin e lëvizjes (ose emrin e pajisjes që po dërgoni të dhënat tuaja)
Zgjidhni një ndryshore: kuti
Llogarit shumën: shumën
Çdo: "1" orë (ose sipas kërkesave tuaja të aplikimit)
Tani caktoni një emër për ndryshoren e re që tregon numrin e kutive (ose lëvizjeve) të numëruara në një orë, ashtu si "kutitë/orë" ose "njësitë/orë.
Hapi 6: Konfigurimet e pultit
Së fundi, krijoni një pult për të shfaqur numrin e njësive të ndjerë.
Shkoni te Menaxhimi i Pajisjeve -> Pultet dhe shtoni një widget të ri. Ky widget do të shfaqë sasinë e kutive të numëruara sot të ndara në orë.
Caktoni kredencialet e mëposhtme në widget -in tuaj të ri për të vizualizuar numërimin tuaj.
Si dëshironi të shihni të dhënat tuaja?: Grafiku
Zgjidhni një lloj widget: grafiku i linjave
Shtoni një pajisje: lëvizje-kontroll
Shtoni një ndryshore: kuti/orë
Përfundo Dhe me këtë zhvillim të fundit të pultit - aplikacioni juaj është i plotë dhe tani keni një sistem efikas dhe efektiv të zbulimit të lëvizjes dhe pranisë. Këtu keni një vështrim përfundimtar në rezultatet tona.
Recommended:
Ndërtoni një Gjurmues të Veshjeve të Lëvizjes (BLE Nga Arduino në një Aplikacion të Personalizuar të Studio Studio): 4 hapa
Ndërtoni një Gjurmues të Veshjeve të Lëvizjes (BLE Nga Arduino në një Aplikacion të Personalizuar për Studio Studio): Bluetooth me Energji të Ulët (BLE) është një formë e komunikimit Bluetooth me fuqi të ulët. Pajisjet e veshshme, si veshjet e mençura që unë ndihmoj në hartimin në Predictive Wear, duhet të kufizojnë konsumin e energjisë kudo që të jetë e mundur për të zgjatur jetën e baterisë dhe shpesh të përdorin BLE.
Pingo: një lëshues i topit të zbulimit të lëvizjes dhe një saktësi të lartë: 8 hapa
Pingo: një lëshues i topit të zbulimit të lëvizjes dhe një saktësi të lartë: Kevin Nitiema, Esteban Poveda, Anthony Mattacchione, Raphael Kay
Sistemi i alarmit SMS të zbulimit të lëvizjes DIY: 5 hapa (me fotografi)
Sistemi i alarmit SMS i zbulimit të lëvizjes DIY: Në këtë projekt unë do të kombinoj një sensor lëvizjeje të lirë PIR me një modul TC35 GSM për të ndërtuar një sistem alarmi i cili ju dërgon një " ALART INTRUDER " SMS sa herë që dikush përpiqet të vjedhë gjërat tuaja. Le të fillojmë
Visuino Ndërtoni një sistem të zbulimit të ndërhyrjes duke përdorur Arduino: 8 hapa
Visuino Ndërtoni një Sistem të Zbulimit të Ndërhyrjes duke Përdorur Arduino: Në këtë tutorial ne do të përdorim një sensor XYC-WB-DC të Motorit të Radarit me Mikrovalë të lidhur me Arduino UNO dhe Visuino për të zbuluar çdo lëvizje në rreze rreth 5m përfshirë mure të hollë. Shikoni një video demonstruese
Kujdestari V1.0 --- Përmirësimi i kamerës me vrima të dyerve me Arduino (Regjistrimi i zbulimit të lëvizjes dhe veçoritë e goditjes elektrike): 5 hapa
Kujdestari V1.0 ||| Përmirësimi i kamerës së vrimës së derës me Arduino (Regjistrimi i zbulimit të lëvizjes dhe veçoritë e goditjes elektrike): Kam porositur një aparat fotografik, por kur e përdor, kuptova se nuk ka asnjë funksion regjistrimi automatik (aktivizuar me zbulimin e lëvizjes). Pastaj fillova të hetoj se si funksionon. Për të regjistruar një video, duhet të 1- mbani shtypur butonin e energjisë gati 2 sekonda