Indholdsfortegnelse:
- Trin 1: Nogle oplysninger om App.remoteme.org
- Trin 2: Hvad er der brug for:
- Trin 3: Forbindelser
- Trin 4: PCB
- Trin 5: PCB -udgange
- Trin 6: Sådan fungerer det
- Trin 7: Bilmontering - Hjul
- Trin 8: Strøm (AA -genopladelige batterier) Mulighed 1/2
- Trin 9: Strøm (Li-Po 7,2V batterier) Mulighed 2/2
- Trin 10: Lodning
- Trin 11: Kamera
- Trin 12: Sammensætning af bildele
- Trin 13: App.remoteme.org -konfiguration
- Trin 14: RasbperryPi -konfiguration
- Trin 15: Kontrol af forbindelser
- Trin 16: Tilføjelse af Python Script
- Trin 17: Kontroller, om Python -script blev tilføjet med succes
- Trin 18: Tilføjelse af webside til Control Car
- Trin 19: Konfigurer websidenhed til at styre bil 1/2
- Trin 20: Konfigurer websidenhed til at styre bil 2/2
- Trin 21: Åbn Car Control Center
- Trin 22: Kamerakonfiguration 1/2
- Trin 23: Kamerakonfiguration 2/2
- Trin 24: Kørsel 1/2
- Trin 25: Kørsel 2/2
- Trin 26: Hvordan fungerer det
- Trin 27: Tablet, mobilstyring
- Trin 28: Åbn side på mobiltelefon
- Trin 29: Tilføjelse af Turn Server
- Trin 30: Mobilstyring
- Trin 31: Resumé
Video: RasbperryPi bil med FPV kamera. Kontrol med webbrowser: 31 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Vi bygger en 4 -hjulet bil - styretøjet ligner en tank - for at dreje den ene side af hjulene vil rotere med anden hastighed end den anden. Ved bilen placeres kameraet på en særlig holder, hvor vi kan ændre kameraposition. Robotten styres af webbrowser (chrome eller firefox på skrivebordet eller firefox på mobiltelefon), i browseren, Vi får kameravideo (med kun 200 ms forsinkelse), og fra browseren kan vi styre bilens bevægelser og kameraposition. For at gøre kommunikationen lettere har jeg brugt app.remoteme.org -systemet, der arbejder også ud af boksen med at styre denne slags biler, så du behøver ikke at skrive din egen kode, men selvfølgelig kan du ændre scripts tilføje nye muligheder osv.
Inden du slutter strøm til dit printkort, skal du dobbelttjekke alle forbindelser
Trin 1: Nogle oplysninger om App.remoteme.org
Systemet har tre dele
- webapplikation - når du er vært for dine kontrolwebsider, og den forbinder al kommunikation
- rasbperryPi -program - program, der sender video, styr dine python -scripts
- biblioteker, hvor du finder definitioner på klasse, funktioner
Remoteme.org er systemhurtig Du forbinder alle dine enheder sammen. Du kan hoste dine websider der, se dine tilsluttede enheder. Remoteme.org -systemet blev skabt til at hjælpe dig med at begynde at lave dine projekter, uden at bekymre dig om protokolkommunikation, hovedideen er at sende binære meddelelser mellem forskellige enheder, f.eks. En webside, RasbeprryPI, arduino og scripts.
Fra den anden side giver Remoteme.org dig fuld kontrol over dine filer, du kan let ændre den ved at skrive din egen funktionalitet
På denne vejledning vil jeg vise dig, hvordan du laver et fantastisk projekt uden at skrive nogen kode.
I slutningen af denne vejledning har jeg lagt nyttige links, som hjælper dig med at forstå remoteme.org -systemet.
Trin 2: Hvad er der brug for:
- Hindbær PI Zero W
- Dedikeret kamera
- Adafruit 16 -kanals 12 -bit PWM/Servo Driver - I2C interface - PCA9685 eller dens klon
- To servomekanismer kompatible med kameraholderen
- Kameraholder
- Batterier - I tutorial to muligheder for tilslutning
- H -bro TB6612FNG, til styring af hjulspeer
- PCB ørnefiler Det er let at gøre det termisk overførselsmetode DC-DC
- Step Down Converter Module DC
- Robotkasse
Trin 3: Forbindelser
Hindbær pi kontrol servomekanisme gennem PWM -modul og motorhastighed ved H -bro, som er forbundet til RasbperryPi -ben, PWM -indgang til H -bro genereres af det samme modul, som jeg brugte til servoer (hvilke dele, jeg nævner ovenfor, er ikke nødvendige logiske omformere)
Trin 4: PCB
Du kan downloade PCB -ørnefiler herfra Stier er fede, så det er let at lave det ved termisk overførselsmetode
Trin 5: PCB -udgange
- PWM -indgang til drivmotorer Skal tilsluttes PWM -modul 15. og 16. ben (tjek grønt rektangel på billede af PWM -modul)
- Strømindgang til drivmotorer (tjek hvilken maksimal spænding dine motorer kan arbejde med)
- Strøm til RasbperryPi og PWM -modul - skal være præcis
- Drivmotorudgange (der er to udgange, fordi vi vil parre drivmotorer)
- Servomekanismer magt - også Du skal kontrollere, hvilken spænding der er god for dem
- Jumper sin nuværende strøm fra 5. input vil også drive motorer, så du behøver ikke at tilslutte noget til input 2
- Jumper, hvis den findes RasbperryPi får strøm fra 3. input - før du sætter jumper her, skal du kontrollere, om forbindelserne er OK - du vil ikke brænde din RPi
- Lad lodde her kabler, da vi ikke har brug for logiske konvertere
Trin 6: Sådan fungerer det
På RasbperryPi er der python script, der bruger to biblioteker
- import RPi. GPIO som GPIO-til ben 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM-notation), der er forbundet til H-broen
- import Adafruit_PCA9685 til PWM -modul
Rpi-benene er forbundet som følger 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) og kontroltilstand for H-broen (fremad, bagud, stop, kort pause). H -broen har også brug for to PWM -signaler, så vi kan styre hastighed eller motorrotation. Fordi vi ved projektet allerede har PWM -controller (bruges til servo), vil vi også bruge det til at generere PWM til H bridge.
PWM -modul bruger I2C kommunikationsprotokol. Jeg har brugt at arbejde ud af kassen Adafruit_PCA9685. bibliotek
Trin 7: Bilmontering - Hjul
Vi starter med at forbinde drivmotorer til bilkasse. Venstre/sidemotorer forbindes sammen, og begge parres, tilsluttes et strømkabel, som senere vil blive forbundet til printkort. Vigtig bemærkning ved tilslutning af motorer skal hjul på hver side rotere i samme retning.
Trin 8: Strøm (AA -genopladelige batterier) Mulighed 1/2
Jeg vil skrive to muligheder for magt Bil første er fra 10xAA genoplade batterier Til sidst billede har jeg tegnet af røde farver jumpere, der skal sættes.
Trin 9: Strøm (Li-Po 7,2V batterier) Mulighed 2/2
Og den anden mulighed er 7,2 LI-PO batteri. I dette tilfælde fik vi 3 spændinger - 5v til Rpi og modul, 6V til servoer og direkte fra batterier 7,2 volt til drivmotorer. Jeg var nødt til at bruge to trin ned moduler
Mulighed 2 med LI-PO er bedre:
- Batterier har større kapacitet - bilen kører længere
- Større spænding for drivmotorer - bilen kører hurtigere
- Mindre sandsynlighed for, at efter drivmotorer begynder at lokalisere, kan vi få et stort spændingsfald og RPI genstarter.
Trin 10: Lodning
Jeg har på PCB sat nogle afstandsstykker til PWM -modul. Der er ikke noget at skrive bare tjek billeder, hvordan man lodder alt sammen
Trin 11: Kamera
vi forbinder kameraet, her er skrevet, hvordan man centrerer servomekanismer, før de monteres i kameraholderen, men den korteste måde er forsigtigt manuelt at kontrollere maksimal rotationsposition og indstille servoer i midterposition. Disse centrerede servomekanismer sætter vi i kameraholderen i midterpositionen (kameraet peger lige frem som på billedet)
Trin 12: Sammensætning af bildele
Til PCB har jeg lavet et lille plexiglasbord
Trin 13: App.remoteme.org -konfiguration
Jeg har brugt et gratis app.remoteme.org -system, det hjælper dig med at oprette forbindelser, og det har allerede scripts, som vi har brug for
På dette instruktive vil jeg bare vise trin for trin, hvad der skal gøres for at få bilkørsel (her finder du flere detaljer)
- Syng op på https://app.remoteme.org efter tilmelding Du bliver automatisk logget ind
- Åbn fanen Token til venstre, klik derefter på "nyt token" angiv et navn, og klik på OK, Vi har lige oprettet nyt token (billede på skærmen)
- i dette eksempel er tokenværdien: ~ 1_ & p@+BNnZ@A+x8 (din vil være anderledes;))
Trin 14: RasbperryPi -konfiguration
på spartelkonsol (her hvordan du konfigurerer vores RPi tænd kamera I2c kommunikation)
git -klon git: //github.com/remoteme/remoteme.git
cd -fjernbetjening
python3.5 install.py
- Instalator stiller os nogle spørgsmål til alt, hvad vi svarer [Y] es og bekræfter med [enter]
- når installationen vil bede om token, indsætter vi (shift+insert) token kopieret fra applikationen og Enter
- navnet f.eks. Rpi
- deviceId 1 Indtast
- efter installation - kør program
./runme.sh
Trin 15: Kontrol af forbindelser
Lad os gå tilbage til
På fanen enheder ser vi vores tilsluttede RPi (grønt linkikon betyder, at RPi er tilsluttet lige nu)
Trin 16: Tilføjelse af Python Script
Nu tilføjer vi python script, det er allerede på skabelonerne, så vi behøver ikke at programmere noget.
Åbn RasbperryPi -menuen under fanen enheder, og vælg "Tilføj eksternt script".
Når nyt vindue vises, skal du give oplysninger som på billedet ovenfor
Glem ikke at vælge skabelon "car4wd". Efter disse trin tilføjer remoteme.org python -script til vores RasbperryPi og genstarter det
Trin 17: Kontroller, om Python -script blev tilføjet med succes
På fanen enheder skal der tilføjes en ny python -scriptenhed, og dens deviceId er 2. På denne enheds id -webside sender beskeder til at styre bilen
Trin 18: Tilføjelse af webside til Control Car
på fanen enheder klik på "Ny" og derefter på "webside". Vi tilføjer lige en anden enhed - webside vil vi bruge den til at styre vores bil. Og fordi vi brugte skabelonen "car4wdDesktop" på websiden, er filer allerede næsten klar til brug
Trin 19: Konfigurer websidenhed til at styre bil 1/2
Udvid websiden på fanen enhed, og klik på index.html og derefter Åbn
Trin 20: Konfigurer websidenhed til at styre bil 2/2
Vinduet vises, så skal vi angive deviceId af vores python -script ved vores case deviceId er 2. Lad os ændre det sted, der vises på billedet
Trin 21: Åbn Car Control Center
Nu er det tid til at åbne vores side og se, hvordan den fungerer. På enhedsfanen skal du klikke på index.html og derefter "Åbn i ny fane" For at få vist video -forhåndsvisning Du skal bruge chrome- eller Firefox -browser, andre browser understøtter ikke webRTC fuldt ud
Trin 22: Kamerakonfiguration 1/2
Når vi flytter musen ved videoområdet, skal kameraet ændre position, og det skal fungere nøjagtigt som i FPS -spil. Det vil sandsynligvis ikke bevæge sig korrekt
Trin 23: Kamerakonfiguration 2/2
Åbn script.js (fanen enheder udvid websiden, klik derefter på script.js og åbn derefter) og find det sted, jeg viste på skærmen
i min sags centerposition er 560 og 430, og bevægelsesområdet er for begge aksier 200
Du skal eksperimentere med disse tal, så du får kamerapositionens centrum og glatte bevægelser, hvis du brugte denne vejledning, skal du bare kopiere indsatte givne værdier
Trin 24: Kørsel 1/2
Hvis du trykker på pil op på tastaturet, skal målere ændre position, og bilen skal køre. Hvis du trykker på "op" -pilen, og bilen drejer, skal du tilføje/fjerne minus på steder på skærmen.
Efter denne operation efter at have ramt "op" pilen skal bilen køre fremad og pil ned skal bilen køre baglæns.
Trin 25: Kørsel 2/2
Drej nu - tryk på venstre pil, hvis bilen drejer til højre Du skal vende kabler (se billedet ovenfor)
Hvis du lodder disse kabler Du kan ændre det på script.jsjust ændre rækkefølge for at sende motorers hastighed, Før:
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));
efter:
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));
og nu skal du lege med minusser som et skridt før for at få det til at fungere korrekt;). Som du sikkert har bemærket efter at have ramt op, kører bilen ikke med fuld hastighed for at få bilen til at bevæge sig hurtigere, bare slip hurtigt pilen op, når den er i maksimal position og tryk og hold den igen
Trin 26: Hvordan fungerer det
Websiden sender 9.-byte beskedbeskeder til python script i format:
- 1 byte en byte heltalværdi 1
- 2 bytes heltal X kameraposition
- 2 bytes heltal Y kameraposition
- 1 byte helt tal venstre motortilstand (3 = bagud, 1 = fremad, 2 = stop)
- 1 byte helt tal venstre motorhastighed
- 1 byte heltal højre motortilstand (3 = bagud, 1 = fremad, 2 = stop)
- 1 byte helt tal højre motorhastighed
afsendelse af besked foretages i script.js -filen ved funktionen "sendNow ()"
på RasbperryPi får python.py denne besked i funktion "onUserMessage"
Du kan tjekke det ud og spille lidt, så du ved, hvad der foregår.
klassefunktionsbeskrivelse her
Trin 27: Tablet, mobilstyring
Vi tilføjer ny webside eksakt som vi gjorde tidligere, men nu vælger vi skabelon "car4wdMobile"
Dernæst konfigurerer vi alt i script.js, som vi gjorde for desktop -kontrolwebside Meddelelsesformatet er nøjagtig det samme, så vi ikke behøver at ændre python.py -script.
Trin 28: Åbn side på mobiltelefon
I stedet for at logge ind på din konto fra mobilen skal du bare scanne QR anymous url.
detaljer om QR her
Hvis din mobilstyring fungerer, når RPi og mobil er på den samme wifi, men ikke gør det, hvis du bruger mobilt internet, så skal du tilføje turn -server, hvordan gør jeg det, jeg har skrevet her
Trin 29: Tilføjelse af Turn Server
Nogle gange (når du står bag NAT eller nogle firewallindstillinger) kan du ikke forbinde din robot fra et andet netværk, så er din robot tilsluttet. Det er ikke et stort problem, og så skal du tilføje turn server.
Jeg har testet server fra XIRSYS -firma (det er gratis til udviklerbrug), og jeg vil vise, hvordan jeg konfigurerer turn -server ved hjælp af XIRSYS -system
Tilmeld:
global.xirsys.net/dashboard/signup
klik derefter på "plus" for at tilføje applikation
til højre under "static turn credentials" Du har alle de data, du har brug for. Kopier den til filen webrtc_streamer.conf for at gøre det, gå til
udvide RaspberryPi deivces
klik på filen webrtc_streamer.conf
klik på åben
og tilføj oplysninger
turn_server = turn_username =
turn_credential =
efter du har afsluttet redigeringen Du skal have noget som skærmen.
klik derefter på Gem og genstart You Rpi, ved at klikke på menuen på RasbperryPi -enheden, og vælg genstart
Efter at RPi -programmet er genstartet Du kan se videoeksempel på din mobiltelefon, selvom du bruger mobilt internet.
Trin 30: Mobilstyring
i cirkel 1 placerer vi venstre tommelfinger, ved 2 højre - behøver ikke at være præcis på dette punkt - websiden indstiller nulposition lige efter at du har berørt skærmen, og ved at flytte dine tommelfingre (venstre kørsel, højre kameraposition) Du kan styre din bil
Trin 31: Resumé
Jeg håber, at du kunne lide denne vejledning, som jeg skrev før i denne vejledning er flere detaljer om, hvordan den fungerer under emhætten.
nogle links:
remoteme.org - remoteme.org hjemmeside der finder du dokumentationer og selvstudier
FB fanpage - Facebook fanpage nyeste information om remoteme.org
Youtube - nogle videoer af projekt, selvstudier
Skål, Maciek
Anbefalede:
RC -tank med et FPV -kamera i bevægelse: 9 trin (med billeder)
RC -tank med et FPV -kamera i bevægelse: Hej. I denne instruktive viser jeg dig, hvordan du bygger en fjernbetjeningstank med FPV -kamera. I starten byggede jeg kun RC -tank uden FPV -kamera, men da jeg kørte den i huset, har jeg ikke set, hvor den er. Så jeg kom på det, som jeg vil tilføje til
Gør enhver R/C -bil til en Bluetooth -app -kontrol R/C -bil: 9 trin
Drejning af enhver R/C -bil til en Bluetooth -app -kontrol R/C -bil: Dette projekt viser trinene til at ændre en almindelig fjernbetjeningsbil til en Bluetooth (BLE) -styringsbil med Wombatics SAM01 robotkort, Blynk App og MIT App Inventor. er mange billige RC -biler med masser af funktioner som LED -forlygter og
Augmented Reality -webbrowser: 9 trin
Augmented Reality -webbrowser: I dag skal vi lave en Augmented Reality -webbrowser til Android. Denne idé startede, da ExpressVPN bad mig om at lave en sponsoreret YouTube -video. Da dette er min første, ville jeg gøre noget, der var relevant for deres produkt. Pr
CAR-INO: Total konvertering af en gammel RC-bil med Arduino og Bluetooth-kontrol: 5 trin (med billeder)
CAR-INO: Total konvertering af en gammel RC-bil med Arduino og Bluetooth-kontrol: Introduktion Hej, i mine første instruktioner vil jeg gerne dele min erfaring med at konvertere en gammel rc-bil fra 1990 til noget nyt. Det var xsmas 1990, da julemanden gav mig denne Ferrari F40, den hurtigste bil i verden! … på det tidspunkt. T
FPV RC bil: 6 trin (med billeder)
FPV RC Car: Dette projekt har været i min skuffe i nogen tid, og siden Maker Fair kommer til byen, var dette et godt tidspunkt at klare det. For længe siden var der et spil kaldet " Micro Machines " til Sega Mega Drive (Genesis), som jeg bruger timer på at spille. Bas