Sisällysluettelo:
- Vaihe 1: Jotkut tiedot App.remoteme.org -sivustosta
- Vaihe 2: Mitä tarvitaan:
- Vaihe 3: Liitännät
- Vaihe 4: PCB
- Vaihe 5: PCB -lähdöt
- Vaihe 6: Kuinka se toimii
- Vaihe 7: Auton kokoaminen - Pyörät
- Vaihe 8: Virta (AA -paristot) Vaihtoehto 1/2
- Vaihe 9: Virta (7,2 V: n Li-Po-akut) Vaihtoehto 2/2
- Vaihe 10: Juotos
- Vaihe 11: Kamera
- Vaihe 12: Autojen osien yhdistäminen
- Vaihe 13: App.remoteme.org -määritykset
- Vaihe 14: RasbperryPi -määritykset
- Vaihe 15: Yhteyksien tarkistaminen
- Vaihe 16: Python -komentosarjan lisääminen
- Vaihe 17: Tarkista, onko Python -komentosarja lisätty onnistuneesti
- Vaihe 18: Verkkosivun lisääminen Control Cariin
- Vaihe 19: Määritä WebPage -laite ohjaamaan autoa 1/2
- Vaihe 20: Määritä WebPage -laite ohjaamaan autoa 2/2
- Vaihe 21: Avaa auton ohjauskeskus
- Vaihe 22: Kameran asetukset 1/2
- Vaihe 23: Kameran määritykset 2/2
- Vaihe 24: Ajaminen 1/2
- Vaihe 25: Ajaminen 2/2
- Vaihe 26: Miten se toimii?
- Vaihe 27: Tabletti, mobiiliohjaus
- Vaihe 28: Avaa sivu matkapuhelimessa
- Vaihe 29: Turn -palvelimen lisääminen
- Vaihe 30: Mobiiliohjaus
- Vaihe 31: Yhteenveto
Video: RasbperryPi -auto FPV -kameralla. Hallinta verkkoselaimella: 31 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Rakennamme 4wd -auton - ohjaus on samanlainen kuin tankissa - kääntääksesi pyörien toista puolta eri pyörimisnopeudella kuin toinen. Autossa kamera asetetaan erityiseen pidikkeeseen, jossa voimme muuttaa kameran asentoa. Robottia ohjataan verkkoselaimella (kromi tai firefox työpöydällä tai Firefox matkapuhelimella), selaimella, saamme kameravideon (vain 200 ms: n viiveellä), ja selaimesta voimme hallita auton liikkeitä ja kameran asento. Viestinnän helpottamiseksi olen käyttänyt app.remoteme.org -järjestelmää, ja tämän tyyppistä autoa ohjataan myös laatikosta, joten sinun ei tarvitse kirjoittaa omaa koodiasi, mutta voit tietysti muokata skriptejä lisää uusia mahdollisuuksia jne.
Tarkista kaikki liitännät ennen virran kytkemistä piirilevyyn
Vaihe 1: Jotkut tiedot App.remoteme.org -sivustosta
Järjestelmässä on kolme osaa
- verkkosovellus - kun isännöit ohjaussivujasi ja se linkittää kaiken viestinnän
- rasbperryPi -ohjelma - ohjelma, joka lähettää videota, hallitsee python -komentosarjojasi
- kirjastot, joista löydät luokan, toimintojen määritelmät
Remoteme.org on järjestelmän nopea Voit linkittää kaikki laitteesi yhteen, voit isännöidä siellä verkkosivujasi, tarkastella yhdistettyjä laitteitasi. Remoteme.org -järjestelmä on suunniteltu auttamaan sinua aloittamaan projektiesi tekeminen, ilman huolta protokollaviestinnästä. Pääidea on lähettää binääriviestejä eri laitteiden, kuten verkkosivujen, RasbeprryPI: n, arduino -ohjelmien ja skriptien, välillä.
Toisaalta Remoteme.org antaa sinulle täyden hallinnan tiedostoistasi, voit helposti muokata sitä kirjoittamalla omat toiminnot
Tässä opetusohjelmassa näytän sinulle, miten voit tehdä mahtavan projektin ilman koodia kirjoittamista.
Tämän opetusohjelman loppuun olen laittanut hyödyllisiä linkkejä, jotka auttavat sinua ymmärtämään remoteme.org -järjestelmän.
Vaihe 2: Mitä tarvitaan:
- Vadelma PI Zero W
- Erillinen kamera
- Adafruit 16 -kanavainen 12 -bittinen PWM/servo -ohjain - I2C -liitäntä - PCA9685 tai sen klooni
- Kaksi servomekanismia, jotka ovat yhteensopivia kameran pidikkeen kanssa
- Kameran pidike
- Akut - Opetusohjelmassa kaksi liitäntämahdollisuutta
- H -silta TB6612FNG, pyörän kelan ohjaamiseen
- PCB-kotkatiedostot Lämmönsiirtomenetelmästä on helppo tehdä DC-DC
- Vaihe alas -muunninmoduuli DC
- Robottikotelo
Vaihe 3: Liitännät
Raspberry pi -ohjaus servomekanismi PWM -moduulin kautta ja moottorin nopeus H -sillan kautta, joka on kytketty RasbperryPi -nastoihin, PWM -tulo H -siltaan generoidaan samalla moduulilla, jota käytin servoille (joita osia edellä mainitsen, ei tarvita logiikkamuuntimia)
Vaihe 4: PCB
Voit ladata PCB -kotkatiedostoja täältä. Polut ovat rasvaa, joten se on helppo tehdä lämmönsiirtomenetelmällä
Vaihe 5: PCB -lähdöt
- Käyttömoottorien PWM -tulo Liitetään PWM -moduulin 15. ja 16. nastaan (tarkista vihreä suorakulmio PWM -moduulin kuvasta)
- Käyttömoottorien tehonsyöttö (tarkista, millä maksimijännitteellä moottorisi voivat toimia)
- RasbperryPi- ja PWM -moduulin virran on oltava täsmälleen
- Käyttömoottorin lähdöt (lähtöjä on kaksi, koska pariliitämme moottorit)
- Servomekanismien teho - myös Sinun on tarkistettava, mikä jännite on hyvä heille
- Hyppää nykyiseen tehoonsa viidennestä tulosta, joka käyttää myös moottoreita, joten tuloon 2 ei tarvitse liittää mitään
- Hyppyjohdin, jos läsnä RasbperryPi saa virran 3. tulosta - ennen kuin asetat hyppyjohtimen tähän, tarkista, ovatko liitännät kunnossa - et halua polttaa RPi: täsi
- Annetaan juottaa tänne kaapeleita, koska emme tarvitse logiikkamuuntimia
Vaihe 6: Kuinka se toimii
RasbperryPissä on python -skripti, joka käyttää kahta kirjastoa
- tuoda RPi. GPIO GPIO: na-nastat 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM-merkintä), jotka on kytketty H-siltaan
- Tuo Adafruit_PCA9685 PWM -moduulille
RPI-nastat on kytketty seuraavasti 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) ja H-sillan ohjaustapa (eteenpäin, taaksepäin, pysäytys, lyhyt tauko). H -silta tarvitsee myös kaksi PWM -signaalia, jotta voimme hallita nopeutta tai moottorin pyörimistä. Koska projektissa meillä on jo PWM -ohjain (jota käytetään servolle), käytämme sitä myös PWM: n luomiseen H -siltaa varten.
PWM -moduuli käyttää I2C -yhteyskäytäntöä. Olen käyttänyt Adafruit_PCA9685 -laatikon ulkopuolista työskentelyä. kirjasto
Vaihe 7: Auton kokoaminen - Pyörät
Aloitamme käyttömoottorien liittämisestä auton koteloon. Vasemman-/sivupuoleiset moottorit kytkeytyvät yhteen ja molemmat muodostavat pariliitoksen johonkin virtajohtoon, joka myöhemmin liitetään piirilevyyn. TÄRKEÄ HUOMAUTUS moottoria liitettäessä molemmin puolin pyörien on pyöritettävä samaan suuntaan.
Vaihe 8: Virta (AA -paristot) Vaihtoehto 1/2
Kirjoitan kaksi tehoa. Auto Ensimmäinen on 10xAA -latausparistoista. Viimeisenä kuvassa olen piirtänyt punaiset värit, jotka on asetettava.
Vaihe 9: Virta (7,2 V: n Li-Po-akut) Vaihtoehto 2/2
Toinen vaihtoehto on 7,2 LI-PO -akku. Tässä tapauksessa saimme 3 jännitettä - 5 V Rpi: lle ja moduulille, 6 V servoille ja suoraan akkuilta 7,2 volttia käyttömoottoreille. Minun piti käyttää kahta askelmoduulia
Vaihtoehto 2 LI-PO: n kanssa on parempi:
- Akkujen kapasiteetti on suurempi - auto ajaa pidempään
- Suurempi jännite käyttömoottoreille - auto ajaa nopeammin
- Vähemmän todennäköistä, että sen jälkeen, kun käyttömoottorit alkavat paikata, jännitehäviö ja RPI käynnistyy uudelleen.
Vaihe 10: Juotos
Olen laittanut piirilevylle joitain PWM -moduulin välikappaleita. Ei ole mitään kirjoitettavaa, katso vain kuvia, kuinka juottaa kaikki yhteen
Vaihe 11: Kamera
Yhdistämme kameran, tässä on kirjoitettu, miten servomekanismit keskitetään ennen kameran pidikkeeseen kiinnittämistä, mutta lyhin tapa on tarkistaa varovasti manuaalisesti suurin pyörimisasento ja asettaa servot keskiasentoon. Nämä keskitetyt servomekanismit laitamme kameran pidikkeeseen keskiasennossa (kamera osoittaa suoraan eteenpäin kuten valokuvassa)
Vaihe 12: Autojen osien yhdistäminen
PCB: lle olen tehnyt pienen pleksilasipöydän
Vaihe 13: App.remoteme.org -määritykset
Olen käyttänyt ilmaista app.remoteme.org -järjestelmää, joka auttaa sinua muodostamaan yhteyksiä, ja siinä on jo tarvitsemamme skriptit
Tässä ohjeessa näytän vain askel askeleelta, mitä pitäisi tehdä auton ajamiseksi (täältä löydät lisätietoja)
- Laula sisään osoitteessa https://app.remoteme.org rekisteröitymisen jälkeen Sinut kirjataan automaattisesti sisään
- avaa Token -välilehti vasemmalla, napsauta sitten "uusi merkki" ja anna nimi ja napsauta OK, loimme juuri uuden tunnuksen (kuva näytöllä)
- tässä esimerkissä tunnuksen arvo on: ~ 1_ & p@+BNnZ@A+x8 (sinun on erilainen;))
Vaihe 14: RasbperryPi -määritykset
kittikonsolissa (tässä ohjeet RPi -kameran I2c -tiedonsiirron käyttöönottoon)
git klooni git: //github.com/remoteme/remoteme.git
cd kaukosäädin
python3.5 install.py
- Instalator kysyy meiltä joitain vastauksiamme [Y] ja vahvistaa [enter]
- kun asennus pyytää tunnusta, liitämme (shift+insert) sovelluksesta kopioidun tunnuksen ja Enter
- nimi esimerkiksi Rpi
- deviceId 1 Enter
- asennuksen jälkeen - suorita ohjelma
./runme.sh
Vaihe 15: Yhteyksien tarkistaminen
Palataan takaisin osoitteeseen
Laitteet -välilehdellä näemme yhdistetyn RPi: n (vihreä linkkikuvake tarkoittaa, että RPi on kytketty juuri nyt)
Vaihe 16: Python -komentosarjan lisääminen
Nyt lisäämme python -komentosarjan, joka on jo malleissa, joten meidän ei tarvitse ohjelmoida mitään.
Avaa Laitteet -välilehdellä RasbperryPi -valikko ja valitse "Lisää ulkoinen komentosarja".
Kun uusi ikkuna tulee näkyviin, anna yllä olevan kuvan mukaiset tiedot
Älä unohda valita mallia "car4wd". Näiden vaiheiden jälkeen remoteme.org lisää python -komentosarjan RasbperryPi -laitteeseemme ja käynnistää sen uudelleen
Vaihe 17: Tarkista, onko Python -komentosarja lisätty onnistuneesti
Laitteet -välilehdelle on lisättävä uusi python -skriptilaite ja sen laite -ID on 2. Tämän laitteen tunnussivu lähettää viestejä auton ohjaukseen
Vaihe 18: Verkkosivun lisääminen Control Cariin
laitteiden välilehdellä napsauta "Uusi" ja sitten "Verkkosivu". Lisäämme vain toisen laitteen - webPage, jota käytämme automme hallintaan. Ja koska käytimme mallia "car4wdDesktop" verkkosivulla, tiedostot ovat jo lähes käyttövalmiita
Vaihe 19: Määritä WebPage -laite ohjaamaan autoa 1/2
Laajenna WebPage laitteen välilehdellä ja napsauta index.html ja sitten Avaa
Vaihe 20: Määritä WebPage -laite ohjaamaan autoa 2/2
Ikkuna tulee näkyviin, ja meidän on annettava python -skriptimme deviceId tapauksessamme deviceId on 2. Muutetaan kuvassa näkyvä paikka
Vaihe 21: Avaa auton ohjauskeskus
Nyt on aika avata sivumme ja katsoa, miten se toimii. Napsauta laitevälilehdessä index.html ja sitten "Avaa uudessa välilehdessä" Saadaksesi videon esikatselun Sinun on käytettävä chrome- tai firefox -selainta, muut selaimet eivät tue webRTC: tä kokonaan
Vaihe 22: Kameran asetukset 1/2
Kun siirrämme hiirtä videoalueelle, kameran pitäisi vaihtaa asentoa, ja sen pitäisi toimia täsmälleen kuten FPS -peleissä. Se ei todennäköisesti liiku oikein
Vaihe 23: Kameran määritykset 2/2
Avaa script.js (Laitteet -välilehti laajenna verkkosivu ja napsauta sitten script.js ja avaa sitten) ja etsi näytössä näytetty paikka
kotelon keskiasennossa on 560 ja 430 ja liikealue on molemmille akseleille 200
Sinun on kokeiltava näitä numeroita, jotta saat kameran asennon keskipisteen ja sujuvat liikkeet. Jos käytit tätä opetusohjelmaa, kopioi vain liitetyt annetut arvot
Vaihe 24: Ajaminen 1/2
Jos painat näppäimistön nuolta ylös, mittarien on vaihdettava asentoa ja auton on ajettava. Jos painat "ylös" -nuolta ja auto pyörii, sinun on lisättävä/poistettava miinus paikoista ruudulla.
Tämän toimenpiteen jälkeen”ylänuolinäppäin” -auton pitäisi ajaa eteenpäin ja alaspäin osoittavan auton taaksepäin.
Vaihe 25: Ajaminen 2/2
Käänny nyt - paina vasenta nuolta, jos auto kääntyy oikealle Sinun on käännettävä johdot (tarkista yllä oleva kuva)
Jos juotat nämä kaapelit, voit vaihtaa sen osoitteessa script.js.muuta vain moottorien nopeuden lähetysjärjestys, ennen:
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ())); pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));
jälkeen:
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));
ja nyt sinun on pelattava miinuksilla, kuten yksi askel ennen kuin saat sen toimimaan oikein;). Kuten luultavasti huomasit osuman osoittavan nuolen jälkeen auto ei aja täydellä nopeudella saadaksesi auton liikkumaan nopeammin vain vapauttamalla nopeasti ylänuoli, kun se on maksimiasennossa ja pidä sitä painettuna uudelleen
Vaihe 26: Miten se toimii?
Verkkosivu lähettää 9-tavuisia viestejä python-komentosarjalle seuraavassa muodossa:
- 1 tavu yksi tavu kokonaisluku 1
- 2 tavua kokonaisluku X kameran sijainti
- 2 tavua kokonaisluku Y -kameran sijainti
- 1 tavu kokonaisluku vasen moottoritila (3 = taaksepäin, 1 = eteenpäin, 2 = pysäytys)
- 1 tavu kokonaisluku vasen moottorin nopeus
- 1 tavu kokonaisluku oikea moottoritila (3 = taaksepäin, 1 = eteenpäin, 2 = pysäytys)
- 1 tavu kokonaisluku oikea moottorin nopeus
lähetetään viesti script.js -tiedostossa toiminnossa "sendNow ()"
osoitteessa RasbperryPi python.py saa tämän viestin toimintoon "onUserMessage"
Voit tarkistaa sen ja pelata vähän, jotta tiedät mitä tapahtuu.
luokan toimintojen kuvaus tästä
Vaihe 27: Tabletti, mobiiliohjaus
Lisäämme uuden verkkosivun erinomaisesti kuten edellisen kerran, mutta nyt valitsemme mallin "car4wdMobile"
Seuraavaksi määritämme kaikki script.js -tiedostossa kuten työpöydän ohjausverkkosivulle Viestimuoto on täsmälleen sama, joten meidän ei tarvitse muuttaa python.py -komentosarjaa.
Vaihe 28: Avaa sivu matkapuhelimessa
Sen sijaan, että kirjaudut tilillesi mobiililaitteelta, skannaa vain QR -anonyymi URL -osoite.
QR -tiedot täältä
Jos mobiiliohjaimesi toimii, kun RPi ja matkapuhelin ovat samassa wifi -tilassa, mutta eivät toimi, jos käytät mobiili -Internetiä, sinun on lisättävä käännöspalvelin, miten tämä on kirjoitettu
Vaihe 29: Turn -palvelimen lisääminen
Joskus (kun olet NAT: n tai joidenkin palomuuriasetusten takana) Et voi yhdistää robottiasi toisesta verkosta, jolloin robotti on yhdistetty. Se ei ole iso ongelma, ja sitten sinun on lisättävä käännöspalvelin.
Olen testannut XIRSYS -yrityksen palvelinta (se on ilmainen kehittäjien käyttöön) ja näytän, kuinka käännöspalvelin määritetään XIRSYS -järjestelmän avulla
rekisteröidy:
global.xirsys.net/dashboard/signup
napsauta sitten "plus" lisätäksesi sovelluksen
oikealla kohdassa "staattiset käännöstiedot" sinulla on kaikki tarvitsemasi tiedot. Kopioi se tiedostoon webrtc_streamer.conf tehdäksesi sen osoitteessa
laajenna RaspberryPi -yksiköitä
napsauta tiedostoa webrtc_streamer.conf
napsauta auki
ja lisää tietoja
turn_server = käännöksen_käyttäjänimi =
turn_credential =
muokkauksen lopettamisen jälkeen Näytössä pitäisi olla jotain vastaavaa.
napsauta sitten Tallenna ja käynnistä uudelleen Rpi napsauttamalla RasbperryPi -laitteen valikkoa ja valitsemalla Käynnistä uudelleen
Kun RPi -ohjelma on käynnistetty uudelleen, voit nähdä videon esikatselun matkapuhelimessasi, vaikka käytät mobiili -Internetiä.
Vaihe 30: Mobiiliohjaus
ympyrään 1 sijoitetaan vasen peukalo, 2 oikea - ei tarvitse olla täsmälleen tässä kohdassa - verkkosivu asettaa nolla -asennon heti kosketusnäytön jälkeen ja liikuttamalla peukaloja (vasen ajo, oikea kameran asento) sinun autosi
Vaihe 31: Yhteenveto
Toivottavasti pidit tästä opetusohjelmasta, kuten kirjoitin aiemmin tässä opetusohjelmassa, on lisätietoja siitä, miten se toimii konepellin alla.
muutama linkki:
remoteme.org - Remoteme.orgin kotisivu Löydät dokumentaatiota ja opetusohjelmia
FB -fanisivu - Facebook -fanisivun uusin tieto remoteme.org -sivustosta
Youtube - joitain videoita projektista, opetusohjelmia
Kippis, Maciek
Suositeltava:
2 servon hallinta analogisella ohjaussauvalla: 5 vaihetta (kuvien kanssa)
Kahden servon hallinta analogisella ohjaussauvalla: Hei kaverit, tämä on ensimmäinen ohjeeni, ja tässä viestissä kerron kuinka käyttää analogista ohjaussauvaa servojen hallintaan Arduino UNO: n avulla. Yritän selittää sen mahdollisimman yksinkertaisesti toivottavasti pidät se
Kodinkoneiden hallinta NodeMCU: n (ESP8266) ja Blynk -sovelluksen avulla: 8 vaihetta (kuvien kanssa)
Kodinkoneiden ohjaus NodeMCU: n (ESP8266) ja Blynk -sovelluksen avulla: Tässä opetusohjelmassa aiomme oppia käyttämään Blynk -sovellusta ja NodeMCU: ta (ESP8266) lampun ohjaamiseen (kaikki muut kodinkoneet ovat kunnossa), yhdistelmä Tämän ohjeen tarkoitus on näyttää yksinkertainen
Arduinon hallinta älypuhelimella USB: n kautta Blynk -sovelluksella: 7 vaihetta (kuvien kanssa)
Ohjaa Arduinoa älypuhelimen avulla USB: n kautta Blynk -sovelluksella: Tässä opetusohjelmassa aiomme oppia käyttämään Blynk -sovellusta ja Arduinoa lampun ohjaamiseen, yhdistelmä tapahtuu USB -sarjaportin kautta. Tämän ohjeen tarkoitus on näyttää yksinkertaisin ratkaisu Arduinon tai c: n etähallintaan
Kuvien tallentaminen tehtävää varten: 4 vaihetta (kuvien kanssa)
Kuvien tallentaminen tehtävää varten: 1. Avaa uusi Google -asiakirja ja suojaa kuvat tällä sivulla. Käytä ctrl (ohjaus) ja " c " kopioitava näppäin 3. Käytä ctrl (control) ja " v " liitettävä avain
Sähköasioiden hallinta tietokoneella: 10 vaihetta (kuvien kanssa)
Ohjaa sähköasioita tietokoneellasi: Ohjaa valoja (tai mitä tahansa sähkölaitetta) näppäimistösi valojen avulla. ilman ärsyttävää mikro -ohjainta !!!! Ensinnäkin haluan sanoa, että tämä on ensimmäinen ohjeeni ja en ottanut paljon valokuvia. myös sain idean: USB -ohjattu mini