Upload
newman
View
25
Download
0
Embed Size (px)
DESCRIPTION
motor procedures. lesson # aar-04 . lesson #4 version 1 (21/02/13) by Jack de Prenter. select software. Select arduino software. lesson #4 version 1 (21/02/13) by Jack de Prenter. select board. Select nano ATmega328. If you select no board or the wrong board the aar-04 do'nt work!!!. - PowerPoint PPT Presentation
Citation preview
motorprocedures
lesson # aar-04
lesson #4 version 1 (21/02/13) by Jack de Prenter
select software
lesson #4 version 1 (21/02/13) by Jack de Prenter
Select arduinosoftware
select board
If you select no board or the wrong board the aar-04 do'nt work!!!
Selectnano ATmega328
lesson #4 version 1 (21/02/13) by Jack de Prenter
select com port
You see only the Serial Portwhen pc is connect to the aar-04
lesson #4 version 1 (21/02/13) by Jack de Prenter
load program
Load the example from the CD
lesson #4 version 1 (21/02/13) by Jack de Prenter
Examples/_04_move/*
Name project: Example 4, RP6 Motor control
Author: Egbert Koerhuis
Company: Arexx Engineering
Discription:
This Example Program shows how to control the Motors.
Make sure that the AAR can __NOT__ move when uploading the program!
After uploading the program, the AAR will wait 2 seconds before the program start.
>>> DO NOT FORGET TO REMOVE THE USB CABLE, after uploading the program.
ATTENTION: THE ROBOT MOVES AROUND IN THIS EXAMPLE! PLEASE PROVIDE ABOUT
1m x 1m OR MORE FREE SPACE FOR THE ROBOT!
You are free to change the code!
*/
void setup()
{
//Setup: Initalization
pinMode(10, OUTPUT); //pin 10 left foreward
pinMode(9, OUTPUT); //pin 9 left backward
pinMode(5, OUTPUT); //pin 5 right foreward
pinMode(6, OUTPUT); //pin 6 right backward
lesson #4 version 1 (21/02/13) by Jack de Prenter
new discription program
/* This Example Program shows how to control the Motors with
c++ functions. Make sure that the AAR can NOT move when uploading the program! After uploading the program, the AAR will wait 2 seconds before the program start.
>>> DO NOT FORGET TO REMOVE THE USB CABLE <<<
after uploading the program.
ATTENTIONTHE ROBOT MOVES AROUND IN THIS EXAMPLE!
PROVIDE ABOUT 1m x 1m OR MORE FREE SPACE FOR THE ROBOT!
You are free to change the code! */
lesson #4 version 1 (21/02/13) by Jack de Prenter
program structurevoid setup() { initialize input initialize output}
void loop(){ program instructions }
lesson #4 version 1 (21/02/13) by Jack de Prenter
Drive 500ms foreward// set pin 9 to ground // set speed left motor 200 foreward
digitalWrite(9,LOW); analogWrite(10,200);
// set pin 6 to ground// set speed right motor 200 foreward
digitalWrite(5,LOW); analogWrite(6,200);
// drive for 5000ms
delay(5000); lesson #4 version 1 (21/02/13) by Jack de Prenter
FUNCTIONDrive foreward
int forward (int ms){ digitalWrite( 9,LOW); // pin 9 to ground analogWrite (10,200); // speed left motor digitalWrite( 5,LOW); // pin 6 to ground analogWrite ( 6,200); // speed right motor
delay(ms); // drive for ms}
lesson #4 version 1 (21/02/13) by Jack de Prenter
newprogram structure
void setup() { initialize input - output}int function (){ instructions}void loop(){ program instructions } lesson #4 version 1 (21/02/13) by Jack de Prenter
newloop
void loop()
{ int forward (500); }
lesson #4 version 1 (21/02/13) by Jack de Prenter
newloop
void loop(){ int forward (1000); int righTurn ( 700); int forward (1000); int rightTurn ( 700); int forward (2000); int rightRotate(5000); int wait (1000); }
lesson #4 version 1 (21/02/13) by Jack de Prenter
functionmake a right turn
int rightTurn(int ms){// left motor 200 forward
digitalWrite(9,LOW); analogWrite(10,200); // stop right motor
digitalWrite(6,LOW); digitalWrite(5,LOW);
// turn for ms
delay(ms);}
lesson #4 version 1 (21/02/13) by Jack de Prenter
experimental
ms = 255 turn 45 degreesms = 500 turn 90 degreesms = 700 turn 180 degrees
functionMake a rightrotate
int rightRotate(int ms){// left motor 200 forward
digitalWrite( 9,LOW); analogWrite (10,200); // stop right motor
digitalWrite(6,LOW); analogWrite (5,LOW);
// turn for ms
delay(ms);}
lesson #4 version 1 (21/02/13) by Jack de Prenter
experimental
ms = 240 turn 45 degreesms = 480 turn 90 degreesms = 680 turn 180 degrees
practice #1
Make a function:• backward()• leftTurn()• leftRotate()• wait()
lesson #4 version 1 (21/02/13) by Jack de Prenter
CHIP TUNNING 1/2Drive foreward
int forward (int ms){ digitalWrite( 9,LOW); // pin 9 to ground analogWrite (10,200); // speed left motor digitalWrite( 5,LOW); // pin 6 to ground analogWrite ( 6,200); // speed right motor
delay(ms); // drive for ms}
lesson #4 version 1 (21/02/13) by Jack de Prenter
chip tunning 2/2Drive foreward
int forward (int ms){ digitalWrite( 9,LOW); // pin 9 to ground analogWrite (10,179); // speed left motor digitalWrite( 5,LOW); // pin 6 to ground analogWrite ( 6,200); // speed right motor
delay(ms); // drive for ms}
lesson #4 version 1 (21/02/13) by Jack de Prenter
Practice #2
chiptuning function:• forward()• backward()
lesson #4 version 1 (21/02/13) by Jack de Prenter
Turn - turn on place
turn on placeturn
lesson #4 version 1 (21/02/13) by Jack de Prenter
practice #3
chiptunning function:• left / right 45 degrees • left / right 90 degrees
chiptunning function:• rotate left/right 45• rotate left/right 90• rotate left/right 180 lesson #4 version 1 (21/02/13) by Jack de Prenter
motor cheat tabel
left motor
right motor
forwarddigitalWrite( 9,LOW)analogWrite (10,200)
forwarddigitalWrite(5,LOW)analogWrite (6,200)
backwarddigitalWrite(10,LOW)analogWrite ( 9,200)
backwarddigitalWrite(6,LOW)analogWrite (5,200)
lesson #4 version 1 (21/02/13) by Jack de Prenter
practice #4
Let your aar-04 move from A to B
More information?JackDePrenter.Wordpress.Com
lesson #4 version 1 (21/02/13) by Jack de Prenter