Arduino RC auto met FPV Camera (9 / 15 stap)

Stap 9: Auto gaspedaal en stuurwiel


Het gaspedaal en stuurwiel op de auto zijn "analoge", wat betekent dat met behulp van de XBox-controller, de auto kan gaan op een aantal snelheden, en sla bij een bereik van stuurwiel hoeken. De juiste trigger wordt gebruikt voor het doorsturen van berichten, de trekker met links wordt gebruikt voor reverse en de linker analoge stick wordt gebruikt voor de besturing (dit zijn de standaardbesturingselementen voor XBox racegames). Om het verzenden van deze "analoge" ingangen van de XBox-controller aan de auto, reist de gegevens via de programma's als volgt:

Gaspedaal gegevens - C#:

1. de status van de XBox-Controller wordt gelezen. Links/rechts trigger waarden worden opgeslagen als drijvers

2. een vergelijking is gemaakt tussen de twee trigger-waarden. De grotere waarde gebruikt, en de kleinere waarde wordt genegeerd (bijvoorbeeld indien zowel voorwaarts als achteruit worden ingedrukt, de grotere waarde "wint")

3. de waarde wordt vermenigvuldigd met 100 en gemanipuleerd zodat 0 snelheid de waarde 500 is. Dit betekent dat de volledige snelheid omgekeerde overeen met de waarde "400 komt", en volle snelheid vooruit is de waarde "600". Dit werd gedaan om te voorkomen dat nodig om het gebruik van negatieve getallen, en de keuze van 500 als het middelpunt was volledig willekeurig.

4. de nieuwwaarde van de gashendel wordt geconverteerd naar een tekenreeks (zoals 3 cijfers).

5. de gashendel tekenreeks wordt toegevoegd aan de output string C#, en verstuurd naar de Arduino wanneer dit nodig is.

Gaspedaal gegevens - Arduino:

1. de Arduino ontvangt de volledige tekenreeks en slaat de gashendel tekens een karakter array.

2. de gashendel karakter array wordt omgezet in een int

3. met behulp van de "kaart"-functie, de waarde van de gashendel wordt omgezet in een compatibel waarde voor het ESC. Het ESC accepteert dezelfde controle signalen als servomotoren, dus de Servo-type wordt gebruikt voor het schrijven van een "diploma" waarde naar de ESC-pin. Het ESC is gekalibreerd zodanig dat 0 graden is volle snelheid omgekeerde en 180 graden is volle snelheid vooruit. 90 graden is 0 snelheid.

4. de waarde wordt weggeschreven naar het ESC.

In de C#-code ziet u ook enkele extra functies die het manipuleren van het gaspedaal. Deze werden opgenomen voor het wijzigen van de rijeigenschappen, maar ik heb niet vond ze dat nuttig. Een van deze functies gaat een lineaire/kwadraat/cubed gashendel modus. Lineaire modus biedt een 1:1 relatie tussen de positie van de trigger en de snelheid. Dus, het indrukken van de forwards trigger halverwege resultaten in de auto rijdt met de helft van de max snelheid. Vierkante modus houdt de kwadratuur van de ruwe waarde, dus halverwege het indrukken van de trigger resulteert in de auto rijdt met een kwart van de max snelheid. Dit biedt meer scala controle bij lagere snelheden, en minder bij hogere snelheden. Deze gaspedaal modi kunnen worden geselecteerd gebruikend de daling onderaan doos op de C#-programma GUI (met een muis).

De andere functie omvat de mogelijkheid om enable/disable "langzaam mode", door op de B-knop op de controller van de XBox. Trage modus beperkt de topsnelheid van de auto aan de helft van de max snelheid. Zo, zou u het volledige scala van de triggers om lagere snelheden. Deze modus komt eigenlijk handig soms - het is geweldig voor een nauwkeurige besturing bij lage snelheden.

Besturing is vrij gelijkaardig aan het gaspedaal. De manier waarop de gegevens reizen is:

Besturing van gegevens - C#:

1. de status van de XBox-Controller wordt gelezen. De waarde van de x-as linker analoge stick wordt opgeslagen als een float

2. de waarde wordt vermenigvuldigd met 100 en 500 is toegevoegd. Dit betekent dat de volledige links gelijk aan de waarde "400 is", en volledige recht de waarde "600 is". Dit werd gedaan om te voorkomen moeten negatieve getallen gebruiken als het gaspedaal, en de keuze van 500 als het middelpunt was volledig willekeurige.

3. de stuurinrichting nieuwwaarde wordt geconverteerd naar een tekenreeks (zoals 3 cijfers).

4. de stuurinrichting tekenreeks wordt toegevoegd aan de output string C#, en verstuurd naar de Arduino wanneer dit nodig is.

Besturing gegevens - Arduino:

1. de Arduino ontvangt de volledige tekenreeks en slaat de stuurinrichting tekens een karakter array.

2. de stuurinrichting karakter array wordt omgezet in een int

3. met behulp van de functie "kaart", de bedieningsinrichting waarde wordt omgezet in een compatibel waarde voor de stuurinrichting servo. Merk op dat het stuur servo niet over het volledige bereik van 0 tot en met 180 beschikt. Op mijn auto, volledige links is 133 graden en volledige recht is 60 graden, met een centrum-waarde van ongeveer 96 graden

4. de waarde wordt weggeschreven naar het stuur servo.

Als het gaspedaal, kan de besturing worden geconfigureerd om lineaire/kwadraat/cubed modus in het C#-programma. Ik vond dat voor mijn auto dit een beetje zinloos, vanwege het relatief kleine bereik in stuurhoek was. Omdat de wielen niet ver draaien, is het gemakkelijk om hen naar de juiste hoek in lineaire mode.

Opmerking over Arduino Servo bibliotheken:

Toen ik de Arduino schets aan het ontwikkelen was, gebruikte ik de Arduino Servo-standaardbibliotheek voor zowel het ESC en het stuur servo. Zodra ik de NeoPixel stick geïntroduceerd, de Servo-bibliotheek niet meer kon worden gebruikt (Zie https://learn.adafruit.com/neopixels-and-servos). De TiCoServo bibliotheek werkt net zo goed in mijn RC auto, maar er zijn grenzen - slechts twee servo's tegelijkertijd kunnen worden gebruikt, alleen een klein aantal pinnen worden (zelfs op een Arduino Mega gebruikt kan), en alleen bepaalde paren van deze pinnen kunnen samenwerken. De laatstgenoemde werd bedacht door vallen en opstaan...

Gerelateerde Artikelen

Arduino gecontroleerde auto met vermijding van de colission

Arduino gecontroleerde auto met vermijding van de colission

Gezien de juiste tijd en liefde, zal deze auto vermijden dingen achter zit. Kom en volg mee als we gaan door de stappen te bouwen dit geweldige project...Stap 1: Verzamel materialen Pak een oude auto van uw lokale zuinigheid winkel, en het verzamelen
Arduino RC auto met lange afstand en aangepaste zender.

Arduino RC auto met lange afstand en aangepaste zender.

Hallo! Dit is mijn eerste instructable.Daarin zal ik u tonen hoe te maken van een RC auto met Arduino en de draadloze nrf24l01 +-module, of hoe om te upgraden een goedkope 27 MHz RC auto.De oude RC auto, die van I het chassis, en de heli Controller n
Controle Arduino RC auto met behulp van android telefoon & 1Sheeld

Controle Arduino RC auto met behulp van android telefoon & 1Sheeld

Als u besturen RC auto met uw Androïde slimme telefoon wilt zonder met behulp van Bluetooth-module en programmering androïde toepassing, kunt u 1Sheeld gebruiken in plaats van hen.1Sheeld bestaat in principe uit twee delen. Het eerste deel is een sch
1ste BM ARDUINO gecontroleerde auto met HC-SR04

1ste BM ARDUINO gecontroleerde auto met HC-SR04

Met dit project wil ik je laten zien de manier op hoe te converteren van een RC auto in een automatisch gecontroleerde auto met Arduino Uno R3.Stap 1: Benodigde materialen: RC auto (met gescheiden achterwiel motors)Arduino Uno R39V battaryDradenUltra
RC tank met een bewegende FPV camera

RC tank met een bewegende FPV camera

Hallo.In dit instructable ik u tonen hoe te bouwen van afstandsbediening tank met FPV camera. Begin bouw ik alleen RC tank zonder FPV camera maar wanneer ik het in het huis reed ik heb niet gezien waar het is. Dus ik kwam met dat ik aan het toevoegen
Autonome Arduino auto met infrarode nabijheidssensor

Autonome Arduino auto met infrarode nabijheidssensor

Dit Instructable laat zien hoe een preloved RC auto te wijzigen zodat het kan worden gecontroleerd door een Arduino. Vervolgens zal de Instructable u tonen hoe te maken van de RC uitvoeren dat een eenvoudige figuur 8 code vanaf daar de Instructable z
Bluetooth gecontroleerde Arduino RC auto

Bluetooth gecontroleerde Arduino RC auto

dit Project is iets wat ik voor mijn klas Microcontroller gestart. Wij waren belast met het plukken van de Arduino of Raspberry pi en dan krijgen de MCU voor controle van een RC auto of verrichten iets fancy met een RC auto; Dan zodra we besloten wat
No.02 Steering Wheel Drive R/C auto met Arduino, Webcam en net. USB enz

No.02 Steering Wheel Drive R/C auto met Arduino, Webcam en net. USB enz

IP Control Car werd gelanceerd in 2001.Ik maak de soortgelijke functie auto met behulp van gecommercialiseerde producten.Het concept van auto No.02 is gecommercialiseerd producten gebruiken, en ik ben een amateur in elektrische. Dus, niet kwalijk mij
Elke externe gecontroleerde auto met behulp van Arduino

Elke externe gecontroleerde auto met behulp van Arduino

zoals dit mijn eerste is instructable ik probeerde mijn best. Deze auto is gemaakt met behulp van de arduino zonder motor Shield of ics. Deze rover kan met elke afstandsbediening die aangestuurd worden. Ten eerste moeten we om te decoderen van de afs
Lego Technic auto met Arduino en XBee Wireless Control

Lego Technic auto met Arduino en XBee Wireless Control

ik was doorlezen Instructables een fijne winter zaterdag, toen mijn 8 yo zoon kwam in en tuurde over mijn schouder en zag dit: door sath02. Mijn zoon is een grote fan van alle dingen Lego, en houdt van robots en auto's, en dit had gelijk zijn straatj
Hoe maak je een bekabelde Rc auto met behulp van een Arduino

Hoe maak je een bekabelde Rc auto met behulp van een Arduino

Ik ga u tonen hoe te maken van een RC auto met een arduinoStap 1: materialen2 Arduino unos (dat is net wat ik gebruikt.)Jumper draden en Male naar vrouwelijke draden2 Arduino joysticks2 9v batterijenoplaadbare RC accu van 1 9.6v1 tower Pro Servo1 mot
Hoe maak je Drift auto met behulp van de Arduino

Hoe maak je Drift auto met behulp van de Arduino

Hallo iedereen. Laat me voorstellen over hoe ik een DRIFT-auto met behulp van de arduino, pololu VNH5019, NRC-20 controlesysteem en verwoeste lichaam van RC auto gemaakt.Stap 1: Deze DRIFT auto bevat... 1. de Arduino UNO R3 programmeerbare bestuur2.
Arduino Bluetooth RC auto met LCD

Arduino Bluetooth RC auto met LCD

LCD-scherm laat zien waar uw auto rubriek (bijvoorbeeld bewegende vooruit, achteruit,..)Ik heb alleen maar bewerkt de code en voeg een LCDStap 1: Onderdelenlijst Arduino unoHC06 Bluetooth-moduleL293D Motor DriverLCD 16 * 2Auto chassisVariabele weerst
Afstandsbediening auto met Arduino en Bluetooth

Afstandsbediening auto met Arduino en Bluetooth

Dit project bestaat uit het maken van een auto van de afstandsbediening met behulp van een bluetooth-verbinding. Deze auto is bedoeld om te worden gebruikt in een ballon knallen competitie tegen andere soortgelijke auto's. De draadloze verbinding wor