Orodha ya maudhui:

Jinsi ya Kuunda Mfumo wa Kugundua Mwendo Na Arduino: Hatua 7
Jinsi ya Kuunda Mfumo wa Kugundua Mwendo Na Arduino: Hatua 7

Video: Jinsi ya Kuunda Mfumo wa Kugundua Mwendo Na Arduino: Hatua 7

Video: Jinsi ya Kuunda Mfumo wa Kugundua Mwendo Na Arduino: Hatua 7
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Novemba
Anonim
Jinsi ya Kuunda Mfumo wa Kugundua Mwendo Na Arduino
Jinsi ya Kuunda Mfumo wa Kugundua Mwendo Na Arduino

Jenga kaunta ya uzalishaji wa mwendo na uwepo ukitumia Manyoya HUZZAH iliyowekwa na Arduino na inayotumiwa na Ubidots.

Mwendo mzuri wa mwili na kugundua uwepo katika Nyumba za Smart na Utengenezaji Smart inaweza kuwa muhimu sana katika programu zinazoanzia suluhisho za wazee za Ambient Assisted Living (AAL) au Mfumo wa Kuhesabu Uzalishaji ambao unalisha MES kubwa. Maombi mengine ya Utambuzi wa Mwendo na Uwepo ni pamoja na lakini hayazuiliwi kwa:

  1. Ujenzi wa mlango na lango
  2. Sensorer za maegesho kuteua matangazo ya bure
  3. Ufuatiliaji wa kiwango cha tank ya mbali
  4. Nyumba nzuri na vifaa vya taa na usalama
  5. Kugundua vitengo na kuhesabu katika mistari ya usafirishaji
  6. Kugundua alama kwenye vifaa vilivyochapishwa
  7. Kugundua kioevu ndani ya kadibodi, plastiki, na karatasi
  8. Kugundua umbali
  9. Kaunta za watu

Ingawa kuna matumizi mengi ya uwepo na mwendo, kuna sensorer nyingi sawa kukusanya data, kama sensorer capacitive, inductive, photoelectric, na sensorer ultrasonic. Kulingana na gharama, hali ya mazingira, na mahitaji ya usahihi, mtu anapaswa kuchagua vifaa bora vya kufaa kwa mazingira na mahitaji ya matumizi.

Kwa mafunzo haya, tutazingatia kujenga kaunta ya uzalishaji wa wakati halisi; programu itahesabu kila kitengo kinachopita kwa ukanda wa kusafirisha. Tutatumia Arduino IDE kupanga Manyoya HUZZAH ESP8266, sensa ya ultrasonic, na Ubidots kukuza programu yetu na kuonyesha dashibodi yetu ya IoT.

Hatua ya 1: Mahitaji

  1. Manyoya HUZZAH na ESP8266MB7389-100
  2. Sensorer ya Ultrasonic
  3. Arduino IDE 1.8.2 au zaidi
  4. Akaunti ya Ubidots-au-STEM Leseni

Hatua ya 2: Sanidi

  • Usanidi wa vifaa
  • II. Usanidi wa Firmware
  • III. Maendeleo ya Maombi ya Ubidots (hafla, anuwai, na dashibodi)

Hatua ya 3: Usanidi wa vifaa

Usanidi wa Vifaa
Usanidi wa Vifaa
Usanidi wa Vifaa
Usanidi wa Vifaa

Sensor ya Ultrasonic MB7389-100 ni chaguo cha bei ya chini kwa matumizi ya Viwanda na mahitaji anuwai ya matumizi ya chini na nguvu katika hali ngumu ya hali ya hewa kutokana na kiwango chake cha IPv67.

Kuanza, onyesha mchoro hapa chini kushikamana na sensor ya ultrasonic kwa Manyoya HUZZAH ESP8266.

KUMBUKA: Usomaji wa sensa unaweza kuchukua kama usomaji wa Analog au PWM; hapa chini tutaelezea usanidi wa usomaji wa PWM, kwa habari ya ziada tafadhali angalia mifano iliyoonyeshwa hapo juu.

[Kwa hiari] weka mdhibiti mdogo na sensorer ndani ya kesi ya IP67 ili kuwalinda kutokana na vumbi, maji, na sababu zingine za mazingira zinazotishia. Kesi ya kawaida inaonekana sawa na ile iliyoonyeshwa kwenye picha hapo juu.

Hatua ya 4: Usanidi wa Firmware

Usanidi wa Firmware
Usanidi wa Firmware
Usanidi wa Firmware
Usanidi wa Firmware

Kwanza, unapaswa kufunga Manyoya Huzzah kwenye Arduino IDE na ujumuishe nambari hiyo. Kumbuka kudhibitisha usanidi huu kwa kufanya jaribio rahisi la kupepesa macho. Kwa habari zaidi juu ya kuunganisha kifaa chako cha Manyoya angalia mwongozo huu wa kusanidi vifaa.

Kutuma data ya sensorer kwenye Jukwaa la Maendeleo la Ubidots IoT, nakili na ubandike nambari iliyo hapa chini kwenye Arduino IDE. Kumbuka kupeana jina la mtandao wa Wi-Fi, nywila, na Ishara ya akaunti yako ya Ubidots ambapo imeonyeshwa kwenye nambari hiyo.

/ ******************************** Maktaba ni pamoja na *************** **************** / # ni pamoja na / ******************************** ** Mara kwa mara na vitu ******************************* // * Ubidots * / const char * SSID_NAME = "xxxxxxxx"; // Weka hapa jina lako la jina la SSID * SSID_PASS = "xxxxxxxx"; // Weka hapa nenosiri lako la nenosiri * TOKEN = "Assig_your_ubidots_token"; // Weka hapa TOKENconst char * DEVICE_LABEL = "mwendo-wako"; // Chombo chako cha lebo ya nguo * VARIABLE_LABEL = "umbali"; // Charconstable labelconst char * USER_AGENT = "ESP8266"; const char * VERSION = "1.0"; const char * HTTPSERVER = "industrial.api.ubidots.com"; mambo.ubidots.com "; // Watumiaji wa Elimu wa Ubidots HTTPPORT = 80; / * Sensor ya Ultrasonic * / const int pwPin1 = 5; // Pini ya PWM ambapo sensorer imeunganishwaWiFiClient mtejaUbi; / ******************************** Kazi za Kujua *** **************************** // ** Inapata urefu wa mwili @ arg kutofautisha mwili wa aina ya char @rejea data urefu wa data inayobadilika * / int dataLen (char * variable) {uint8_t dataLen = 0; kwa (int i = 0; i umbali / 25.4 * / umbali wa kuelea = pigoIn (pwPin1, JUU); sendToUbidots (DEVICE_LABEL, VARIABLE_LABEL, umbali); kuchelewesha (1000);} batili sendToUbidots (, sensor_value ya kuelea) {char * body = (char *) malloc (sizeof (char) * 150); char * data = (char *) malloc (sizeof (char) * 300); / * Nafasi ya kuhifadhi maadili ya kutuma * / char str_val [10]; / * ---- Inabadilisha maadili ya sensorer kuwa aina ya char ----- * / / * 4 ni upana wa chini, 2 ni usahihi; Thamani ya kuelea inakiliwa kwenye str_val * / dtostrf (sensor_value, 4, 2, str_val); / * Huunda mwili utumiwe katika ombi * / sprintf (mwili, "{"% s / ":% s}", variable_label, str_val); / * Huunda HTTP ombi la kuwa POST * / sprintf (data, "POST /api/v1.6/devices/%s", lebo ya kifaa); sprintf (data, "% s HTTP / 1.1 / r / n", data); sprintf (data, "% sHost: things.ubidots.com / r / n", data); sprintf (data, "% sUser-Agent:% s /% s / r / n", data, USER_AGENT, VERSION);, "% sX-Auth-Token:% s / r / n", data, TOKEN); mbio f (data, "% sConnection: karibu / r / n", data); sprintf (data, "% sContent-Type: application / json / r / n", data); sprintf (data, "% sContent-Length:% d / r / n / r / n", data, dataLen (mwili)); sprintf (data, "% s% s / r / n / r / n", data, mwili); / * Uunganisho wa awali * / clientUbi.connect (HTTPSERVER, HTTPPORT); / * Thibitisha unganisho la mteja * / ikiwa (mtejaUbi.connect (HTTPSERVER, HTTPPORT)) {Serial.println (F ("Kutuma anuwai zako:")); Serial.println (data); / * Tuma Ombi la HTTP * / clientUbi.print (data); } / * Wakati mteja anapatikana soma majibu ya seva * / wakati (clientUbi.available ()) {char c = clientUbi.read (); Serial.write (c); } / * Kumbukumbu ya bure * / bure (data); bure (mwili); / * Simamisha mteja * / mtejaUbi.stop ();}

ProTip: unaweza kuangalia ikiwa kifaa chako kimeunganishwa kwa usahihi kwa kufungua mfuatiliaji wa serial katika IDE ya Arduino.

Unaweza kuthibitisha kuwa kifaa kimeundwa kwenye backend yako ya Ubidots kwa kukiangalia katika Usimamizi wa Kifaa chako -> Vifaa.

Kwa kubofya kifaa chako, utapata kigeuzi kinachoitwa "umbali" ambapo usomaji wa kihisi huhifadhiwa. Jina hili lilipewa msimbo ambao umebandika tu kwenye Arduino IDE. Ikiwa unataka kurekebisha vigeuzi vyako kiatomati, tafadhali fanya hivyo kwa kuhariri kadi ya Kifaa au kwa kuangaza nambari iliyosasishwa na nomenclature sahihi ya kutofautisha kwa programu yako.

Pamoja na Manyoya HUZZAH ESP8266 iliyounganishwa na kuripoti data kwa Ubidots, sasa ni wakati wa kujenga programu hiyo kwa kutumia usanidi wa programu isiyo na nambari ya Ubidots iliyoundwa kwa uangalifu.

Hatua ya 5: Maendeleo ya Maombi ya Ubidots

Maendeleo ya Maombi ya Ubidots
Maendeleo ya Maombi ya Ubidots
Maendeleo ya Maombi ya Ubidots
Maendeleo ya Maombi ya Ubidots
Maendeleo ya Maombi ya Ubidots
Maendeleo ya Maombi ya Ubidots

Usanidi wa Tukio la Ubidots

Masomo ya sasa tunayotuma kwa Ubidots ni pembejeo za umbali. Kwa kutafsiri usomaji huu kuwa pato tunalotaka ambazo tunataka - vitengo vilivyohesabiwa- tunapaswa kuunda hafla ifuatayo hatua hizi:

  1. Ndani ya kifaa cha sasa "mwendo wa kudhibiti" tengeneza anuwai mpya chaguomsingi inayoitwa "masanduku", ambayo itapokea 1 kila wakati kitengo kipya kinapohesabiwa.
  2. Nenda kwenye Usimamizi wa Kifaa -> Matukio, na bonyeza ikoni ya bluu pamoja kwenye kona ya juu kulia ya ukurasa ili kuongeza hafla mpya.
  3. Sanidi tukio lako ukianza na "Ikiwa vichochezi":
  • Chagua tofauti: "umbali"
  • Thamani: thamani (chaguomsingi)
  • Ni chini ya au sawa na [umbali wa juu unaotarajiwa} kati ya sensa na masanduku yanayopita karibu na * programu yetu inaita 500mm
  • Kwa dakika 0
  • Okoa

4. Mara vichochezi vimesanidiwa kwa maelezo ya programu yako, bonyeza ikoni ya machungwa "pamoja" kwenye kona ya juu kulia ili kuongeza kitendo cha masharti.

5. Chagua "Weka Kubadilika" kama kitendo.

6. Ifuatayo, chagua "visanduku" vya kutofautisha vilivyoundwa hapo awali na thamini "1".

7. Hifadhi mabadiliko. Ikiwa hafla hiyo imewekwa vizuri, itatuma "1" kila wakati umbali kati ya sensa na kitengo ni mrefu kuliko kizingiti kilichoonyeshwa, ambayo inaonyesha kuwa hakuna kitu karibu - na inapaswa kuhesabu kitengo kipya kilichopita tu.

Katika kadi maalum ya Kifaa cha Manyoya, utapata kwamba "masanduku" yanayobadilika ambapo "1" hutumwa wakati wowote uwepo wa kitengo unahisiwa.

Hasa muhimu kwa mikanda ya usafirishaji wa viwandani na kuhesabu kitengo cha mfano huu inaweza kuboreshwa kutoshea mazingira tofauti au vifaa tu katika usimbuaji wako au maendeleo ya programu yako.

8. Tazama idadi ya vitengo vilivyohisi (au mara kitu kiligunduliwa) Sasa, kwa kutumia "masanduku" yanayobadilika, tutaunda badiliko mpya la dirisha kutiririka jumla ya jumla ya usomaji uliopokelewa kutoka kwa "masanduku" yanayobadilika spam taka (dakika, masaa, siku, wiki, nk). Ili kutekeleza maendeleo haya, fuata hatua hizi rahisi:

Shirikisha vitambulisho vifuatavyo kwa kutofautisha kwa dirisha mpya

Chagua kifaa: kudhibiti mwendo (au jina la kifaa unachotuma data yako)

Chagua kutofautisha: masanduku

Hesabu jumla: jumla

Kila saa: "1" (au kulingana na maombi yako ya maombi)

Sasa toa jina kwa ubadilishaji mpya ambao unaonyesha idadi ya masanduku (au harakati) zilizohesabiwa kwa saa, kama "masanduku / saa" au "vitengo / masaa.

Hatua ya 6: Mipangilio ya Dashibodi

Mipangilio ya Dashibodi
Mipangilio ya Dashibodi

Mwishowe, tengeneza dashibodi kuonyesha idadi ya vitengo vilivyohisi.

Nenda kwenye Usimamizi wa Kifaa -> Dashibodi na ongeza wijeti mpya. Wijeti hii itaonyesha idadi ya masanduku yaliyohesabiwa leo yaliyovunjika kwa saa.

Shirikisha sifa zifuatazo kwa wijeti yako mpya ili kuona hesabu yako.

Je! Ungependa kuonaje data yako? Chati

Chagua aina ya wijeti: chati ya laini

Ongeza kifaa: kudhibiti mwendo

Ongeza kutofautisha: masanduku / saa

Maliza. Na kwa maendeleo haya ya dashibodi ya mwisho - programu tumizi imekamilika na sasa una mwendo mzuri na mzuri wa mfumo wa kugundua na uwepo. Hapa kuna kuangalia kwa mwisho kwa matokeo yetu.

Ilipendekeza: