Orodha ya maudhui:

Gari la RasbperryPi Na Kamera ya FPV. Udhibiti na Kivinjari cha Wavuti: Hatua 31 (na Picha)
Gari la RasbperryPi Na Kamera ya FPV. Udhibiti na Kivinjari cha Wavuti: Hatua 31 (na Picha)

Video: Gari la RasbperryPi Na Kamera ya FPV. Udhibiti na Kivinjari cha Wavuti: Hatua 31 (na Picha)

Video: Gari la RasbperryPi Na Kamera ya FPV. Udhibiti na Kivinjari cha Wavuti: Hatua 31 (na Picha)
Video: Автономное вождение Mercedes-Benz 2022 года 2024, Novemba
Anonim
Image
Image

Tutaunda gari 4wd - usukani utafanana na kwenye tanki - kugeuza upande mmoja wa magurudumu utazunguka kwa kasi tofauti na nyingine. Kwenye gari itawekwa kamera kwenye mmiliki maalum ambapo tunaweza kubadilisha msimamo wa kamera. Roboti itadhibitiwa na kivinjari cha wavuti (chrome au firefox kwenye desktop, au firefox kwenye simu ya rununu), kwenye kivinjari, Tutapata video ya kamera (na latency 200ms tu), na kutoka kwa kivinjari, tunaweza kudhibiti mwendo wa gari na nafasi ya kamera. Ili kurahisisha mawasiliano nimetumia mfumo wa app.remoteme.org, pia kuna kazi nje ya kisanduku kinachodhibiti aina hii ya gari, Kwa hivyo sio lazima uandike nambari yako mwenyewe, lakini kwa kweli Unaweza kurekebisha hati kuongeza uwezekano mpya nk.

Kabla ya kuunganisha nguvu kwenye PCB yako tafadhali angalia miunganisho yote mara mbili

Hatua ya 1: Habari zingine Kuhusu App.remoteme.org

Mfumo una sehemu tatu

  • matumizi ya wavuti - Unapokuwa ukishikilia kurasa zako za wavuti na inaunganisha mawasiliano yote
  • Programu ya rasbperryPi - programu ambayo hutuma video, dhibiti hati zako za chatu
  • maktaba ambapo Unapata darasa, hufanya kazi ufafanuzi

Remoteme.org ni mfumo wa haraka Unaunganisha vifaa vyako vyote pamoja, Unaweza kuwa mwenyeji wa kurasa zako za wavuti, angalia vifaa vyako vilivyounganishwa. Mfumo wa Remoteme.org ulifanywa ili kukusaidia Uanze kufanya miradi yako, bila wasiwasi juu ya mawasiliano ya itifaki, wazo kuu ni kutuma ujumbe wa binary vifaa tofauti kama vile Kurasa za wavuti, RasbeprryPI, arduino, na maandishi.

Kutoka kwa mkono mwingine Remoteme.org inakupa udhibiti kamili wa faili zako, Unaweza kuirekebisha ikifanya utendakazi wako mwenyewe

Katika mafunzo haya nitakuonyesha jinsi ya kutengeneza mradi mzuri zaidi bila kuandika nambari yoyote.

Mwisho wa mafunzo haya nimeweka viungo muhimu ambavyo vitakusaidia kuelewa mfumo wa remoteme.org.

Hatua ya 2: Kinachohitajika:

Kinachohitajika
Kinachohitajika
Kinachohitajika
Kinachohitajika
  • Raspberry PI Zero W
  • Kamera ya kujitolea
  • Adafruit 16-Channel 12-bit PWM / Servo Dereva - I2C interface - PCA9685 au clone yake
  • Njia mbili za servo zinazoendana na mmiliki wa kamera
  • Mmiliki wa kamera
  • Betri - Katika mafunzo njia mbili za unganisho
  • H daraja TB6612FNG, kudhibiti spika ya gurudumu
  • Faili za tai za PCB Ni rahisi kuifanya iwe njia ya kuhamisha mafutaDC-DC
  • Moduli ya Kubadilisha Njia ya Kubadilisha DC
  • Kesi ya Robot

Hatua ya 3: Uunganisho

Miunganisho
Miunganisho

Utaratibu wa kudhibiti raspberry pi servo kupitia moduli ya PWM na kasi ya gari na daraja H ambayo imeunganishwa na pini za RasbperryPi, pembejeo ya PWM kwa daraja H inazalishwa na moduli ile ile niliyotumia kwa servos (sehemu ambazo nimesema hapo juu hakuna waongofu wa mantiki wanaohitajika)

Hatua ya 4: PCB

PCB
PCB
PCB
PCB

Unaweza kupakua faili za tai za PCB kutoka hapa Njia ni mafuta kwa hivyo ni rahisi kuifanya kwa njia ya kuhamisha mafuta

Hatua ya 5: Matokeo ya PCB

Matokeo ya PCB
Matokeo ya PCB
Matokeo ya PCB
Matokeo ya PCB
  1. Uingizaji wa PWM kwa motors za kuendesha unapaswa kushikamana na moduli ya PWM ya 15 na ya 16 (angalia mstatili wa kijani kwenye picha ya moduli ya PWM)
  2. Uingizaji wa nguvu kwa motors za gari (angalia ni kiwango gani cha juu ambacho motors zako zinaweza kufanya kazi nacho)
  3. Nguvu kwa moduli ya RasbperryPi na PWM - lazima iwe sawa
  4. Piga matokeo ya gari (kuna matokeo mawili kwa sababu tutaunganisha motors za kuendesha)
  5. Nguvu za Utaratibu wa Servo - pia Lazima uangalie ni voltage gani inayofaa kwao
  6. Jumper nguvu yake ya sasa kutoka kwa uingizaji wa 5 itaweza pia kuendesha gari kwa hivyo hakuna haja ya kuunganisha chochote kuingiza 2
  7. Jumper ikiwa RasbperryPi ya sasa itakuwa nguvu kutoka kwa pembejeo ya 3 - kabla ya kuweka jumper hapa angalia ikiwa unganisho ni sawa - Hutaki kuchoma RPi yako
  8. Lets solder hapa nyaya kwani hatuhitaji wageuzi wa mantiki

Hatua ya 6: Jinsi Inaenda Kufanya Kazi

Katika RasbperryPi kuna hati ya chatu ambayo hutumia maktaba mbili

  • kuagiza RPi. GPIO kama GPIO - kwa pini 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (nukuu ya BCM) ambayo imeunganishwa na H daraja
  • kuagiza Adafruit_PCA9685 kwa moduli ya PWM

Pini za Rpi zimeunganishwa kama ifuatavyo 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) na njia ya kudhibiti daraja la H (mbele, nyuma, simama, mapumziko mafupi). H daraja inahitaji pia ishara mbili za PWM ili tuweze kudhibiti kasi au mzunguko wa magari. Kwa sababu kwenye mradi tayari tuna mtawala wa PWM (kutumika kwa servo) tutatumia pia kutengeneza PWM kwa daraja la H.

Moduli ya PWM hutumia itifaki ya mawasiliano ya I2C. Nimetumia kufanya kazi nje ya sanduku Adafruit_PCA9685. maktaba

Hatua ya 7: Kukusanya gari - Magurudumu

Kukusanya Gari - Magurudumu
Kukusanya Gari - Magurudumu
Kukusanya Gari - Magurudumu
Kukusanya Gari - Magurudumu

Tutaanza kutoka kuunganisha gari za gari hadi kesi ya gari. Motors za upande wa kushoto / Upande huungana pamoja, na jozi zote mbili, unganisha kwenye kebo fulani ya umeme ambayo baadaye itaunganishwa na PCB. Ujumbe muhimu wakati wa kuunganisha magurudumu ya motors kila upande lazima uzunguke kwa mwelekeo mmoja.

Hatua ya 8: Nguvu (Betri za kuchaji tena za AA) Chaguo 1/2

Nguvu (Betri za kuchaji tena za AA) Chaguo 1/2
Nguvu (Betri za kuchaji tena za AA) Chaguo 1/2
Nguvu (Betri za kuchaji tena za AA) Chaguo 1/2
Nguvu (Betri za kuchaji tena za AA) Chaguo 1/2
Nguvu (Betri za kuchaji tena za AA) Chaguo 1/2
Nguvu (Betri za kuchaji tena za AA) Chaguo 1/2
Nguvu (Betri za kuchaji tena za AA) Chaguo 1/2
Nguvu (Betri za kuchaji tena za AA) Chaguo 1/2

Nitaandika uwezekano wa nguvu mbili Gari la kwanza moja ni kutoka kwa betri za kuchaji 10xAA Katika picha ya mwisho nimechorwa na warukaji wa rangi nyekundu ambao wanapaswa kuwekwa.

Hatua ya 9: Nguvu (Li-Po Batri za 7.2V) Chaguo 2/2

Nguvu (Li-Po Batri za 7.2V) Chaguo 2/2
Nguvu (Li-Po Batri za 7.2V) Chaguo 2/2
Nguvu (Li-Po Batri za 7.2V) Chaguo 2/2
Nguvu (Li-Po Batri za 7.2V) Chaguo 2/2

Na chaguo la pili ni betri ya 7.2 LI-PO. Katika kesi hii tulipata voltages 3 - 5v Kwa Rpi na moduli, 6V kwa servos na moja kwa moja kutoka kwa betri 7.2 volts za motors za gari. Ilinibidi nitumie moduli mbili za kushuka

Chaguo 2 na LI-PO ni bora:

  • Betri zina uwezo mkubwa - gari itaendesha kwa muda mrefu
  • Voltage kubwa kwa motors za kuendesha - gari itaendesha kwa kasi zaidi
  • Uwezekano mdogo kwamba baada ya gari kuendesha kuanza kupata tunaweza kuwa na kushuka kwa voltage kubwa na RPI kuanza tena.

Hatua ya 10: Kufunga

Kufundisha
Kufundisha
Kufundisha
Kufundisha
Kufundisha
Kufundisha
Kufundisha
Kufundisha

Nimeweka kwenye spacers za PCB kwa moduli ya PWM. Hakuna cha kuandika angalia picha tu jinsi ya kuunganisha kila kitu pamoja

Hatua ya 11: Kamera

Kamera
Kamera

tunaunganisha kamera, hapa imeandikwa jinsi ya kuweka katikati Utaratibu wa servo kabla ya kuingia kwenye kishikilia kamera, lakini njia fupi zaidi ni kuangalia kwa upole mwongozo angalia nafasi ya kuzunguka kwa kiwango na kuweka servos katika nafasi ya katikati. Njia hizi za servo tunazoweka ndani ya kishikilia kamera kwenye nafasi ya katikati (kamera inaelekeza mbele sawa na kwenye picha)

Hatua ya 12: Kuweka Sehemu za Magari Pamoja

Kuweka Sehemu za Magari Pamoja
Kuweka Sehemu za Magari Pamoja
Kuweka Sehemu za Magari Pamoja
Kuweka Sehemu za Magari Pamoja
Kuweka Sehemu za Magari Pamoja
Kuweka Sehemu za Magari Pamoja

Kwa PCB nimetengeneza meza ndogo ya plexiglass

Hatua ya 13: Usanidi wa App.remoteme.org

Usanidi wa App.remoteme.org
Usanidi wa App.remoteme.org

Nimetumia mfumo wa bure wa app.remoteme.org inakusaidia kufanya unganisho, na tayari ina hati ambazo tunahitaji

Kwa hili linaweza kufundishwa, nitaonyesha tu hatua kwa hatua nini kifanyike kufanya kuendesha gari (hapa Utapata maelezo zaidi)

  • Imba hadi https://app.remoteme.org baada ya kujisajili Utaingia moja kwa moja
  • fungua kichupo cha ishara kushoto, kisha bonyeza "ishara mpya" toa jina na ubonyeze sawa, Tumeunda tu ishara mpya (picha kwenye skrini)
  • katika mfano huu, thamani ya ishara ni: ~ 1_ & p @ + BNnZ @ A + x8 (yako itakuwa tofauti;))

Hatua ya 14: Usanidi wa RasbperryPi

Usanidi wa RasbperryPi
Usanidi wa RasbperryPi

kwenye putty console (hapa ni jinsi ya kuanzisha RPi yetu kuwasha mawasiliano ya kamera I2c)

clone ya git: //github.com/remoteme/remoteme.git

cd mbali

python3.5 kufunga.py

  • Mfungaji atatuuliza maswali kadhaa kwa majibu yote [Y] na tutathibitisha kwa [ingiza]
  • wakati ufungaji utauliza ishara tunabandika (kuhama + kuingiza) ishara iliyonakiliwa kutoka kwa programu na Ingiza
  • jina kwa mfano Rpi
  • kifaaId 1 Ingiza
  • baada ya ufungaji - endesha programu

./mkimbiaji.sh

Hatua ya 15: Kuangalia Miunganisho

Kuangalia Miunganisho
Kuangalia Miunganisho

Rudi kwa

Kwenye kichupo cha vifaa tutaona RPi yetu iliyounganishwa (ikoni ya kiunga cha kijani inamaanisha RPi imeunganishwa sasa hivi)

Hatua ya 16: Kuongeza hati ya Python

Inaongeza hati ya Python
Inaongeza hati ya Python
Inaongeza hati ya Python
Inaongeza hati ya Python

Sasa tutaongeza hati ya chatu, tayari iko kwenye templeti kwa hivyo hatupaswi kupanga chochote.

Kwenye kichupo cha vifaa fungua menyu ya RasbperryPi na uchague "Ongeza hati ya nje".

Wakati dirisha mpya linaonekana toa habari kama kwenye picha hapo juu

Usisahau kuchagua templeti "car4wd". Baada ya hatua hizi, remoteme.org itaongeza hati ya chatu kwenye RasbperryPi yetu na kuianza tena

Hatua ya 17: Kuangalia Ikiwa Hati ya Python imeongezwa kwa Ufanisi

Kuangalia Ikiwa Hati ya Python imeongezwa kwa Ufanisi
Kuangalia Ikiwa Hati ya Python imeongezwa kwa Ufanisi

Kwenye kichupo cha vifaa kifaa kipya cha hati ya chatu kinapaswa kuongezwa, na kifaa chake ni 2. Kwenye ukurasa huu wa wavuti ya Id itatuma ujumbe kudhibiti gari

Hatua ya 18: Kuongeza ukurasa wa wavuti kudhibiti gari

Inaongeza ukurasa wa wavuti kudhibiti gari
Inaongeza ukurasa wa wavuti kudhibiti gari

kwenye kichupo cha vifaa bonyeza "Mpya" kisha "WebPage". Tunaongeza tu kifaa kingine - Ukurasa wa wavuti tutatumia kudhibiti gari letu. Na kwa sababu tulitumia templeti "car4wdDesktop" kwenye ukurasa wa wavuti tayari ni faili karibu tayari kutumika

Hatua ya 19: Sanidi Kifaa cha Wavuti ili Kudhibiti Gari 1/2

Sanidi Kifaa cha Wavuti ili Kudhibiti Gari 1/2
Sanidi Kifaa cha Wavuti ili Kudhibiti Gari 1/2

Panua Wavuti kwenye kichupo cha kifaa na bonyeza index.html kisha Fungua

Hatua ya 20: Sanidi Kifaa cha Wavuti ili Kudhibiti Gari 2/2

Sanidi Kifaa cha Wavuti ili Kudhibiti Gari 2/2
Sanidi Kifaa cha Wavuti ili Kudhibiti Gari 2/2

Dirisha linaonekana basi tunahitaji kutoa kifaaId cha hati yetu ya chatu kwenye kifaa chetuId ni 2. Wacha tubadilishe mahali panapoonyeshwa kwenye picha

Hatua ya 21: Fungua Kituo cha Udhibiti wa Gari

Fungua Kituo cha Udhibiti wa Gari
Fungua Kituo cha Udhibiti wa Gari
Fungua Kituo cha Udhibiti wa Gari
Fungua Kituo cha Udhibiti wa Gari

Sasa ni wakati wake wa kufungua ukurasa wetu na kuona jinsi inavyofanya kazi. Kwenye kichupo cha kifaa bonyeza index.html na kisha "Fungua kwenye kichupo kipya" Ili kupata hakiki ya video Lazima utumie chrome au kivinjari cha firefox wengine kivinjari hakiingiliani na webRTC kikamilifu

Hatua ya 22: Usanidi wa Kamera 1/2

Usanidi wa Kamera 1/2
Usanidi wa Kamera 1/2

Tunapohamisha panya kwenye kamera ya eneo la video inapaswa kubadilisha msimamo, na inapaswa kufanya kazi sawa na kwenye michezo ya Ramprogrammen. Labda haitahama kwa usahihi

Hatua ya 23: Usanidi wa Kamera 2/2

Usanidi wa Kamera 2/2
Usanidi wa Kamera 2/2

Fungua script.js (kichupo cha vifaa panua ukurasa wa wavuti kisha bonyeza script.js kisha ufungue) na upate mahali nilipoonyesha kwenye skrini.

katika nafasi yangu ya kituo cha kesi ni 560 na 430 na anuwai ya harakati ni kwa axies zote 200

Lazima ujaribu nambari hizi ili Upate kituo cha msimamo wa kamera na harakati laini, Ikiwa Ulitumia mafunzo haya nakala tu maadili uliyopewa

Hatua ya 24: Kuendesha 1/2

Kuendesha 1/2
Kuendesha 1/2

Ikiwa ulibonyeza mshale kwenye kibodi, viwango vinapaswa kubadilisha nafasi na gari inapaswa kuendesha. Ikiwa Unasisitiza mshale wa "juu" na gari linageuka basi Unapaswa kuongeza / kuondoa minus kwenye maeneo kwenye skrini.

Baada ya operesheni hii baada ya kugonga "juu" gari la mshale linapaswa kuendesha mbele na chini gari la mshale linapaswa kurudi nyuma.

Hatua ya 25: Kuendesha 2/2

Kuendesha gari 2/2
Kuendesha gari 2/2

Sasa kugeuza - piga mshale wa kushoto ikiwa gari inaelekea kulia Lazima ubonyeze nyaya (angalia picha hapo juu)

Ikiwa unauza nyaya hizi unaweza kuibadilisha kwa script.jbadilisha mpangilio wa kasi ya kupeleka motors, kabla:

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));

baada ya:

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));

na sasa Unalazimika kucheza na minuses kama hatua moja kabla ili kuifanya ifanye kazi kwa usahihi; na bonyeza na ushikilie tena

Hatua ya 26: Je! Inafanya Kazi

Ukurasa wa wavuti unatuma ujumbe wa jiti la 9 kwa hati ya chatu kwa muundo:

  • 1 baiti moja ya nambari ya baiti 1
  • 2 baiti nambari kamili ya X nafasi
  • 2 baiti nambari kamili ya msimamo wa kamera
  • Nambari 1 ya nambari ya kushoto ya baiti (3 = nyuma, 1 = mbele, 2 = simama)
  • Nambari 1 ya baiti kushoto kasi ya gari
  • 1 baiti kamili ya hali ya motor (3 = nyuma, 1 = mbele, 2 = simama)
  • 1 baiti kamili ya kasi ya gari

kutuma ujumbe hufanywa katika faili ya script.js katika kazi "sendNow ()"

katika RasbperryPi python.py inafanya ujumbe huu ufanye kazi "onUserMessage"

Unaweza kuiangalia na kucheza kidogo ili Ujue kinachoendelea.

maelezo ya kazi za darasa hapa

Hatua ya 27: Ubao, Uendeshaji wa Simu ya Mkononi

Kompyuta kibao, Uendeshaji wa Simu ya Mkononi
Kompyuta kibao, Uendeshaji wa Simu ya Mkononi

Tunaongeza ukurasa mpya wa wavuti vizuri kama tulivyofanya wakati uliopita lakini sasa tunachagua templeti "car4wdMobile"

Ifuatayo, tunasanidi kila kitu katika script.js kama tulivyofanya kwa ukurasa wa wavuti wa kudhibiti desktopMfumo wa ujumbe ni sawa kabisa kwa hivyo hatuhitaji kubadilisha hati ya python.py.

Hatua ya 28: Fungua Ukurasa kwenye Simu ya Mkononi

Fungua Ukurasa kwenye Simu ya Mkononi
Fungua Ukurasa kwenye Simu ya Mkononi
Fungua Ukurasa kwenye Simu ya Mkononi
Fungua Ukurasa kwenye Simu ya Mkononi

Badala ya kuingia kwenye akaunti yako kutoka kwa rununu bonyeza tu QR anymous url.

maelezo ya QR hapa

Ikiwa Udhibiti wako wa rununu unafanya kazi wakati RPi na rununu iko kwenye wifi moja lakini haifanyi ikiwa Unatumia mtandao wa rununu basi Lazima uongeze seva ya kugeuka, jinsi ya kufanya hivyo nimeandika hapa

Hatua ya 29: Kuongeza Turn Server

Kuongeza Turn Server
Kuongeza Turn Server
Kuongeza Turn Server
Kuongeza Turn Server
Kuongeza Turn Server
Kuongeza Turn Server

Wakati mwingine (unapokuwa nyuma ya NAT au mipangilio ya firewall) Hauwezi kuunganisha robot yako kutoka kwa mtandao mwingine basi Roboti yako imeunganishwa. Swala lake sio kubwa na kisha lazima uongeze seva ya kugeuka.

Nimejaribu seva kutoka kwa kampuni ya XIRSYS (ni bure kwa matumizi ya msanidi programu) na nitaonyesha jinsi ya kusanidi seva ya zamu kutumia mfumo wa XIRSYS

kujiandikisha:

global.xirsys.net/dashboard/signup

kisha bonyeza "plus" ili kuongeza programu

upande wa kulia chini ya "static credential turn" Una data zote unazohitaji. Nakili kwenye faili webrtc_streamer.conf kufanya hivyo nenda kwa

panua upungufu wa RaspberryPi

bonyeza faili webrtc_streamer.conf

bonyeza wazi

na ongeza habari

turn_server = jina la mtumiaji = jina la mtumiaji =

turn_credential =

baada ya kumaliza kuhariri Unapaswa kuwa na kitu kama skrini.

kisha bonyeza Hifadhi na uanze tena Rpi, kwa kubofya menyu kwenye kifaa cha RasbperryPi na uchague kuanza upya

Baada ya mpango wa RPi kuanza upya Unaweza kuona hakikisho la video kwenye simu yako ya rununu hata kama Unatumia mtandao wa rununu.

Hatua ya 30: Uendeshaji wa rununu

Uendeshaji wa Simu ya Mkononi
Uendeshaji wa Simu ya Mkononi

kwenye mduara 1 tunaweka kidole gumba cha kushoto, kulia 2 - sio lazima iwe katika hatua hizi - ukurasa wa wavuti utaweka nafasi ya sifuri baada tu ya kugusa skrini, na kwa kusogeza gumba gumba (kushoto kwa gari, nafasi ya kamera kulia) Unaweza kudhibiti gari lako

Hatua ya 31: Muhtasari

Natumai Umependa mafunzo haya, kama nilivyoandika hapo awali kwenye mafunzo haya ni maelezo zaidi juu ya jinsi inavyofanya kazi chini ya hood.

viungo vingine:

remoteme.org - ukurasa wa nyumbani wa remoteme.org hapo Unapata nyaraka na mafunzo

FB fanpage - Facebook fanpage newest inforation kuhusu remoteme.org

Youtube - video zingine za mradi, mafunzo

Shangwe, Maciek

Ilipendekeza: