Maken van een RC auto u kunt met elke afstandsbediening die zich (5 / 6 stap)

Stap 5: Arduino software


De software van de arduino is niet zo moeilijk. Ik heb toegevoegd opmerkingen, maar als iets niet duidelijk, laat het me weten.

 #define Motor1_Dir 13 // Motor 1 direction control pin #define Motor2_Dir 11 // Motor 2 direction control pin #define Motor1_PWM 12 // Motor 1 speed control pin #define Motor2_PWM 10 // Motor 2 speed control pin int channel[4] = {0, 0, 0, 0}; // A variable to save the remote control values int pwm[4] = {0, 0, 0, 0}; // A variable to save the remote values from -255 to 255 int prev_pwm[4] = {0, 0, 0, 0}; // A variable to check if the state changed int pwm_m1 = 0; // A variable to save the speed of the first motor int pwm_m2 = 0; // A variable to save the speed of the second motor int reverse = 0; // A variable to check if the car needs to drive backwards int prev_reverse = 0; // A variable to check if the state of reverse changed const int pins[4] = {2, 3, 4, 5}; // A const variable for the pins of the remote void setup() { pinMode(2, INPUT); //Ch1 pinMode(3, INPUT); //Ch2 pinMode(4, INPUT); //Ch3 pinMode(5, INPUT); //Ch4 pinMode(6, INPUT); //Ch5 pinMode(7, INPUT); //Ch6 pinMode(Motor1_Dir, OUTPUT); pinMode(Motor2_Dir, OUTPUT); pinMode(Motor1_PWM, OUTPUT); pinMode(Motor2_PWM, OUTPUT); digitalWrite(Motor1_Dir, LOW); // Motor 1 forward digitalWrite(Motor2_Dir, LOW); // Motor 2 forward } void loop() { for (int i = 1; i < 3; i++) // check channel 2 and 3 (from 0 to 3) { channel[i] = pulseIn(pins[i], HIGH, 25000); // Read the channel pulse channel[i] = (channel[i] == 0) ? 990 : channel[i]; // If there is an error the value is 0 /***************************************** * Same as this but shorter: * if(channel[i] == 0) * { * channel[i] = 990; * } * else * { * channel[i] = channel[i]; * } *****************************************/ pwm[i] = map(channel[i], 990, 2000, -255, 255); // Convert from (990 - 2000) to (-255 - 255) if (i == 2) // If channel 3 is checked (vertical movement) { reverse = (pwm[i] < 2) ? 1 : 0; // Forward or backward pwm[i] = (pwm[i] < 0) ? (255 + pwm[i]) : pwm[i]; // if backward, instead of (-255 to 0) => (0 to 255) } if ((prev_pwm[i] + 4 < pwm[i]) || (prev_pwm[i] - 4 > pwm[i])) // If there is a minimal movement of 4 in one direction { /** Define motor 1 speed **/ pwm_m1 = pwm[2] - pwm[1]; pwm_m1 = (pwm_m1 < 0)? 0: pwm_m1; // Minimum 0, not negative pwm_m1 = (pwm_m1 > 255)? 255: pwm_m1; // Maximum 255, no more /** Define motor 2 speed **/ pwm_m2 = pwm[2] + pwm[1]; pwm_m2 = (pwm_m2 < 0)? 0: pwm_m2; // Minimum 0, not negative pwm_m2 = (pwm_m2 > 255)? 255: pwm_m2; // Maximum 255, no more analogWrite(Motor1_PWM, pwm_m1); // Write speed to the motors analogWrite(Motor2_PWM, pwm_m2); prev_pwm[i] = pwm[i]; // Place here to check for minimal movement of 4 (see up) } if (reverse != prev_reverse) // If the direction is changed { digitalWrite(Motor1_Dir, reverse); // Write it to the H bridge digitalWrite(Motor2_Dir, reverse); // Write it to the H bridge prev_reverse = reverse; // Define for later checking } } delay(100); // sleep a small time } 

Dus is dat alle code.

Gerelateerde Artikelen

Maken van een griezelige spin tellen boek met uw peuter

Maken van een griezelige spin tellen boek met uw peuter

hier is een idee voor het maken van een super leuke, super-gemakkelijke Halloween boek tellen.Ik kreeg het idee van vorig jaar toen mijn dochter en ik maakte een soortgelijke één laatste Halloween in een klasse die we hebben genomen. Op het moment wa
Maken van een eenvoudige Laser-gesneden-Box met een ondersteunende bodem

Maken van een eenvoudige Laser-gesneden-Box met een ondersteunende bodem

ik was moe van het werken met mijn rommelige bureaulade, dus na het werken met een laser cutter voor een paar weken heb ik besloten om het probleem oplossen door het maken van een nette opbergdoos dat alles een plaats zou geven. Het grootste probleem
Maken van een houten varken puzzel speelgoed met een decoupeerzaag

Maken van een houten varken puzzel speelgoed met een decoupeerzaag

Voor een houten bord (in dit geval gebruikte ik een goedkope LOWE'S pine bestuur) maken van een houten speelgoed u moet maar een Raad van bestuur zal doen, zelfs van triplex (maar niet aanbevolen aangezien ik dit bedoeld als een stuk speelgoed voor k
Maken van een gepersonaliseerde auto-badge-themed sleutelhanger

Maken van een gepersonaliseerde auto-badge-themed sleutelhanger

mijn partner rijden een mooie oude 1962 Valiant. Ze houdt van met name het ontwerp van de boot-badge. Voor Mothers Day besloten dit jaar heb ik om haar een gepersonaliseerde sleutelhanger op basis van dat ontwerp. Ook was ik jeuk om uit te proberen d
Het maken van een echte 3D videocamera systeem met instelbare houder

Het maken van een echte 3D videocamera systeem met instelbare houder

ik ben 3D video's schieten voor een paar maanden nu, en het ging heel goed. Maar er een groot probleem was: de houder van de videocamera. Het was een stuk aluminium met enkele gaten in het (6mm en 8mm 2,36 "en 3.15"). Ik maakte enkele mooie 3D v
Hoe te maken van een 51 stuk burr puzzel met behulp van alleen handgereedschap

Hoe te maken van een 51 stuk burr puzzel met behulp van alleen handgereedschap

In deze handleiding vindt u een stap voor stap instructies voor het maken van een puzzel van 51 stukjes burr (ook wel "Pagode", "Japanse Crystal" genoemd) met behulp van alleen handgereedschap. Het is een leuke manier om jezelf vertrou
Maken van een artistieke dubbele blootstelling silhouet met Pixlr Editor

Maken van een artistieke dubbele blootstelling silhouet met Pixlr Editor

dubbele blootstelling foto's zijn cool. Deze magische uitziende beelden waren in de dagen van 35-mm film, een van de handigste trucs die een fotograaf kan trekken uit. Het was niet gemakkelijk, hoor. Het kostte een hoop vooruit denken en plannen en t
Maken van een zeven puntige ster snel met Zotebook

Maken van een zeven puntige ster snel met Zotebook

Ongewone sterren zijn een geweldig design functie te breken van de symmetrie en aantrekkelijker maken.Met een paar eenvoudige bewegingen kun je een ongebruikelijke ster in Zotebook.Stap 1: Alles wat u nodig hebt is een iPad met de gratis Zotebook app
Instructies op het maken van een groene vilt blad-broche met knoppen en parels versierd gratis

Instructies op het maken van een groene vilt blad-broche met knoppen en parels versierd gratis

Dit is een eenvoudige DIY ambacht voor volwassenen en ooit voor kinderen om te proberen! Als u interesse in deze groene vilt blad-broche met knoppen en parels versierd zijn, doe het dan nu!Stap 1: Leveringen in het maken van de groene vilt blad-broch
Het maken van een sleuf auto met 3D printen.

Het maken van een sleuf auto met 3D printen.

Hallo, en welkom op mijn tutorial over hoe naar 3D afdrukken de auto van uw eigen slot. Aangezien het project is sterk afhankelijk van wat u wilt maken, zal niet ik krijgen in teveel detail waar het niet nodig.Dus, zonder verdere adeu, laten we begin
Maken van een RC auto 4WD

Maken van een RC auto 4WD

dit is mijn eerste instructables ik schrijf over hetControleer uw RC auto. De meesten van ons wil maken van onze eigen op maat gemaakte RC auto's, zodat we konden zitten kundig voor toevoegen van verschillende motoren met hoge RPM of lage RPM met hoo
Het maken van een juiste Zwitserse leger mes met Popsicle stokken (normale grootte.)

Het maken van een juiste Zwitserse leger mes met Popsicle stokken (normale grootte.)

Dit is v1.0 heeft 1 blade. Dit is een eenvoudige stap voor stap handleiding en dit is gemaakt van zeer goedkope materialen. Bewerk het en afbeeldingen uploaden. U kunt zelfs de badge die in afbeelding 6. Dat is de beste badge maar het donkere kleur.
Maken van een werkende speelbaar Tortilla Record met een Laser Cutter

Maken van een werkende speelbaar Tortilla Record met een Laser Cutter

Ze zeggen dat buitengewone beweringen buitengewone bewijs eisen.Zonder dralen, een werkelijke record gemaakt van een tortilla spelen "The Mexican Hat Dance" ook bekend als "Jarabe Tapatío".Waarom dit doen?Een tijdje geleden was er een
Het maken van een juiste Zwitserse leger mes met Popsicle stokken (normale grootte.) V2.0

Het maken van een juiste Zwitserse leger mes met Popsicle stokken (normale grootte.) V2.0

wat is er nieuw in v2.0Er is een liniaal in inch schaalEr is een zaagDit is een eenvoudige stap voor stap handleiding en dit is gemaakt van zeer goedkope materialen. Bewerk het en afbeeldingen uploaden. Ik weet niet hoe het te stoppen. Kunt u zich ab