Orodha ya maudhui:

KaribuBot Mbadala: Hatua 11 (na Picha)
KaribuBot Mbadala: Hatua 11 (na Picha)

Video: KaribuBot Mbadala: Hatua 11 (na Picha)

Video: KaribuBot Mbadala: Hatua 11 (na Picha)
Video: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Julai
Anonim
Image
Image

Mafundisho haya yatakuonyesha jinsi ya kuunda kichocheo kinachofaa cha roboti ambacho kinaweza kusonga kitu kama kitufe, kubadili, au kupiga vifaa anuwai wakati wewe (na simu yako au taa kwenye mfuko wako) uko karibu. Hii inamaanisha inaweza kufungua moja kwa moja na kufunga tena latch ya mlango kama * wewe tu unapita, funga valve ya kunyunyizia ili uweze kupita kwenye maji bila kujeruhiwa kama aina ya Musa wa kitongoji, punguza sauti ya spika wakati uko kwenye karakana chumba cha bendi, choma iPod inayocheza sauti ya kuingia kali au sema utani (Jaden Smith tweet?) ukiwa chumbani, au pumzika sinema unapoamka kutumia choo.

Mradi huu hauhitaji uuzaji au zana maalum

Ikiwa unafurahiya mafundisho haya ya kutosha, tafadhali fikiria kupiga kura kwa anayeweza kufundishwa katika shindano la Robotiki 2017!

Hatua ya 1: Pata Sehemu za Vifaa

Utahitaji:

  • NodeMCU v2 au V3
  • Micro 9G Servo Motor karibu $ 1.40 USD usafirishaji wa bure kwenye eBay au Aliexpress
  • Waya wa Arduino Jumper Mwanamke hadi Mwanaume.
  • Kesi ya KaribuBot - Nilitumia sanduku la plastiki chakavu nililopata.
  • Kebo ya data ndogo ya USB (sehemu za simu chakavu)
  • Chanzo cha umeme cha USB (chaja ya simu chakavu)

Ikiwa huna smartphone yenye huduma ya simu ya rununu, utahitaji pia:

  • Moduli ya ESP-01 karibu $ 2.50 USD usafirishaji wa bure kwenye DealExtreme, GearBest, Ebay, au Aliexpress.
  • 1 Jozi betri za AAA
  • mmiliki wa betri ya AAA na swichi

Hatua ya 2: Anza haraka

Hatua hii ina mwongozo wa kuanza haraka ikiwa unapenda aina hiyo ya kitu. Wengine wa hii inayoweza kufundishwa huenda hatua kwa hatua na inaongeza habari zaidi ya kina

// Orodha ya ununuzi: // NodeMCU V3 (Lolin) ESP8266 microcontroller

// SG90 9G Servo Motor

// Benki ya Nguvu ya USB au adapta ya ukuta ya USB.

// USB cable / malipo ya kebo ndogo

// Arduino wa kiume na wa kike waya aina za kuruka

// KABLA YA KUANZA:

// 1. Ikiwa haujapakua Arduino IDE tayari, ipate bure (michango ya hiari) kwa:

// 2. fungua Arduino IDE (ikiwa hausomi hii katika Arduino IDE tayari!)…

// 3. Nenda kwenye faili na ubofye upendeleo kwenye IDE ya Arduino…

// 4. nakili nambari hapa chini katika Meneja wa bodi za Ziada: //https://arduino.esp8266.com/stable/package_esp8266com_index.json

// 5. bonyeza OK kufunga tab ya upendeleo…

// 6. Nenda kwenye zana na ubao, halafu chagua meneja wa bodi…

// 7. Nenda kwa esp8266 na jamii ya esp8266 na usakinishe programu ya Arduino…

// 8. Unaweza kuhitaji kupakua na kusakinisha dereva wa CH340 ikiwa huwezi kupata NodeMCU inazungumza na IDE yako ya Arduino:

// Mara tu mchakato wote hapo juu utakapokamilika tunasoma kupanga programu yetu ndogo ya esp8266 NodeMCU na Arduino IDE.

//9. Chagua NodeMCU V1.0 ESP12E kutoka kwenye menyu ya bodi /

/ 10. Chagua bandari ya COM unayotumia.

// 11. chagua nambari (pakua kutoka kwa www.makersa.ga) na ubofye pakia. /

/ 12. Chomeka servo ndani ya NodeMCU ukitumia waya za kuruka. D0 kuashiria, ardhi chini, + VCC kwa VO au 3V. /

13. Rekebisha pembe ya servo kwa kutumia bisibisi.

// 14. Rekebisha kiwango cha juu na cha chini cha harakati ukitumia nambari.

// 15. Pakia tena kwa NodeMCU wakati wowote nambari inasasishwa.

// Unaweza kupata ni muhimu kujua ni toleo gani la NodeMCU unayo. Hapa kuna mwongozo wa kulinganisha:

frightanic.com/iot/comparison-of-esp8266-no ……. // Mchoro wa NodeMCU v1 pinout: https://frightanic.com/iot/comparison-of-esp8266-no… // Mchoro wa NodeMCU v2: https://frightanic.com/iot/comparison-of-esp8266-no ……. // Mchoro wa NodeMCU v3 pinout:

// Ufafanuzi wa rigs:

// Imetengenezwa kutoka kwa NodeMCU ESP8266 microcontroller, betri au usambazaji wa umeme wa USB, na SG90 Servo

// Unaweza kutumia moduli ya 2 ya esp8266 isiyobadilishwa kama hotspot AP ya beacon badala ya kutumia smartphone, hakuna programu inayohitajika.

Hatua ya 3: Pata Sehemu za Programu

Kwanza utahitaji kupakua bure Arduino IDE

Mhariri wa Wavuti wa Arduino haifanyi kazi na NodeMCU wakati ninaandika hii, kwa hivyo italazimika kusanikisha IDE kwenye kompyuta yako badala yake.

Utahitaji pia kuchukua faili za KaribuBot kutoka www. MakerSa.ga - Kiungo cha kupakua faili kwa mradi huu kimeorodheshwa kwenye wavuti hiyo.

Hatua ya 4: Sakinisha Madereva na Profaili za Bodi

Baadhi ya Habari Inayosaidia
Baadhi ya Habari Inayosaidia

Ndani ya zip ya karibu ya karibu uliyopakua na kufunguliwa itakuwa madereva ya moduli ya NodeMCU. Sakinisha hizo kwenye kompyuta yako.

Ikiwa hizo hazitakufanyia kazi, unaweza kupata madereva CH340G kwenye wemos.cc/downloads

NodeMCU yako haiwezi kutumia CH340G chip, kwa hivyo unaweza kuhitaji kutoa maoni na dereva unayemtafuta, nami nitajibu na kiunga cha kupakua cha dereva huyo.

  1. Ifuatayo, fungua Arduino IDE na uende kwenye Mapendeleo ya FailiMeneja wa Bodi za Ziada katika IDE ya Arduino.
  2. Bandika nambari ifuatayo hapo:
  3. Bonyeza Sawa ili kufunga kichupo cha upendeleo.
  4. Nenda kwa zana na bodi, halafu chagua meneja wa bodi.
  5. Nenda kwa "esp8266 na esp8266 jamii" na usakinishe programu ya Arduino.

Mara tu mchakato wote hapo juu utakapokamilika tuko tayari kupanga mpango wetu mdogo wa esp8266 NodeMCU na Arduino IDE!

Hatua ya 5: Maelezo mengine ya Kusaidia

Baadhi ya Habari Inayosaidia
Baadhi ya Habari Inayosaidia
Baadhi ya Habari Inayosaidia
Baadhi ya Habari Inayosaidia

Unaweza kupata ni rahisi kujua ni toleo gani la NodeMCU unayo. Hapa kuna mwongozo wa kulinganisha:

frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/

Kila toleo lina mipangilio tofauti ya pini. Nilinunua toleo la v3 (Lolin) kwa sababu ina pini za pato la 5V ili kuwezesha motor Servo. Mwishowe nilitumia pini za umeme za volt 3 badala yake kwa usalama (pini za NodeMCU I / O sio za kuvumilia 5V), lakini unaweza kutaka kutumia pini za 5V kwa sababu kiufundi aina hizi za motors za servo zimeainishwa kwa nguvu ya volts 4.5 hadi 5.

Hatua ya 6: Pakia Nambari kwenye NodeMCU

Pakia Nambari kwenye NodeMCU
Pakia Nambari kwenye NodeMCU
Pakia Nambari kwenye NodeMCU
Pakia Nambari kwenye NodeMCU
  1. Chomeka NodeMCU kwenye kompyuta yako kwa kutumia kebo yoyote ndogo ya USB.
  2. Fungua Arduino IDE, na chini ya "Bodi", chagua "ESP12E", na bandari ya COM ya NodeMCU.
  3. Katika IDE, nenda kwenye FileOpen na uvinjari folda ya zip hapo awali iliyopakuliwa kutoka makersa.ga kufungua mchoro wa Arduino uitwao "ProximityActuator013017DonovanMagryta.ino"
  4. Kisha, hariri mstari wa nambari iliyo na hii ili kuongeza jina na nywila ya beacon yako ya WiFi. Zaidi juu ya hiyo hapa chini! Kwa mfano:

const char * ssid = "mywifi"; // Weka jina lako la hotspot ndani ya nukuu

const char * password = "neno langu la siri"; // Weka nenosiri lako la hotspot ndani ya nukuu

Kisha bonyeza "upload" ili kuangaza nambari kwenye ubao wa NodeMCU.

Karibu na karibu hutumia taa ya WiFi inayoweza kukutambulisha kukutambua na kukadiria umbali. Kama vile funguo za ukaribu baadhi ya magari mapya yana kufungua mlango wa gari unapokaribia.

Unaweza kutumia simu yako ya rununu kama taa, au tumia moduli ya bei rahisi ya ESP-01 inayotumiwa na jozi ya betri za AAA au betri ndogo ya lithiamu 3.7v. Hakuna haja ya kupanga programu ya ESP-01, ni chaguo-msingi kwa hali ya hali ya juu wakati inawashwa. Mchoro wa mzunguko wa hiyo umeonyeshwa kwenye hatua hii.

Hatua ya 7: Ambatisha Servo kwa NodeMCU

Utahitaji waya kadhaa za kuruka ili kuziba servo kwenye NodeMCU V3.

Mchoro wa mzunguko ni rahisi.

Bandika D0 kwa ishara kwenye risasi (waya mwembamba zaidi kwenye servo. Kawaida ni ya manjano au nyeupe.)

Bandika 3V au piga VO kwenye mwongozo wa kuingiza 5V (waya wa rangi nyepesi wa pili kwenye servo, kawaida nyekundu au machungwa.)

Piga GND kwenye risasi ya ardhini (waya mweusi zaidi kwenye servo, kawaida kahawia au nyeusi.)

Hatua ya 8: Fanya Sauti Karibu na Karibu

Nambari hubadilisha nguvu ya ishara kwa makadirio ya umbali. Inafanya kazi kwa uaminifu kwa umbali wa majibu chini ya mita 2 au miguu 6.5. Kwa sababu ni ubadilishaji wa moja kwa moja, sio laini kwa umbali wa mbali kuliko mita 3 kwani inaweza kuwa na njia bora ya hesabu. Zaidi juu ya hayo baadaye.

Unaweza kutaka kurekebisha mahali ambapo pembe ya servo (mkono mdogo mweupe unaotembea) umewekwa. Hii imefanywa kwa kufungua tu mkono wa servo na bisibisi, na kuiweka tena.

Sehemu inayofuata ni kurekebisha digrii za juu na za chini za harakati ukitumia nambari.

Hii inaweza kufanywa kwa kubadilisha nambari zilizomo kwenye mistari ambayo inaonekana kama hii:

andika (10); // inasonga mkono wa servo hadi mzunguko wa digrii 10

Unaweza pia kurekebisha unyeti wa nguvu ya ishara kwa kubadilisha nambari hasi kwenye mistari ambayo inaonekana kama hii:

ikiwa (rssi> -30 && rssi <-5) {// Ikiwa nguvu ya ishara ni kali kuliko -30, na dhaifu kuliko -5. kisha fanya yafuatayo…

Hatua ya 9: Jinsi inavyofanya kazi

  1. KaribuBot kwanza huunganisha hotspot mapema wakati watumiaji wanapokaribia.
  2. Inatafuta RSSI (nguvu ya ishara iliyopokea) na inabadilisha hiyo kuwa umbali wa karibu.
  3. Wakati umbali uko ndani ya anuwai maalum, husogeza mkono wa servo motor kwenye nafasi ya 1.
  4. Vinginevyo, motor ya servo imehamishwa hadi nafasi ya 2.

Nilipojaribu hii, upekuzi huu wa RSSI (-50) unasogeza servo kwenye nafasi 1 wakati umbali ni mita 0 hadi 1.5 na taa ya ESP-01 au hotspot ya simu mfukoni.

RSSI kawaida huanguka kati ya -90 hadi -20, na -20 kuwa nguvu ya ishara kali.

Ukifungua Arduino IDE Serial Monitor wakati NearBot imechomekwa kwenye kompyuta, itaonyesha nguvu ya ishara na husababisha alama kwa wakati halisi ili uwe na maoni yanayofaa.

Hapa kuna nambari kamili:

// KABLA YA KUANZA:

// 1. Ikiwa haujapakua Arduino IDE tayari, ipate bure (mchango wa hiari) kwa: https://www.arduino.cc/en/Main/Software // 2. fungua Arduino IDE (ikiwa hausomi hii katika Arduino IDE tayari!)… // 3. Nenda kwenye faili na ubofye upendeleo kwenye IDE ya Arduino… // 4. nakili kiunga hapa chini katika Meneja wa bodi za Ziada: //https://arduino.esp8266.com/stable/package_esp8266com_index.json // 5. bonyeza OK kufunga tab ya upendeleo… // 6. Nenda kwenye zana na bodi, kisha uchague meneja wa bodi… // 7. Nenda kwa esp8266 na jamii ya esp8266 na usakinishe programu ya Arduino… // 8. Unaweza kuhitaji kupakua na kusanikisha dereva wa CH340 ikiwa huwezi kupata NodeMCU inazungumza na IDE yako ya Arduino: https://www.arduino.cc/en/Main/Software // Mara tu mchakato wote hapo juu utakapokamilika soma kupanga programu yetu ndogo ya esp8266 NodeMCU na Arduino IDE. Unaweza kutaka kujua ni toleo gani la NodeMCU unayo. Hapa kuna mwongozo wa ulinganisho: hotspot AP badala ya kutumia smartphone. // Mzunguko wa KaribuBot: // pini ya D0 kwa waya wa ishara ya Servo (waya mwembamba zaidi wa rangi) // pini ya 3V kwa waya ya servo 5v (waya wa kati) (iliyochorwa sambamba na kebo ya usb au pini ya VO kwenye NodeMCU ikiwa una V3. / / Nguvu ya USB kuziba USB kwenye waya wa NodeMCU // GND kwa waya wa Servo Ground (waya mweusi zaidi wa rangi) // Mistari ya kumbuka huanza na mipasuko miwili ya mbele, na hupuuzwa na kompyuta. Vidokezo ni vyetu tu wanadamu! # Pamoja na # pamoja // Inaweza kuhitajika kwa uchapishaji wa serial. # Ikiwa ni pamoja na maktaba ya Servo #fafanua D0 16 // Inafafanua pini ili kufanya pini iwe rahisi. #Fafanua D1 5 // I2C Bus SCL (saa) #fafanua D2 4 // I2C Basi SDA (data) #fafanua D3 0 #fafanua D4 2 // Sawa na "LED_BUILTIN", lakini mantiki iliyogeuzwa #fafanua D5 14 // SPI Bus SCK (saa) #fafanua D6 12 // SPI Bus MISO #fafanua D7 13 // SPI Basi la MOSI #fafanua D8 15 // SPI Bus SS (CS) #fafanua D9 3 // RX0 (Serial console) #fafanua D10 1 // TX0 (Serial console) Servo myservo; // Unda kitu cha servo kinachoitwa myservo // Simu au moduli ya ziada ya ESP8266 iliyowekwa kwenye hali ya hotspot AP: const ch ar * ssid = ""; // Weka jina lako la hotspot ndani ya nukuu const char * password = ""; // Weka nenosiri lako la hotspot ndani ya usanidi batili wa nukuu () {Serial.begin (115200); // huweka kiwango cha baud mfululizo ili mdhibiti mdogo aweze kuzungumza na kiwambo cha kuchapisha cha serial katika IDE ya Arduino - Unaweza kuhitaji kuibadilisha iwe 9600 badala yake! ambatisha myservo (D0); // inaambatisha servo kwenye pini D0 aka GPIO16 kwa kitu cha servo - Tazama zaidi kwa: https://www.esp8266.com/viewtopic.php?f=32&t=8862#… myservo.write (10); // inasonga mkono wa servo kwa mzunguko wa digrii 10 Serial.println ("Imefungwa"); // pato mfuatiliaji wa serial neno "Imefungwa" WiFi.mode (WIFI_STA); // Inaweka wifi kwa mode ya Kituo cha WiFi. Kuanza (ssid, password); // Inaunganisha kwa hotspot beacon} batili kitanzi () {// Kitanzi kinaendesha tena na tena haraka ikiwa (WiFi.status ()! = WL_CONNECTED) {// Ikiwa wifi haijaunganishwa, fanya yafuatayo… Serial.println ("Haikuweza kupata muunganisho wa wifi"); andika (10); // Inahamisha mkono wa servo hadi digrii 10 Serial.println ("Imefungwa"); } vingine {// Ikiwa WiFi imeunganishwa, basi fanya zifuatazo… rssi ndefu = WiFi. RSSI (); // Inaunda kutofautisha iitwayo rssi na kuipatia kazi ambayo inarudisha usomaji wa nguvu ya ishara ya hotspot beacon Serial.print (rssi); // hutoa kusoma kwa rssi kwa mfuatiliaji wa serial ikiwa (rssi> -50 && rssi <-5) {// Ikiwa nguvu ya ishara ni kali kuliko -50, na dhaifu kuliko -5. kisha fanya yafuatayo… myservo.write (170); // Zungusha mkono wa servo hadi digrii 170 Serial.println ("Imefunguliwa"); } vingine {// Ikiwa hali zilizo hapo juu hazikutimizwa basi fanya yafuatayo… myservo.write (10); // Inazunguka mkono wa servo kurudi digrii 10. Serial.println ("Imefungwa"); }}}

Hatua ya 10: Unapaswa kujua…

Kanusho:

Upunguzaji wa sasa wa nambari ya NearBot inafanya kazi kwa kuaminika kwa umbali chini ya mita 2 au miguu 6.5. Zaidi ya hayo, inakuwa chini ya usahihi, lakini bado inafanya kazi.

Hii inaweza kurekebishwa, lakini kwa sasa sijui jinsi ya kufanya hivyo. Ningependa ikiwa mtu angefanya kazi na mimi ili nipate kusasisha mafunzo haya kwa njia sahihi zaidi ya kuhesabu umbali!

Viungo hivi vinaweza kuwa rahisi: YouTuber CNLohr ilitengeneza firmware na umbali wa kuhisi msimamo kwa ESP8266 na mafanikio madogo:

Espressif aliunda kazi ya kugundua umbali wa Ndege ambayo ingefanya kazi na Arduino IDE kwa ESP8266, lakini hakuiachilia:

Mfumo wa kuweka nafasi ya SubPos hutumia moduli za ESP8266 na Hesabu ya Kupoteza Njia, ambayo ndio sijui jinsi ya kutekeleza katika Arduino IDE:

Nilipata mfano katika lugha ya Java, lakini sijui jinsi ya kuiga hii ni Arduino IDE:

umbali mara mbili = Math.pow (10.0, (((mara mbili) (tx_pwr / 10)) - rx_pwr - 10 * Math.log10 (4 * Math. PI / (c / frequency))) / (20 * mu));

Hatua ya 11: Hiyo Ndio Yote

Ikiwa unafanya Karibu yako mwenyewe, tuma yako "Nimeifanya" katika maoni hapa chini!

Ikiwa una maoni zaidi ya nini cha kutumia jukwaa la Versatile NearBot, tafadhali toa maoni yako! Inaweza kuwa msukumo mzuri kwa watumiaji wengine wa kufundisha!

Ikiwa unafurahiya mafunzo haya, tafadhali fikiria kupiga kura kwa anayeweza kufundishwa kwenye mashindano!

Ilipendekeza: