Sisällysluettelo:
- Vaihe 1: Hanki laitteisto -osat
- Vaihe 2: Pika -aloitus
- Vaihe 3: Hanki ohjelmiston osat
- Vaihe 4: Asenna ohjaimet ja piiriprofiilit
- Vaihe 5: Hyödyllistä tietoa
- Vaihe 6: Lataa koodi NodeMCU: hon
- Vaihe 7: Kiinnitä servo NodeMCU: hon
- Vaihe 8: Hienosäädä NearBot
- Vaihe 9: Näin se toimii
- Vaihe 10: Sinun pitäisi tietää…
- Vaihe 11: Siinä kaikki
Video: Monipuolinen NearBot: 11 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tämä opas näyttää sinulle kuinka rakentaa monipuolinen robotin liipaisin, joka voi liikuttaa jotain, kuten painiketta, kytkintä tai soittaa eri laitteilla, kun olet (puhelimesi tai majakka taskussa) lähellä. Tämä tarkoittaa, että se voi automaattisesti avata ja lukita oven salvan, kun * vain sinä * ohitat, sulje sprinkleriventtiilin, jotta voit kulkea veden läpi vahingoittumattomana kuin eräänlainen esikaupunki Mooses, pienentää kaiuttimien äänenvoimakkuutta, kun olet autotallissa bändihuone, käynnistää iPodin, joka toistaa dramaattisen esitysvirheen tai kertoa vitsin (Jaden Smith twiitti?), kun olet huoneessa, tai keskeyttää elokuvan, kun nouset käyttämään wc: tä.
Tämä projekti ei vaadi juottamista tai erikoistyökaluja
Jos pidät näistä ohjeista tarpeeksi, harkitse tämän ohjeen äänestämistä Robotics 2017 -kilpailussa!
Vaihe 1: Hanki laitteisto -osat
Tarvitset:
- NodeMCU v2 tai V3
- Micro 9G Servo Motor noin 1,40 dollaria USD ilmainen toimitus eBayssa tai Aliexpressissä
- Arduino -hyppyjohdot naaras -uros.
- Kotelo NearBotille - käytin löytämääni muoviromulaatikkoa.
- Mikro -USB -datakaapeli (vanhat puhelimen osat)
- USB -virtalähde (romulaitelaturi)
Jos sinulla ei ole älypuhelinta, jossa on mobiilipisteominaisuus, tarvitset myös:
- ESP-01-moduuli noin 2,50 USD USD ilmainen toimitus DealExtreme-, GearBest-, Ebay- tai Aliexpress-palveluissa.
- 1 Yhdistä AAA -paristot
- kaksi AAA -paristopidikettä kytkimellä
Vaihe 2: Pika -aloitus
Tämä vaihe sisältää pikaoppaan, jos pidät tällaisesta asiasta. Loput tästä ohjeesta kulkevat askel askeleelta ja lisäävät syvällisempää tietoa
// Ostoslista: // NodeMCU V3 (Lolin) ESP8266 -mikrokontrolleri
// SG90 9G servomoottori
// USB -virtapankki tai USB -seinäsovitin.
// Micro USB data/latauskaapeli
// Arduinon uros -naaras tyyppiset hyppyjohdot
//ENNEN KUIN ALOITAT:
// 1. Jos et ole jo ladannut Arduino IDE: tä, hanki se ilmaiseksi (lahjoitus valinnainen) osoitteessa:
// 2. avaa Arduino IDE (jos et lue tätä jo Arduino IDE: ssä!)…
// 3. Siirry tiedostoihin ja napsauta asetusta Arduino IDE: ssä…
// 4. kopioi alla oleva koodi Lisäkorttien hallintaan: //https://arduino.esp8266.com/stable/package_esp8266com_index.json
// 5. sulje asetusvälilehti napsauttamalla OK…
// 6. Siirry työkaluihin ja taululle ja valitse sitten hallituksen johtaja…
// 7. Siirry esp8266 by esp8266 -yhteisöön ja asenna ohjelmisto Arduinolle …
// 8. Sinun on ehkä ladattava ja asennettava CH340 -ohjain, jos et saa NodeMCU: ta puhumaan Arduino IDE: si kanssa:
// Kun kaikki yllä olevat prosessit on suoritettu, meidät luetaan ohjelmoimaan esp8266 NodeMCU -mikro -ohjaimemme Arduino IDE: llä.
//9. Valitse NodeMCU V1.0 ESP12E tauluvalikosta /
/10. Valitse käyttämäsi COM -portti.
// 11. valitse koodi (lataa osoitteesta www.makersa.ga) ja napsauta lataa. /
/12. Liitä servo NodeMCU -laitteeseen hyppyjohtimilla. D0 antaa signaalin, maasta maahan, +VCC VO: han tai 3V. /
/13. Säädä servotorvea ruuvimeisselillä.
// 14. Säädä liikkeen enimmäis- ja minimiasteet koodin avulla.
// 15. Lataa uudelleen NodeMCU: han aina, kun koodi päivitetään.
// Saatat pitää tärkeänä selvittää, mikä NodeMCU -versio sinulla on. Tässä vertailuopas:
frightanic.com/iot/comparison-of-esp8266-no… // NodeMCU v1 pinout -kaavio: https://frightanic.com/iot/comparison-of-esp8266-no… // NodeMCU v2 pinout -kaavio: https://frightanic.com/iot/comparison-of-esp8266-no… // NodeMCU v3 pinout -kaavio:
// Laitteiden selitykset:
// Valmistettu NodeMCU ESP8266 -kontrollerista, akusta tai USB -virtalähteestä ja SG90 Servosta
// Voit käyttää toista modifioimatonta esp8266 -moduulia majakkapisteen tukiasemana älypuhelimen käyttämisen sijaan, ohjelmointia ei tarvita.
Vaihe 3: Hanki ohjelmiston osat
Sinun on ensin ladattava ilmainen Arduino IDE
Arduino Web Editor ei toimi NodeMCU: n kanssa kirjoittaessani tätä, joten sinun on asennettava IDE tietokoneellesi.
Sinun täytyy myös napata NearBot -tiedostot osoitteesta www. MakerSa.ga - Tämän projektin tiedoston latauslinkki on lueteltu kyseisellä sivustolla.
Vaihe 4: Asenna ohjaimet ja piiriprofiilit
Lataamasi ja puretun NearBot -zipin sisällä on NodeMCU -moduulin ohjaimet. Asenna ne tietokoneellesi.
Jos nämä eivät toimi sinulle, voit ehkä löytää CH340G -ajurit osoitteesta wemos.cc/downloads
NodeMCU -laitteesi ei ehkä käytä CH340G -sirua, joten sinun on ehkä kommentoitava etsimäsi ohjaimen kanssa, ja minä vastaan kyseisen ohjaimen latauslinkillä.
- Avaa seuraavaksi Arduino IDE ja siirry Arduino IDE: n File PreferencesAdditional Boards Manager -ohjelmaan.
- Liitä seuraava koodi sinne:
- Sulje asetusvälilehti napsauttamalla OK.
- Siirry työkaluihin ja taululle ja valitse sitten hallituksen hallitsija.
- Siirry kohtaan "esp8266 by esp8266 community" ja asenna Arduinon ohjelmisto.
Kun kaikki yllä olevat prosessit on saatu päätökseen, olemme valmiita ohjelmoimaan esp8266 NodeMCU -mikro -ohjaimen Arduino IDE: llä!
Vaihe 5: Hyödyllistä tietoa
Saatat olla kätevää selvittää, mikä NodeMCU -versio sinulla on. Tässä on vertailuopas:
frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/
Jokaisessa versiossa on erilaiset pin -järjestelyt. Ostin v3 (Lolin) -version, koska siinä on 5 V: n ulostulonapit servomoottorin virransyöttöön. Lopulta käytin sen sijaan 3 voltin virtatappeja sen sijaan turvallisuuden vuoksi (NodeMCU I/O -nastat eivät ole 5 V: n toleranssia), mutta saatat haluta käyttää 5 V: n nastoja, koska teknisesti tällaiset servomoottorit on määritetty 4,5--5 voltin teholle.
Vaihe 6: Lataa koodi NodeMCU: hon
- Liitä NodeMCU tietokoneeseen millä tahansa mikro -USB -kaapelilla.
- Avaa Arduino IDE ja valitse "Taulut" -kohdasta "ESP12E" ja NodeMCU: n COM -portti.
- Siirry IDE: ssä FileOpeniin ja selaa aiemmin makersa.gasta ladattua zip -kansiota avataksesi Arduino -luonnoksen nimeltä "ProximityActuator013017DonovanMagryta.ino"
- Muokkaa sitten tätä sisältävää koodiriviä lisätäksesi WiFi -majakan nimen ja salasanan. Siitä lisää alla! Esimerkiksi:
const char* ssid = "mywifi"; // Laita hotspotin nimi lainausmerkkien sisään
const char* password = "mywifipassword"; // Laita hotspot -salasanasi lainausmerkkien sisään
Napsauta sitten "lataa", jotta koodi vilkkuu NodeMCU -kortille.
NearBot käyttää taskukäyttöistä WiFi -majakkaa tunnistamaan sinut ja arvioimaan etäisyyden. Aivan kuten läheisyysavaimet, joillakin uudemmilla autoilla on oven lukitus, kun avaat auton.
Voit käyttää älypuhelimesi mobiilipistettä majakkana tai vaihtoehtoisesti käyttää halpaa ESP-01 WiFi-moduulia, joka saa parin AAA-paristoja tai pienen 3,7 voltin litium-akun. ESP-01: tä ei tarvitse ohjelmoida, se on oletusarvoisesti hotspot-tila, kun se kytketään päälle. Kytkentäkaavio on esitetty tässä vaiheessa.
Vaihe 7: Kiinnitä servo NodeMCU: hon
Tarvitset joitakin hyppyjohtoja, kun haluat kytkeä servon NodeMCU V3: een.
Kytkentäkaavio on yksinkertainen.
Kiinnitä D0 johdon signaaliin (servon vaalein värilanka. Yleensä keltainen tai valkoinen.)
Kiinnitä 3 V tai nasta VO 5 V: n syöttöjohtoon (servon toiseksi vaalein värilanka, yleensä punainen tai oranssi).
Kiinnitä GND maajohtoon (servon tumminvärinen lanka, yleensä ruskea tai musta.)
Vaihe 8: Hienosäädä NearBot
Koodi muuntaa signaalin voimakkuuden etäisyyden arviointiin. Se toimii luotettavasti alle 2 metrin tai 6,5 jalan reaktioetäisyyksillä. Koska se on suora muunnos, se ei ole yhtä tasainen kauempana kuin 3 metrin etäisyyksillä, koska se voisi mahdollisesti olla paremmalla laskentamenetelmällä. Siitä lisää myöhemmin.
Voit halutessasi säätää, missä servosarvi (pieni valkoinen varsi, joka liikkuu) on sijoitettu. Tämä tehdään yksinkertaisesti avaamalla servovarsi ruuvimeisselillä ja asettamalla se uudelleen.
Seuraava osa on säätää liikkeen enimmäis- ja minimiasteita koodin avulla.
Tämä voidaan tehdä muuttamalla seuraavan rivin numeroita:
myservo.write (10); // siirtää servovartta 10 asteen kiertoon
Voit myös säätää signaalin voimakkuuden herkkyyttä muuttamalla negatiivisia numeroita seuraavilla riveillä:
if (rssi> -30 && rssi <-5) {// Jos signaalin voimakkuus on vahvempi kuin -30 ja heikompi kuin -5. tee sitten seuraava…
Vaihe 9: Näin se toimii
- NearBot muodostaa ensin yhteyden hotspotiin etukäteen käyttäjien lähestyessä.
- Se skannaa RSSI: n (vastaanotetun signaalin voimakkuuden) ja muuntaa sen likimääräiseksi etäisyydeksi.
- Vaikka etäisyys on määritellyllä alueella, se siirtää servomoottorin varren asentoon 1.
- Muussa tapauksessa servomoottori siirretään asentoon 2.
Kun testasin tätä, tämä RSSI-viritys (-50) siirtää servon asentoon 1, kun etäisyys on 0-1,5 metriä ESP-01-majakka tai puhelimen hotspot taskussani.
RSSI on tyypillisesti alueella -90 --20, ja -20 on voimakkain signaalin voimakkuus.
Jos avaat Arduino IDE -sarjamonitorin, kun NearBot on kytketty tietokoneeseen, se näyttää signaalin voimakkuuden ja liipaisupisteet reaaliajassa, jotta saat kätevää palautetta.
Tässä on täydellinen koodi:
//ENNEN KUIN ALOITAT:
// 1. Jos et ole jo ladannut Arduino IDE: tä, hanki se ilmaiseksi (lahjoitus valinnainen) osoitteessa: https://www.arduino.cc/en/Main/Software // 2. avaa Arduino IDE (jos et lue tätä jo Arduino IDE: ssä!)… // 3. Siirry tiedostoihin ja napsauta Arduino IDE: n asetusta… // 4. kopioi alla oleva linkki Lisäkorttien hallintaan: //https://arduino.esp8266.com/stable/package_esp8266com_index.json // 5. sulje asetusvälilehti napsauttamalla OK… // 6. Siirry työkaluihin ja taululle ja valitse sitten hallituksen hallinta… // 7. Siirry esp8266 by esp8266 -yhteisöön ja asenna Arduinon ohjelmisto… // 8. Sinun on ehkä ladattava ja asennettava CH340 -ohjain, jos et saa NodeMCU: ta puhumaan Arduino IDE -laitteesi kanssa: https://www.arduino.cc/en/Main/Software // Kun kaikki yllä olevat prosessit on suoritettu lue ohjelmoidaksesi esp8266 NodeMCU -mikro -ohjaimemme Arduino IDE: llä. Haluat ehkä selvittää, mikä NodeMCU -versio sinulla on. Tässä on vertailuopas: https://www.arduino.cc/en/Main/Software // Valmistettu NodeMCU ESP8266 -mikro -ohjaimesta, akusta tai USB -virtalähteestä ja SG90 Servosta // Voit käyttää toista muuttamatonta esp8266 -moduulia majakkana hotspot AP älypuhelimen käytön sijaan. // NearBot -piiri: // D0 -nasta servosignaalijohtoon (vaalein värilanka) // 3 V -nasta servo -5 V -johtoon (keskijohto) (liitetty rinnakkain USB -kaapelin tai NodeMCU: n VO -nastan kanssa, jos sinulla on V3. / /NodeMCU: n USB -liitäntä USB -pistokkeeseen // GND -nasta - Servo -maadoitusjohto (tumminvärinen johto) // Huomautusrivit alkavat kahdella kauttaviivalla, eivätkä tietokoneet huomioi niitä. Muistiinpanot ovat vain meille ihmisille! #Include #include // Voi olla tarpeen sarjatulostuksessa. #Include // Servokirjasto #define D0 16 // Määrittää nastat helpottaakseen nastien määrittämistä. #Define D1 5 // I2C Bus SCL (kello) #define D2 4 // I2C Bus SDA (data) #define D3 0 #define D4 2 // Sama kuin "LED_BUILTIN", mutta käänteinen logiikka #define D5 14 // SPI Bus SCK (kello) #define D6 12 // SPI Bus MISO #define D7 13 // SPI Bus MOSI #define D8 15 // SPI Bus SS (CS) #define D9 3 // RX0 (Serial console) #define D10 1 // TX0 (Serial console) Servo myservo; // Luo servobjekti nimeltä myservo // Puhelin tai ylimääräinen ESP8266 -moduuli asetettu hotspot -AP -tilaan: const ch ar* ssid = ""; // Laita yhteyspisteen nimi lainausmerkkeihin const char* password = ""; // Laita hotspot -salasanasi quotes void setup () {Serial.begin (115200); // asettaa sarjasiirtonopeuden, jotta mikro -ohjain voi puhua Arduino IDE -sarjan tulostusliittymän kanssa - Sinun on ehkä vaihdettava se 9600: een! myservo.attach (D0); // liittää servon nastaan D0 eli GPIO16 servo -objektiin - Katso lisää osoitteesta: https://www.esp8266.com/viewtopic.php?f=32&t=8862#… myservo.write (10); // siirtää servovartta 10 asteen kiertoon Serial.println ("Lukittu"); // antaa sarjamonitorille sanan "Lukittu" WiFi.mode (WIFI_STA); // Asettaa wifi -aseman tilaan WiFi.begin (ssid, salasana); // Yhdistää hotspot -majakkaan} void loop () {// Silmukka kulkee uudestaan ja uudestaan nopeasti, jos (WiFi.status ()! = WL_CONNECTED) {// Jos wifi EI ole yhteydessä, toimi seuraavasti… Serial.println ("Wifi -yhteyttä ei voitu saada"); myservo.write (10); // Siirtää servovartta 10 asteen sarjaan.println ("Lukittu"); } else {// Jos WiFi on kytketty, toimi seuraavasti … long rssi = WiFi. RSSI (); // Luo muuttujan nimeltä rssi ja määritä se funktiolle, joka palauttaa hotspot -majakan Serial.print (rssi) signaalin voimakkuuden lukeman; // antaa rssi -lukeman sarjamonitorille, jos (rssi> -50 && rssi <-5) {// Jos signaalin voimakkuus on vahvempi kuin -50 ja heikompi kuin -5. tee sitten… myservo.write (170); // Käännä servovarsi 170 astetta Serial.println ("lukitsematon"); } else {// Jos yllä olevat ehdot eivät täyty, toimi seuraavasti: myservo.write (10); // Kääntää servovartta takaisin 10 astetta. Serial.println ("Lukittu"); }}}
Vaihe 10: Sinun pitäisi tietää…
Vastuuvapauslauseke:
NearBot -koodin nykyinen iterointi toimii luotettavasti alle 2 metrin tai 6,5 jalan etäisyyksillä. Tämän lisäksi se on vähemmän tarkka, mutta toimii silti.
Tämä voidaan korjata, mutta tällä hetkellä en tiedä miten tehdä se. Olisin iloinen, jos joku työskentelisi kanssani, jotta voin päivittää tämän ohjeen tarkemmalla etäisyyslaskentamenetelmällä!
Nämä linkit voivat olla käteviä: YouTuber CNLohr kehitti etäisyyden ja sijainnin tunnistavan laiteohjelmiston ESP8266: lle, mutta menestyksekkäästi:
Espressif kehitti lennon ajan etäisyyden tunnistustoiminnon, joka toimisi ESP8266: n kanssa Arduino IDE: n kanssa, mutta ei koskaan julkaissut sitä:
SubPos -paikannusjärjestelmä käyttää ESP8266 -moduuleja ja polkuhäviölaskentaa, jota en tiedä miten toteuttaa Arduino IDE: ssä:
Löysin esimerkin Java -kielellä, mutta en tiedä kuinka kopioida tämä on Arduino IDE:
kaksinkertainen etäisyys = Math.pow (10,0, (((double) (tx_pwr/10)) - rx_pwr - 10*Math.log10 (4*Math. PI/(c/taajuus)))/(20*mu));
Vaihe 11: Siinä kaikki
Jos teet oman NearBotin, lähetä "Tein sen" alla oleviin kommentteihin!
Jos sinulla on muita ideoita siihen, mihin Versatile NearBot -alusta voidaan käyttää, kommentoi ideasi! Se voisi olla loistava inspiraatio muille ohjeiden käyttäjille!
Jos pidät tästä opetusohjelmasta, harkitse tämän ohjeellisen äänestämistä kilpailussa!
Suositeltava:
Monipuolinen I/O -laajenninpiirilevy monien Nixie -putkien ohjaamiseen I2C: llä: 9 vaihetta (kuvilla)
Monipuolinen I/O -laajenninpiirilevy monien Nixie -putkien hallintaan I2C: llä: Tällä hetkellä on kiinnostusta tuoda vintage nixie -putket eloon. Markkinoilla on saatavana paljon nixie -putkikelloja. Näytti olevan jopa vilkas kauppa vanhojen venäläisten nixie -putkien varastossa. Myös täällä Instructables siellä
Dynaframe - monipuolinen valokuva- / videokehys !: 6 vaihetta
Dynaframe - monipuolinen valokuva- / videokehys !: Huomautus: Olen päättänyt lisätä tämän remix -sisältöön! Harkitse minua, jos pidät tätä projektia nautinnollisena! Hei! Dynaframe on digitaalinen valokuvakehys, jonka tarkoituksena on olla erilainen. Kävin läpi kymmeniä toteutuksia, mutta
Monipuolinen voltti-, ampeeri- ja tehomittari: 6 vaihetta (kuvilla)
Monipuolinen voltti-, ampeeri- ja tehomittari: Yleismittarit sopivat moneen tarkoitukseen. Mutta yleensä ne mittaavat vain yhden arvon kerrallaan. Jos käsittelemme tehomittauksia, tarvitsemme kaksi yleismittaria, toinen jännitteelle ja toinen ampeerille. Ja jos haluamme mitata tehokkuutta, tarvitsemme neljää
Monipuolinen ja edullinen digitaalinen laskuri: 5 vaihetta (kuvilla)
Monipuolinen ja edullinen digitaalinen laskuri: Tämä hakata muuttaa halvan helposti hankitun laskimen monipuoliseksi laskukoneeksi. Sitä voidaan käyttää halvalla menetelmällä etäisyyden mittaamiseen pyörän, ruoko -kytkimen ja magneetin avulla (ajattele pyörämatkamittaria). Joten mitä muuta voit kysyä? No, hei
Halpa ja monipuolinen AA -taskulampun pidike: 3 vaihetta
Halpa ja monipuolinen AA -taskulampun pidike: Minulla on riippuvuus taskulampuista, erityisesti LED -valoista, ne ovat käteviä ja tehokkaita, mutta minne laittaa ne, kun niitä ei käytetä? Työskentelin eri Instructables -ohjelmien parissa ja törmäsin pakettiin "Spring Grips" paikallisessa laitteistost