Robot voor de wifey MOP (5 / 6 stap)

Stap 5: Arduino code.

Hoe werkt de code is aan het begin van de lus wij controleren voor de waarde op de sensor, en dan beslissen als we moeten vooruit, of draai. It's gonna verlangen sommige test op de werkelijke waarden nodig om te beslissen of er een bult of wissen. Controleer ook op de documentatie voor de motor shield, welke pinnen zijn toegewezen voor de motorische controle pin en pwm pinnen. PWM bepaalt welke spanning aan uw motoren vervoederd mogen worden, en controle ingesteld of de motor hoog moet, of laag. Op, en uit, respectievelijk.

Ik ben met behulp van de onderstaande code. wijzigen M1, M2, E1, E2, volgens het pin-toewijzingen voor uw schild, en de sensor_max, de sensor_min volgens uw IR sensor-waarde wanneer er een obstructie. ook, volgens de methode, forward_motors(), er is een lijn, digitalWrite(M1,LOW); en digitalWrite(M2,LOW); .. .modify laag, te hoog, als de motoren zijn spinnen achteruit. Doe het tegenovergestelde voor reverse_motors() methode.

/ * volgorde:

willekeurige rotatie vertraging, willekeurige reverse vertraging, willekeurige

1. eerste boot, doen een reeks Lees, spin 10times en schakel gemiddelde.

2. lopen vooruit op de 50counts, vervolgens opnieuw opstarten.

*/

int in1 = A4; invoer pin

int led1 = 12; Blink led - signalen

int resetpin = 12;

int M1 = 7;

int M2 = 4;

int E1 = 6; linker motor

int E2 = 5; goede motor

int fspd = 255; voorwaartse snelheid vertraagd

int mspd = 255; normale motorsnelheid

int ddelay = 0;

int icount = 0;

int count_limit = 35;

int min_delay = 250;

int max_spin_delay = 550;

int max_rev_delay = 500;

int sensor_max = 60;

int sensor_min = 69;

int sensor_min = 20;

int sensor_val = 0;

VOID Setup

{

pinMode (M1, uitvoer);

pinMode (M2, uitvoer);

pinMode (A1, INPUT);

Serial.begin(4800);

}

void loop //main lus volgorde

{

run_motor_seq2();

Serial.println("Count:");

Serial.println(iCount);

Serial.println ("waarde van de sensor:");

Serial.println(sensor_val);

}

VOID run_motor_seq2()

{

ddelay = 0;

sensor_val = 0;

sensor_val = analogRead(A1);

Als (sensor_val > sensor_min)

{

run_bump_seq();

iCount = 0;

count_limit = rand(35,50);

}

anders

{

Als (icount > 50)

{

run_bump_seq();

iCount = 0;

count_limit = rand(35,50);

}

anders

{

forward_motors();

}

}

iCount ++;

}

VOID run_bump_seq()

{

vertraging van de motor? of stoppen van de motor?

brake_motors();

blink_fast();

reverse_motors();

ddelay = rand(min_delay,max_rev_delay);

delay(ddelay);

brake_motors();

delay(min_delay);

turn_motor();

ddelay = rand(min_delay,max_spin_delay);

delay(ddelay);

brake_motors();

delay(max_rev_delay);

blink_fast();

}

---motor methoden

VOID forward_motors()

{

digitalWrite(M1,LOW); HOGE

digitalWrite(M2,LOW);

analogWrite(E1,fspd); De controle van de snelheid van de PWM

analogWrite(E2,fspd); De controle van de snelheid van de PWM

}

VOID brake_motors()

{

analogWrite(E1,0);

analogWrite(E2,0);

}

VOID reverse_motors()

{

digitalWrite(M1,HIGH); LAGE

digitalWrite(M2,HIGH);

analogWrite(E1,mspd); De controle van de snelheid van de PWM

analogWrite(E2,mspd); De controle van de snelheid van de PWM

}

ongeldig turn_motor() //turn toch?

{

digitalWrite(M1,HIGH);

digitalWrite(M2,HIGH);

analogWrite(E1,0); De controle van de snelheid van de PWM

analogWrite(E2,fspd); De controle van de snelheid van de PWM

}

---knipperen methoden

VOID blink_fast()

{

digitalWrite(led1,HIGH);

delay(100);

digitalWrite(led1,LOW);

delay(100);

digitalWrite(led1,HIGH);

delay(100);

digitalWrite(led1,LOW);

}

VOID blink_slow()

{

digitalWrite(led1,HIGH);

delay(500);

digitalWrite(led1,LOW);

delay(100);

digitalWrite(led1,HIGH);

delay(500);

digitalWrite(led1,LOW);

}

---helper methodes;

int rand (int mini, int maxi) //random waarden

{

int randval = random(mini,maxi);

Return randval;

}

de arduino ide heeft een handige functie waarmee u de waarden die u weergeven controleren kunt wilt,

Net sluit de USB-kabel op de arduino en de pc, op de arduino, klikt u op

tools > seriële monitor. en je krijgt alle waarden uitgespuwd uit met de lijnen van de Println()

uit de bovenstaande code.

Gerelateerde Artikelen

Robots voor verandering: een eerste Robotics Team Fundraiser

Robots voor verandering: een eerste Robotics Team Fundraiser

Ik heb echt geluk gehad om werken met de geweldige jonge mensen van Team Duct Tape #2845, een eerste robotica FTC team uit Florida. Niet alleen zijn de kinderen geweldig, maar ze hebben een geweldige ondersteuningsnetwerk voor volwassenen achter hen.
Dinobot - Heavy metal robot voor 3D print

Dinobot - Heavy metal robot voor 3D print

Dinobot - Heavy metal robot voor 3D printGEMAAKT IN AUTODESK 3DS MAXSUPER AWESOME ROBOTVEEL EN MEER DAN ALLEEN VEEL MEE KUNT DOENDELICAAT ONTWORPEN BEEST# Find A. RAR file(compressed) met .obj bestand ## Vergeet niet om commentaar na het af te drukke
Arduino Robot voor onder $5

Arduino Robot voor onder $5

Ik weet dat je altijd al wilde maken van een leger van robots! Maar dan ontdekt u dat je alleen een veroorloven kon of twee.Met dit ontwerp kunt u uw snode plannen te nemen over de hele wereld. Gaan en genieten van het maken van je leger van $5 robot
Chefbot: Een DIY autonome mobiele robot voor het serveren van voedsel in de hotels

Chefbot: Een DIY autonome mobiele robot voor het serveren van voedsel in de hotels

Zoals de titel al zegt, gaan we om te zien hoe het bouwen van een autonome mobiele robot genaamd Chefbot die voor het serveren van eten en drinken in hotels en restaurants.Dit was een hobby-project en ik bouwde deze robot na het zien van een robot ge
Arduino Robot voor de laagste kosten

Arduino Robot voor de laagste kosten

MIJ ZIEN OP DE NYC MAKER FAIRE!Het begon allemaal met dit:Arduino Robot uitdaging: Hoe goedkoop kunt u een robot met behulp van een Arduino voor 5e klassers maken?Ik hoop dat dit instructable een bepaalde elegantie toe aan haar eenvoud heeft en zal u
Eenvoudige arduino robot voor minder dan 10€

Eenvoudige arduino robot voor minder dan 10€

Hallo, In deze tutorial zullen we bouwen een eenvoudige robot voor minder dan 10 €. Verwacht geen wonderen van het niet. Het kan dienen als een stuk speelgoed of als hulpmiddel bij het leren programmeren en robotica. Dankzij zijn 2 sensoren kan het g
Robot voor het kantoor

Robot voor het kantoor

Tele-aanwezigheid (soort van) robot voor het kantoor. Werken vanuit huis en nog de saaie vergaderingen. Schrikken leveranciers in het vertellen van de waarheid over hun producten. Chase kleine kinderen wanneer zij naar het kantoor voor Halloween of K
Arduino lijn volgende Robot voor Beginners

Arduino lijn volgende Robot voor Beginners

* Updated GREEN 8 / 2 4 / 2 GREEN 1 voidsetup() {   // a variable created in here doesn't exist in loop } voidloop() {   // a variable created in here doesn't exist in setup } bron wilt opnemen meer prijzen, informatie en bovenkant/bodem/wiel sjablon
Lego robot voor beginers

Lego robot voor beginers

ik eerst raakte in Robotica, toen kreeg ik een Lego erg stormers kit voor KerstmisIk snel gebouwd alle robots in het boek en werd vastgehaakt op RoboticaVoor mij het beste deel was de mogelijkheid om een robot ontworpen om te doen een ding en het pro
Robot voor echte staal-mijn eigen concept

Robot voor echte staal-mijn eigen concept

mijn eigen concept.. .robot voor "echte stalen" film:)
Zeer eenvoudige robot voor beginners

Zeer eenvoudige robot voor beginners

Dit instructable toont u hoe te maken van de zeer eenvoudige robot. Het detecteert obstakels en het vermijden van het. Dit is groot project voor iemand die nieuw is voor de arduino en wil graag eerste robot.Waarom robot?Want het is geweldige manier o
4WD alle terrein Arduino Robot voor iedereen

4WD alle terrein Arduino Robot voor iedereen

Ik heb altijd graag robots die zich in ruw terrein verplaatsen kunnen. Deze keer heb ik besloten dat ik zal gebruik maken van kant en klare chassis enigszins wijzigen en het toevoegen van een paar extra onderdelen. Met behulp van een klaar chassis ko
WireBeings Bèta: een 3D Printed en uitbreidbaar Robot voor Arduino met Android controle

WireBeings Bèta: een 3D Printed en uitbreidbaar Robot voor Arduino met Android controle

http://wirebeings.com/Bekijk de video hier:Dit is een mooi project waaraan u blijven kunt werken op en wijzigen naarmate je meer Arduino projecten leert. Dit Instructable doorloopt de volledige bouwen voor de bluetooth toegelaten robot in de eerste h
How to Build obstakel vermijden Robot voor Beginners met Arduino Tutorial

How to Build obstakel vermijden Robot voor Beginners met Arduino Tutorial

Deze Tutorial is voor iedereen aan de slag met arduino. Wij zullen bouwen obstakel te vermijden robot die gebruikmaakt van een ultrasone sensor voor HC SR-04 om objecten en 2 continu (360 graden) servo's aangesloten op een externe batterijvoeding te