Sisukord:
- Samm: nõuded
- 2. samm: seadistamine
- Samm: riistvara seadistamine
- Samm: püsivara seadistamine
- Samm: Ubidotsi rakenduste arendamine
- 6. samm: armatuurlaua konfiguratsioonid
Video: Kuidas luua Arduino abil liikumistuvastussüsteemi: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Ehitage liikumise ja kohaloleku tootmise loendur, kasutades Feather HUZZAH, mis on programmeeritud Arduinoga ja mida toidab Ubidots.
Tõhus füüsilise liikumise ja kohaloleku tuvastamine nutikodudes ja nutikas tootmises võib olla väga kasulik rakendustes, alates eakatest ümbritseva eluviisiga lahendustest (AAL) või tootmise loendussüsteemist, mis toidab suuremat turgu. Muud rakendused liikumise ja kohaloleku tuvastamiseks hõlmavad järgmist, kuid mitte ainult:
- Uste ja väravate automaatika
- Parkimisandurid vabade kohtade määramiseks
- Paagi taseme kaugjälgimine
- Nutikad kodud ja seadmed valgustuse ja turvalisuse tagamiseks
- Ühikute tuvastamine ja loendamine konveieriliinides
- Märgi tuvastamine trükitud materjalidel
- Vedeliku tuvastamine papist, plastist ja paberist kallutatuna
- Kauguse tuvastamine
- Inimesed loendurid
Kuigi kohaloleku ja liikumise jaoks on palju rakendusi, on andmete kogumiseks võrdselt sama palju andureid, näiteks mahtuvuslikud, induktiivsed, fotoelektrilised ja ultraheliandurid. Sõltuvalt kuludest, keskkonnatingimustest ja täpsusnõuetest tuleks valida keskkonnale ja rakenduse nõuetele kõige sobivam riistvara.
Selle õpetuse puhul keskendume reaalajas tootmisloenduri loomisele; rakendus arvestab iga konveierilindil mööduvat ühikut. Kasutame Arduino IDE -d sulgede HUZZAH ESP8266, ultraheli anduri ja Ubidotide programmeerimiseks, et arendada oma rakendust ja kuvada meie asjade Interneti armatuurlauda.
Samm: nõuded
- Suled HUZZAH koos ESP8266MB7389-100
- Ultraheli andur
- Arduino IDE 1.8.2 või uuem
- Ubidotsi konto -või STEM -litsents
2. samm: seadistamine
- I Riistvara seadistamine
- II. Püsivara seadistamine
- III. Ubidotsi rakenduste arendus (sündmused, muutujad ja armatuurlauad)
Samm: riistvara seadistamine
Tänu IPv67 reitingule on ultraheliandur MB7389-100 odav lahendus tööstuslikeks rakendusteks, millel on lai valik ja vähe energiatarbimist keerulistes ilmastikutingimustes.
Alustuseks peegeldage allolevat diagrammi, et kinnitada ultraheliandur sulgi HUZZAH ESP8266 külge.
MÄRKUS. Anduri näidud võivad olla analoognäidud või PWM; allpool selgitame PWM -i lugemise seadistust, lisateabe saamiseks vaadake ülaltoodud näiteid.
[Valikuliselt] asetage mikrokontroller ja andurid IP67 korpuse sisse, et kaitsta neid tolmu, vee ja muude ähvardavate keskkonnategurite eest. Tavaline ümbris näeb välja sarnane ülaltoodud fotodel näidatuga.
Samm: püsivara seadistamine
Esiteks peaksite installima Feather Huzzah Arduino IDE -sse ja koostama koodi. Ärge unustage seda seadistust kontrollida, tehes lihtsa vilkuva testi. Feather -seadme ühendamise kohta lisateabe saamiseks lugege seda kasulikku riistvara häälestamise juhendit.
Andurite andmete saatmiseks Ubidots IoT arendusplatvormile kopeerige ja kleepige allolev kood Arduino IDE -sse. Ärge unustage määrata WiFi-võrgu nime, parooli ja oma Ubidotsi konto luba, kui koodis on näidatud.
/******************************** Raamatukogud kaasas *************** **************** /#include /****************************** ** Konstandid ja objektid ******************************* //*Ubidots*/const char*SSID_NAME = "xxxxxxxx"; // Pane siia oma SSID nimiconst char* SSID_PASS = "xxxxxxxx"; // Pane siia oma paroolisõnade märk* TOKEN = "Assig_your_ubidots_token"; // Pane siia oma TOKENconst char* DEVICE_LABEL = "motion-control"; // Teie seadme etiketi koonumärk* VARIABLE_LABEL = "kaugus"; // Teie muutuja labelconst char* USER_AGENT = "ESP8266"; const char* VERSION = "1.0"; const char* HTTPSERVER = "industrial.api.ubidots.com"; // Ubidots Business kasutajad // const char* HTTPSERVER = " things.ubidots.com "; // Ubidots Educational usersint HTTPPORT = 80;/ * Ultraheliandur */const int pwPin1 = 5; // PWM -tihvt, kuhu andur on ühendatudWiFiClient clientUbi;/****************************************************** *************************** muutuja pikkus*/int dataLen (char* muutuja) {uint8_t dataLen = 0; for (int i = 0; i distance / 25,4* / float distance = pulseIn (pwPin1, HIGH); sendToUbidots (DEVICE_LABEL, VARIABLE_LABEL, distance); delay (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); / * tühik väärtuste salvestamiseks saatmiseks * / char str_val [10]; /*---- Muudab andurite väärtused sümbolitüübiks -----* / /*4 on minimaalne laius, 2 on täpsus; ujuki väärtus kopeeritakse aadressile str_val* / dtostrf (sensor_value, 4, 2, str_val); /* Ehitab päringule saadetava keha* /sprintf (body, "{"%s / ":%s}", variable_label, str_val); /* koostab HTTP taotlus olla POST */sprintf (andmed, "POST /api/v1.6/devices/%s", seadme_märgis); sprintf (andmed, "%s HTTP/1.1 / r / n", andmed); sprintf (andmed, "%sHost: things.ubidots.com / r / n", andmed); sprintf (andmed, "%sUser-Agent:%s/%s / r / n", andmed, USER_AGENT, VERSION); sprintf (andmed, " %sX-Auth-Token: %s / r / n", andmed, TOKEN); sprint f (andmed, "%sConnection: sulge / r / n", andmed); sprintf (andmed, "%sContent-Type: application/json / r / n", andmed); sprintf (andmed, " %sContent-Length: %d / r / n / r / n", andmed, dataLen (keha)); sprintf (andmed, "%s%s / r / n / r / n", andmed, keha); / * Esialgne ühendus */ clientUbi.connect (HTTPSERVER, HTTPPORT); / * Kontrollige kliendiühendust */ if (clientUbi.connect (HTTPSERVER, HTTPPORT)) {Serial.println (F ("Muutujate postitamine:")); Serial.println (andmed); / * Saada HTTP päring */ clientUbi.print (andmed); } / * Kui klient on saadaval, lugege serveri vastust * / while (clientUbi.available ()) {char c = clientUbi.read (); Serial.write (c); } / * Vaba mälu * / vaba (andmed); vaba (keha); / * Peata klient */ clientUbi.stop ();}
ProTip: saate kontrollida, kas teie seade on õigesti ühendatud, avades Arduino IDE jadamonitori.
Saate kontrollida, kas seade on loodud teie Ubidotsi taustaprogrammis, vaadates seda oma kontol Seadmehaldus -> Seadmed.
Kui klõpsate oma seadmel, leiate muutuja nimega "kaugus", kuhu anduri näidud salvestatakse. See nimi määrati koodis, mille olete just Arduino IDE -sse kleepinud. Kui soovite oma automaatseid muutujaid kohandada, tehke seda, muutes seadmekaarti või vilgutades värskendatud koodi, millel on teie rakenduse jaoks õige muutujate nomenklatuur.
Kuna Feather HUZZAH ESP8266 on ühendatud ja annab andmeid Ubidotidele, on nüüd aeg rakendus üles ehitada, kasutades Ubidotsi hoolikalt kavandatud koodivaba rakenduse konfiguratsiooni.
Samm: Ubidotsi rakenduste arendamine
Ubidotsi sündmuste konfiguratsioon
Praegused näidud, mille Ubidotidele saadame, on kaugsisendid. Nende näitude teisendamiseks soovitud väljundiks, mida me soovime - loendatud ühikud -, peaksime looma sündmuse, järgides neid samme:
- Praeguse seadme "motion-control" sees looge uus vaikemuutuja nimega "kastid", mis saab iga uue üksuse loendamisel 1.
- Avage Seadmehaldus -> Sündmused ja klõpsake uue sündmuse lisamiseks lehe paremas ülanurgas sinist plussikooni.
- Konfigureerige oma sündmus, mis algab sõnaga „Kui käivitab”:
- Valige muutuja: "kaugus"
- Väärtus: väärtus (vaikimisi)
- On väiksem või võrdne [maksimaalne eeldatav kaugus} anduri ja mööduvate kastide vahel*meie rakendus nõuab 500 mm
- 0 minutiks
- Salvesta
4. Kui päästikud on teie rakenduse spetsifikatsioonidele konfigureeritud, klõpsake tingimusliku toimingu lisamiseks paremas ülanurgas oranžil plussmärgi ikoonil.
5. Valige toiminguks „Määra muutuja”.
6. Järgmisena vali eelnevalt loodud vaikemuutuja "kastid" ja väärtus "1".
7. Salvesta muudatused. Kui sündmus on õigesti seadistatud, saadab see "1" iga kord, kui anduri ja seadme vaheline kaugus on pikem kui näidatud lävi, mis viitab sellele, et läheduses pole ühtegi objekti - ja see peaks loendama uue seadme, mis just möödus.
Kaardilt Feather specific Device leiate, et muutuja "kastid", kuhu saadetakse "1", kui üksuse kohalolekut tajutakse.
Eriti kasulik tööstuslikel konveierilintidel ja selle prototüübi loendamisel saab kohandada nii, et see sobiks erinevate keskkondade või riistvaraga lihtsalt teie kodeerimisel või rakenduste arendamisel.
8. Kujutage ette tajutavate ühikute arvu (või objekti tuvastamise kordi). Nüüd loome muutuja "kastid" abil uue veereva akna muutuja, mis summeerib muutujast "kastid" saadud näitude koguhulga määratletud rämpspost (minutid, tunnid, päevad, nädalad jne). Selle arenduse teostamiseks toimige järgmiselt.
Määrake oma uuele jooksva akna muutujale järgmised volikirjad
Seadme valimine: liikumiskontroll (või selle seadme nimi, kuhu andmed saadate)
Muutuja valimine: kastid
Arvutage: summa
Iga: "1" tund (või vastavalt teie taotlustele)
Nüüd määrake uuele muutujale nimi, mis näitab tunni jooksul loendatud kastide (või liikumiste) arvu, nagu näiteks "kastid/tund" või "ühikud/tunnid".
6. samm: armatuurlaua konfiguratsioonid
Lõpuks looge armatuurlaud, et kuvada tuvastatud ühikute arv.
Avage Seadmehaldus -> Juhtpaneelid ja lisage uus vidin. See vidin kuvab täna loendatud kastide arvu tundide kaupa.
Määrake oma uuele vidinale järgmised mandaadid, et oma loendust visualiseerida.
Kuidas soovite oma andmeid näha?: Diagramm
Valige vidina tüüp: joonediagramm
Seadme lisamine: liikumise juhtimine
Lisage muutuja: kastid tunnis
Lõpetama. Ja selle armatuurlaua viimase arendusega - teie rakendus on valmis ja teil on nüüd tõhus ja tulemuslik liikumise ja kohaloleku tuvastamise süsteem. Siin on viimane ülevaade meie tulemustest.
Soovitan:
Kuidas luua oma esimene lihtne tarkvara Pythoni abil: 6 sammu
Kuidas teha oma esimest lihtsat tarkvara Pythoni abil: Tere, tere tulemast sellesse juhendisse. Siin räägin teile, kuidas oma tarkvara teha. Jah, kui teil on idee … aga teate, mida rakendada või olete huvitatud uute asjade loomisest, siis on see teie jaoks …… Eeltingimus: peaks olema põhiteadmised P
Kuidas luua Linuxi alglaadimisseade (ja kuidas seda kasutada): 10 sammu
Linuxi alglaadimisseadme loomine (ja selle kasutamine): see on lihtne sissejuhatus Linuxi, täpsemalt Ubuntu, kasutamise alustamiseks
Õpetus: Kuidas luua Arduino UNO abil VL53L0X lasersageduse anduri moodul: 3 sammu
Õpetus: Kuidas luua Arduino UNO abil VL53L0X lasermõõdiku andurimoodul: Kirjeldused: see õpetus näitab teile kõigile üksikasjalikult, kuidas luua kaugusandurit, kasutades VL53L0X lasermõõdetava anduri moodulit ja Arduino UNO -d ning see töötab nagu teie taha. Järgige juhiseid ja saate sellest juhendajast aru
Kuidas Arduino abil toone luua: 3 sammu
Kuidas Arduino abil toone genereerida: Selles juhendis tegin vooluringi, mis genereerib Arduinoga tooni. Mulle väga meeldivad lihtsad ja kiiresti valmivad projektid. Siin on selline lihtne projekt. See on näitus ja projekt, mille tegin täpselt Arduino veebisaidi dokumentide abil
Kuidas luua Arduino Mega abil äratusmatti: 9 sammu
Kuidas Arduino Mega abil äratusmatti luua: Meil kõigil on neid hommikuid, kus meil on raskusi voodist tõusmisega. Äratus hakkab pidevalt tööle ja me jätkame edasilükkamist, kuni … on juba hilja! Oleme koosolekust ilma jäänud või tund on juba alanud. Selle probleemiga võitlemiseks oleme loonud