Përmbajtje:

Makinë RasbperryPi Me Kamera FPV. Kontrolli nga Shfletuesi i Uebit: 31 hapa (me fotografi)
Makinë RasbperryPi Me Kamera FPV. Kontrolli nga Shfletuesi i Uebit: 31 hapa (me fotografi)

Video: Makinë RasbperryPi Me Kamera FPV. Kontrolli nga Shfletuesi i Uebit: 31 hapa (me fotografi)

Video: Makinë RasbperryPi Me Kamera FPV. Kontrolli nga Shfletuesi i Uebit: 31 hapa (me fotografi)
Video: 2023 Tesla MODEL Y Performance ⚠️ BUT Did You See… 🤤😘 #Shorts #Short #Tesla #teslamodely 2024, Nëntor
Anonim
Image
Image

Ne do të ndërtojmë makinë 4wd - drejtimi do të jetë i ngjashëm si në një rezervuar - për të kthyer njërën anë të rrotave do të rrotullohet me shpejtësi të ndryshme nga tjetra. Në makinë do të vendoset kamera në mbajtës të veçantë ku mund të ndryshojmë pozicionin e kamerës. Roboti do të kontrollohet nga shfletuesi i uebit (krom ose firefox në desktop, ose firefox në celular), në shfletues, Ne do të marrim video të kamerës (me vonesë vetëm 200ms), dhe nga shfletuesi, ne mund të kontrollojmë lëvizjet e makinës dhe pozicioni i kamerës. Për ta bërë më të lehtë komunikimin, unë kam përdorur sistemin app.remoteme.org, gjithashtu po punohet jashtë kutisë që kontrollon këtë lloj makine, kështu që nuk keni pse të shkruani kodin tuaj, por sigurisht që mund të modifikoni skriptet mundësi të reja etj.

Para se të lidhni energjinë me PCB -në tuaj, ju lutemi kontrolloni dy herë të gjitha lidhjet

Hapi 1: Disa informacione rreth App.remoteme.org

Sistemi ka tre pjesë

  • webapplication - kur ju mbani faqet e internetit të kontrollit tuaj dhe lidh të gjithë komunikimin
  • program rasbperryPi - program i cili dërgon video, menaxhoni skriptet tuaja python
  • bibliotekat ku gjeni klasa, përkufizime funksionesh

Remoteme.org është i shpejtë në sistem Ju lidhni të gjitha pajisjet tuaja së bashku, Ju mund të strehoni atje Faqet tuaja të internetit, shikoni pajisjet tuaja të lidhura. Sistemi Remoteme.org u krijua për t'ju ndihmuar të filloni të bëni projektet tuaja, pa u shqetësuar për komunikimin protokoll, ideja kryesore është të dërgoni mesazhe binare para pajisjeve të ndryshme, si faqe në internet, RasbeprryPI, arduino dhe skripte.

Nga ana tjetër Remoteme.org ju jep kontroll të plotë të skedarëve tuaj, ju mund ta lehtësoni modifikimin e tij duke shkruar funksionalitetin tuaj

Në këtë tutorial do t'ju tregoj se si të bëni një projekt të mrekullueshëm pa u shkruar asnjë kod.

Në fund të këtij tutoriali kam vendosur lidhje të dobishme të cilat do t'ju ndihmojnë të kuptoni sistemin remoteme.org.

Hapi 2: Çfarë nevojitet:

Çfarë nevojitet
Çfarë nevojitet
Çfarë nevojitet
Çfarë nevojitet
  • Mjedër PI Zero W
  • Kamera e dedikuar
  • Adafruit 16 -Channel 12 -bit PWM/Servo Driver - ndërfaqe I2C - PCA9685 ose kloni i tij
  • Dy mekanizma servo të pajtueshëm me mbajtësin e kamerës
  • Mbajtës i kamerës
  • Bateritë - Në tutorial dy mundësi lidhjeje
  • H urë TB6612FNG, për të kontrolluar lëvizjen e rrotave
  • Skedarët e shqiponjës PCB easyshtë e lehtë të bëhet metoda e transferimit termik DC-DC
  • Moduli i konvertuesit Step Down DC
  • Rast robot

Hapi 3: Lidhjet

Lidhjet
Lidhjet

Mekanizmi servo i kontrollit Raspberry pi përmes modulit PWM dhe shpejtësisë së motorit me urën H e cila është e lidhur me kunjat RasbperryPi, hyrja PWM në urën H gjenerohet nga i njëjti modul që kam përdorur për servos (të cilat pjesët i përmenda më lart nuk nevojiten konvertorë logjikë)

Hapi 4: PCB

PCB
PCB
PCB
PCB

Ju mund të shkarkoni skedarët e shqiponjës PCB nga këtu Rrugët janë të trasha kështu që është e lehtë të bëhet me metodën e transferimit termik

Hapi 5: Rezultatet e PCB

Daljet e PCB
Daljet e PCB
Rezultatet e PCB
Rezultatet e PCB
  1. Hyrja PWM për motorët e vozitjes Duhet të jetë e lidhur me kunjat e modulit 15 dhe 16 të PWM (kontrolloni drejtkëndëshin e gjelbër në imazhin e modulit PWM)
  2. Hyrja e energjisë për motorët me makinë (kontrolloni se me cilin tension maksimal mund të punojnë motorët tuaj)
  3. Fuqia për modulin RasbperryPi dhe PWM - duhet të jetë saktësisht
  4. Daljet e motorit të makinës (ka dy dalje sepse ne do të çiftojmë motorë me makinë)
  5. Fuqia e Mekanizmave Servo - gjithashtu Ju duhet të kontrolloni se cili tension është i mirë për ta
  6. Jumper fuqia e tij aktuale nga hyrja e 5 -të do të fuqizojë edhe motorët, kështu që nuk ka nevojë të lidhni asgjë me hyrjen 2
  7. Jumper nëse është i pranishëm RasbperryPi do të jetë energji nga hyrja e tretë - para se të vendosni bluzën këtu kontrolloni nëse lidhjet janë në rregull - Ju nuk doni të digjni RPi tuaj
  8. Lejoni të bashkoni kabllot këtu pasi nuk kemi nevojë për konvertues logjikë

Hapi 6: Si do të funksionojë

Në RasbperryPi ekziston një shkrim python i cili përdor dy biblioteka

  • importoni RPi. GPIO si GPIO-për kunjat 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (shënimi BCM) të cilët janë të lidhur me urën H
  • importoni Adafruit_PCA9685 për modulin PWM

Kunjat Rpi janë të lidhur si më poshtë 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) dhe mënyra e kontrollit të urës H (përpara, prapa, ndalese, pushim i shkurtër). Ura H ka nevojë edhe për dy sinjale PWM kështu që ne mund të kontrollojmë shpejtësinë ose rrotullimin e motorit. Për shkak se në projekt ne tashmë kemi kontrollues PWM (përdoret për servo) ne do ta përdorim atë gjithashtu për të gjeneruar PWM për urën H.

Moduli PWM përdor protokollin e komunikimit I2C. Unë kam përdorur punën jashtë kutisë Adafruit_PCA9685. librari

Hapi 7: Montimi i makinave - Rrota

Montimi i makinave - Rrota
Montimi i makinave - Rrota
Montimi i makinave - Rrota
Montimi i makinave - Rrota

Ne do të fillojmë nga lidhja e motorëve të vozitjes në kutinë e makinës. Motorët anësorë të majtë/anës lidhen së bashku, dhe të dy palët, lidhen me ndonjë kabllo të energjisë e cila më vonë do të lidhet me PCB. Shënim i rëndësishëm kur lidhni rrotat e motorëve në secilën anë duhet të rrotullohen në të njëjtin drejtim.

Hapi 8: Fuqia (bateri rimbushëse AA) Opsioni 1/2

Fuqia (bateri rimbushëse AA) Opsioni 1/2
Fuqia (bateri rimbushëse AA) Opsioni 1/2
Fuqia (bateri rimbushëse AA) Opsioni 1/2
Fuqia (bateri rimbushëse AA) Opsioni 1/2
Fuqia (bateri rimbushëse AA) Opsioni 1/2
Fuqia (bateri rimbushëse AA) Opsioni 1/2
Fuqia (bateri rimbushëse AA) Opsioni 1/2
Fuqia (bateri rimbushëse AA) Opsioni 1/2

Unë do të shkruaj dy mundësi të energjisë Makina e parë është nga bateritë e rimbushjes 10xAA

Hapi 9: Fuqia (Li-Po 7.2V Bateri) Opsioni 2/2

Fuqia (Li-Po 7.2V Bateri) Opsioni 2/2
Fuqia (Li-Po 7.2V Bateri) Opsioni 2/2
Fuqia (Li-Po 7.2V Bateri) Opsioni 2/2
Fuqia (Li-Po 7.2V Bateri) Opsioni 2/2

Dhe opsioni i dytë është bateria 7.2 LI-PO. Në këtë rast morëm 3 tensione - 5v Për Rpi dhe modul, 6V për servos dhe drejtpërdrejt nga bateritë 7.2 volt për motorët e vozitjes. Më duhej të përdorja dy module hap pas hapi

Opsioni 2 me LI-PO është më i mirë:

  • Bateritë kanë kapacitet më të madh - makina do të ecë më gjatë
  • Tension më i madh për motorët me makinë - makina do të lëvizë më shpejt
  • Më pak probabilitet që pasi motorët e vozitjes të fillojnë të lokalizohen mund të kemi rënie të madhe të tensionit dhe RPI të riniset.

Hapi 10: Saldimi

Bashkim
Bashkim
Bashkim
Bashkim
Bashkim
Bashkim
Bashkim
Bashkim

Unë kam vënë në PCB disa ndarës për modulin PWM. Nuk ka asgjë për të shkruar, thjesht shikoni imazhet se si të bashkoni gjithçka së bashku

Hapi 11: Kamera

Kamera
Kamera

ne e lidhim kamerën, këtu writtenshtë shkruar se si të qendërzoni servo Mekanizmat para se të montoheni në mbajtësen e kamerës, por mënyra më e shkurtër është të kontrolloni butësisht manualisht pozicionin maksimal të rrotullimit dhe të vendosni servot në pozicionin qendror. Këta mekanizma servo të përqendruar i vendosim në mbajtësen e kamerës në pozicionin qendror (kamera po tregon drejt përpara si në foto)

Hapi 12: Vendosja e Pjesëve të Makinave së bashku

Vendosja e Pjesëve të Makinave së bashku
Vendosja e Pjesëve të Makinave së bashku
Vendosja e Pjesëve të Makinave së bashku
Vendosja e Pjesëve të Makinave së bashku
Vendosja e Pjesëve të Makinave së bashku
Vendosja e Pjesëve të Makinave së bashku

Për PCB kam bërë tavolinë të vogël pleksiglasi

Hapi 13: Konfigurimi i App.remoteme.org

Konfigurimi i App.remoteme.org
Konfigurimi i App.remoteme.org

Unë kam përdorur sistemin pa pagesë app.remoteme.org që ju ndihmon të krijoni lidhje, dhe ai tashmë ka skriptet për të cilat kemi nevojë

Në këtë udhëzues, unë thjesht do të tregoj hap pas hapi se çfarë duhet bërë për të bërë vozitje me makinë (këtu do të gjeni më shumë detaje)

  • Këndoni në https://app.remoteme.org pasi të regjistroheni Do të regjistroheni automatikisht
  • hapni skedën Token në të majtë, pastaj klikoni "shenja e re" jepni një emër dhe klikoni OK, Ne thjesht krijuam një shenjë të re (imazhi në ekran)
  • në këtë shembull, vlera simbolike është: ~ 1_ & p@+BNnZ@A+x8 (e juaja do të jetë e ndryshme;))

Hapi 14: Konfigurimi i RasbperryPi

Konfigurimi i RasbperryPi
Konfigurimi i RasbperryPi

në tastierë stuko (këtu si të vendosni RPi tonë të aktivizojë komunikimin e kamerës I2c)

git klon git: //github.com/remoteme/remoteme.git

cd telekomandë

python3.5 install.py

  • Instaluesi do të na bëjë disa pyetje për të gjithë që ne i përgjigjemi [Y] es dhe i konfirmojmë me [enter]
  • kur instalimi do të kërkojë shenjë ne ngjisim (shift+insert) shenjën e kopjuar nga aplikacioni dhe Enter
  • emri për shembull Rpi
  • pajisjaId 1 Enter
  • pas instalimit - ekzekutoni programin

./runme.sh

Hapi 15: Kontrollimi i lidhjeve

Kontrollimi i lidhjeve
Kontrollimi i lidhjeve

Le të kthehemi në

Në skedën e pajisjeve do të shohim RPi -në tonë të lidhur (ikona e lidhjes së gjelbër do të thotë që RPi është e lidhur tani)

Hapi 16: Shtimi i Python Script

Shtimi i Shkrimit Python
Shtimi i Shkrimit Python
Shtimi i Python Script
Shtimi i Python Script

Tani do të shtojmë shkrimin python, i cili tashmë është në modele, kështu që nuk kemi pse të programojmë asgjë.

Në skedën e pajisjeve hapni menunë RasbperryPi dhe zgjidhni "Shto skript të jashtëm".

Kur të shfaqet dritarja e re siguroni informacion si në figurën e mësipërme

Mos harroni të zgjidhni modelin "car4wd". Pas këtyre hapave, remoteme.org do të shtojë shkrimin python në RasbperryPi -n tonë dhe do ta rinisë atë

Hapi 17: Kontrolloni nëse Skripti Python u shtua me sukses

Kontrollimi nëse Shkrimi Python u shtua me sukses
Kontrollimi nëse Shkrimi Python u shtua me sukses

Në skedën e pajisjeve duhet të shtohet një pajisje e re e shkrimit python dhe pajisja e saj është 2. Në këtë pajisje, faqja e internetit Id do të dërgojë mesazhe për të kontrolluar makinën

Hapi 18: Shtimi i Uebfaqes te Control Car

Shtimi i Uebfaqes te Makina e Kontrollit
Shtimi i Uebfaqes te Makina e Kontrollit

në skedën e pajisjeve klikoni "E Re" pastaj "Faqja e Internetit". Ne thjesht shtojmë një pajisje tjetër - faqen në internet që do ta përdorim për të kontrolluar makinën tonë. Dhe për shkak se ne përdorëm shabllonin "car4wdDesktop" në faqen në internet tashmë janë skedarë pothuajse gati për t'u përdorur

Hapi 19: Konfiguroni pajisjen e uebfaqes për të kontrolluar makinën 1/2

Konfiguroni pajisjen e faqes në internet për të kontrolluar makinën 1/2
Konfiguroni pajisjen e faqes në internet për të kontrolluar makinën 1/2

Zgjero faqen në skedën e pajisjes dhe kliko index.html pastaj Hap

Hapi 20: Konfiguroni pajisjen e faqes në internet për të kontrolluar makinën 2/2

Konfiguroni pajisjen e faqes në internet për të kontrolluar makinën 2/2
Konfiguroni pajisjen e faqes në internet për të kontrolluar makinën 2/2

Dritarja shfaqet atëherë ne duhet të sigurojmë pajisjenId të shkrimit tonë python në pajisjen tonë të rastitId është 2. Le të ndryshojmë vendin e treguar në imazh

Hapi 21: Hapni Qendrën e Kontrollit të Makinave

Hapni Qendrën e Kontrollit të Makinave
Hapni Qendrën e Kontrollit të Makinave
Hapni Qendrën e Kontrollit të Makinave
Hapni Qendrën e Kontrollit të Makinave

Tani është koha për të hapur faqen tonë dhe për të parë se si funksionon. Në skedën e pajisjes klikoni index.html dhe më pas "Hap në skedën e re" Për të marrë pamjen paraprake të videos Duhet të përdorni shfletuesin Chrome ose Firefox, shfletuesi tjetër nuk e mbështet plotësisht webRTC

Hapi 22: Konfigurimi i kamerës 1/2

Konfigurimi i kamerës 1/2
Konfigurimi i kamerës 1/2

Kur lëvizim miun në zonën e videos kamera duhet të ndryshojë pozicionin dhe duhet të funksionojë saktësisht si në lojërat FPS. Ndoshta nuk do të lëvizë si duhet

Hapi 23: Konfigurimi i kamerës 2/2

Konfigurimi i kamerës 2/2
Konfigurimi i kamerës 2/2

Hapni script.js (skeda e pajisjeve zgjeroni uebfaqen pastaj klikoni në script.js pastaj hapeni) dhe gjeni vendin që tregova në ekran

në rastin tim pozicioni qendror është 560 dhe 430 dhe diapazoni i lëvizjeve është për të dy akset 200

Ju duhet të eksperimentoni me këta numra në mënyrë që të merrni qendrën e pozicionit të kamerës dhe lëvizjet e qetë, Nëse e keni përdorur këtë tutorial thjesht kopjoni vlerat e dhëna të ngjitura

Hapi 24: Drejtimi i makinës 1/2

Vozitja 1/2
Vozitja 1/2

Nëse shtypni shigjetën lart në tastierë, matësit duhet të ndryshojnë pozicionet dhe makina duhet të ngasë. Nëse shtypni shigjetën "lart" dhe makina po kthehet, atëherë duhet të shtoni/hiqni minus në vendet në ekran.

Pas këtij operacioni pas goditjes shigjeta "lart" makina duhet të lëvizë përpara dhe makina me shigjetë duhet të ecë prapa.

Hapi 25: Drejtimi i makinës 2/2

Vozitja 2/2
Vozitja 2/2

Tani duke u kthyer - goditni shigjetën e majtë nëse makina kthehet djathtas Ju duhet të rrokullisni kabllot (kontrolloni imazhin më lart)

Nëse i lidhni këto kabllo, mund ta ndryshoni në skript. Thjesht ndryshoni rendin e dërgimit të shpejtësisë së motorëve, para:

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

pas:

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

dhe tani Ju duhet të luani me minuset si një hap më parë për ta bërë atë të funksionojë si duhet;). Siç e keni vënë re me siguri pasi shigjeta e goditur nuk po ecën me makinë me shpejtësi të plotë për ta bërë makinën të lëvizë më shpejt, vetëm lëshoni shpejt shigjetën lart kur është në pozicionin maksimal dhe shtypeni dhe mbajeni përsëri

Hapi 26: Si funksionon

Faqja e internetit po dërgon mesazhe mesazhi 9-bajtësh në python script në formatin:

  • 1 bajt një byte vlerë e plotë 1
  • 2 bajt numër i plotë X pozicioni i kamerës
  • 2 bajt i plotë Y pozicioni i kamerës
  • Modaliteti motorik i majtë 1 bajt i majtë (3 = prapa, 1 = përpara, 2 = ndalesë)
  • 1 bajt i plotë shpejtësia e majtë e motorit
  • Modaliteti motorik i djathtë 1 bajt i plotë (3 = prapa, 1 = përpara, 2 = ndalesë)
  • Shpejtësi e plotë e motorit të drejtë 1 bajt

dërgimi i mesazhit bëhet në skedarin script.js në funksionin "sendNow ()"

në RasbperryPi python.py po e merr këtë mesazh në funksion "onUserMessage"

Mund ta shikoni dhe të luani pak në mënyrë që ta dini se çfarë po ndodh.

Përshkrimi i funksioneve të klasës këtu

Hapi 27: Tablet, Drejtimi celular

Tablet, Drejtues celular
Tablet, Drejtues celular

Ne shtojmë një faqe të re në internet pa interes siç kemi bërë herën e kaluar, por tani ne zgjedhim modelin "car4wdMobile"

Tjetra, ne konfigurojmë gjithçka në script.js siç bëmë për uebfaqen e kontrollit të desktopit Formati i mesazhit është saktësisht i njëjtë kështu që ne nuk kemi pse të ndryshojmë shkrimin python.py.

Hapi 28: Hapni faqen në telefonin celular

Hapni faqen në celular
Hapni faqen në celular
Hapni faqen në celular
Hapni faqen në celular

Në vend që të identifikoheni në llogarinë tuaj nga celulari, thjesht skanoni një url QR të çdo lloji.

detajet e QR këtu

Nëse kontrolli juaj celular funksionon kur RPi dhe celulari janë në të njëjtin wifi, por jo nëse përdorni internet celular, atëherë duhet të shtoni serverin e kthesës, si ta bëni atë që kam shkruar këtu

Hapi 29: Shtimi i Turn Server

Shtimi i Turn Server
Shtimi i Turn Server
Shtimi i Turn Server
Shtimi i Turn Server
Shtimi i Turn Server
Shtimi i Turn Server

Ndonjëherë (kur jeni prapa NAT ose disa cilësime të firewall) Ju nuk mund ta lidhni robotin tuaj nga një rrjet tjetër atëherë roboti juaj është i lidhur. Nuk është çështje e madhe dhe më pas Ju duhet të shtoni serverin e kthesës.

Unë kam testuar serverin nga kompania XIRSYS (është falas për përdorim nga zhvilluesit) dhe do të tregoj se si të konfiguroni serverin e kthesës duke përdorur sistemin XIRSYS

regjistrohu:

global.xirsys.net/dashboard/signup

pastaj kliko "plus" për të shtuar aplikacionin

në të djathtë nën "kredencialet e kthesës statike" Ju keni të gjitha të dhënat që ju nevojiten. Kopjojeni në skedar webrtc_streamer.conf për ta bërë këtë shkoni te

zgjeroni Deivces RaspberryPi

kliko skedarin webrtc_streamer.conf

kliko hapur

dhe shtoni informacion

turn_server = turn_username =

kredencialet e kthesës =

pasi të keni përfunduar redaktimin Duhet të keni diçka si në ekran.

pastaj klikoni Ruaj dhe rinisni You Rpi, duke klikuar menunë në pajisjen RasbperryPi dhe zgjidhni rinisjen

Pas rifillimit të programit RPi Ju mund të shihni pamjen paraprake të videos në telefonin tuaj celular edhe nëse jeni duke përdorur internetin celular.

Hapi 30: Drejtimi celular

Drejtimi celular
Drejtimi celular

në rrethin 1 vendosim gishtin e madh të dorës së majtë, në 2 djathtas - nuk duhet të jeni pikërisht në këto pika - uebfaqja do të vendosë pozicionin zero menjëherë pasi të prekni ekranin, dhe duke lëvizur gishtërinjtë tuaj të mëdhenj (ngarje majtas, pozicioni i djathtë i kamerës) Ju mund të kontrolloni makina juaj

Hapi 31: Përmbledhje

Shpresoj se ju ka pëlqyer ky tutorial, siç kam shkruar më parë në këtë tutorial ka më shumë detaje se si funksionon nën kapuç.

disa lidhje:

remoteme.org - faqja kryesore e remoteme.org atje Ju gjeni dokumente dhe mësime

Fanpage e FB - Faqja e Facebook -ut inflacioni më i ri në lidhje me remoteme.org

Youtube - disa video të projektit, mësime

Gezuar, Maciek

Recommended: