0% found this document useful (0 votes)
26 views19 pages

Arduino Motor Control Code Guide

Uploaded by

vy.phan2252938
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views19 pages

Arduino Motor Control Code Guide

Uploaded by

vy.phan2252938
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Full name: Phan Chí Vỹ

Student’s ID: 2252938


3. Motor Controller

3.1 Left Motor Controller

void setup(){

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

pinMode(11, OUTPUT);

digitalWrite(8, LOW);

digitalWrite(11, HIGH);

analogWrite(9, 100);

void left_speed ( int speed )

// TODO : Implement your code here

if( speed > 0)

digitalWrite(8, HIGH);

digitalWrite(11, LOW);

analogWrite(9, speed);

else

speed = 0 - speed;

digitalWrite(8, LOW);

digitalWrite(11, HIGH);

analogWrite(9, speed);

}
Full name: Phan Chí Vỹ
Student’s ID: 2252938

void loop(){

for(int i = 0; i < 200; i+=20){

analogWrite(9, i);

delay(1000);

3.2 Left Motor Testing

void setup(){

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

pinMode(11, OUTPUT);

void left_speed ( int speed )

// TODO : Implement your code here

if( speed > 0)

digitalWrite(8, HIGH);

digitalWrite(11, LOW);

analogWrite(9, speed);

else

speed = 0 - speed;

digitalWrite(8, LOW);

digitalWrite(11, HIGH);
Full name: Phan Chí Vỹ
Student’s ID: 2252938
analogWrite(9, speed);

void loop()

left_speed(100);

delay(2000);

left_speed(0);

delay(2000);

left_speed(-100);

delay(2000);

left_speed(0);

delay(2000);

3.3 Right Motor Testing

void setup(){

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

pinMode(10, OUTPUT);

pinMode(11, OUTPUT);

pinMode(12, OUTPUT);

pinMode(13, OUTPUT);

void left_speed ( int speed )

{
Full name: Phan Chí Vỹ
Student’s ID: 2252938
// TODO : Implement your code here

if( speed > 0)

digitalWrite(8, HIGH);

digitalWrite(11, LOW);

analogWrite(9, speed);

else

speed = 0 - speed;

digitalWrite(8, LOW);

digitalWrite(11, HIGH);

analogWrite(9, speed);

void right_speed ( int speed )

// TODO : Implement your code here

if( speed > 0)

digitalWrite(13, HIGH);

digitalWrite(12, LOW);

analogWrite(10, speed);

else

speed = 0 - speed;

digitalWrite(13, LOW);

digitalWrite(12, HIGH);
Full name: Phan Chí Vỹ
Student’s ID: 2252938
analogWrite(10, speed);

void loop()

right_speed(100);

delay(2000);

right_speed(0);

delay(2000);

right_speed(-100);

delay(2000);

right_speed(0);

delay(2000);

right_speed(300);

delay(2000);

If analogWrite(10, 300) was used then the rpm would be about 45 which is 300 minus 255 ( the signal is
the maximum voltage)

3.4 Full Motor Control Functions

void setup(){

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

pinMode(10, OUTPUT);

pinMode(11, OUTPUT);

pinMode(12, OUTPUT);

pinMode(13, OUTPUT);
Full name: Phan Chí Vỹ
Student’s ID: 2252938
}

void left_speed ( int speed )

// TODO : Implement your code here

if( speed > 0)

digitalWrite(8, HIGH);

digitalWrite(11, LOW);

analogWrite(9, speed);

else

speed = 0 - speed;

digitalWrite(8, LOW);

digitalWrite(11, HIGH);

analogWrite(9, speed);

void right_speed ( int speed )

// TODO : Implement your code here

if( speed > 0)

digitalWrite(13, HIGH);

digitalWrite(12, LOW);

analogWrite(10, speed);

else
Full name: Phan Chí Vỹ
Student’s ID: 2252938
{

speed = 0 - speed;

digitalWrite(13, LOW);

digitalWrite(12, HIGH);

analogWrite(10, speed);

void forward (int speed ) {

// TODO

left_speed(speed);

right_speed(speed);

void backward (int speed ) {

// TODO

left_speed(0 - speed);

right_speed(0 - speed);

void turnleft (int speed ) {

// TODO

right_speed(speed);

left_speed(0);

void turnright (int speed ) {

// TODO

left_speed(speed);
Full name: Phan Chí Vỹ
Student’s ID: 2252938
right_speed(0);

3.5 Full Motor Testing

void setup(){

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

pinMode(10, OUTPUT);

pinMode(11, OUTPUT);

pinMode(12, OUTPUT);

pinMode(13, OUTPUT);

void left_speed ( int speed )

// TODO : Implement your code here

if( speed > 0)

digitalWrite(8, HIGH);

digitalWrite(11, LOW);

analogWrite(9, speed);

else

speed = 0 - speed;

digitalWrite(8, LOW);

digitalWrite(11, HIGH);

analogWrite(9, speed);

}
Full name: Phan Chí Vỹ
Student’s ID: 2252938
}

void right_speed ( int speed )

// TODO : Implement your code here

if( speed > 0)

digitalWrite(13, HIGH);

digitalWrite(12, LOW);

analogWrite(10, speed);

else

speed = 0 - speed;

digitalWrite(13, LOW);

digitalWrite(12, HIGH);

analogWrite(10, speed);

void forward (int speed ) {

// TODO

left_speed(speed);

right_speed(speed);

void backward (int speed ) {

// TODO

left_speed(0 - speed);
Full name: Phan Chí Vỹ
Student’s ID: 2252938
right_speed(0 - speed);

void turnleft (int speed ) {

// TODO

right_speed(speed);

left_speed(0);

void turnright (int speed ) {

// TODO

left_speed(speed);

right_speed(0);

void loop()

forward(100);

delay(2000);

turnright(100);

delay(2000);

backward(100);

delay(2000);

turnleft(50);

delay(2000);

forward(300);

delay(4000);

4.1 LED Controller 1

void setup(){
Full name: Phan Chí Vỹ
Student’s ID: 2252938
pinMode(13, OUTPUT);

[Link](115200);

[Link]("Hello TinkerCad");

void loop()

if([Link]())

char temp = [Link]();

if(temp == 'O')

digitalWrite(13, HIGH);

else

digitalWrite(13, LOW);

4.2 LED Controller 2

void setup(){

pinMode(13, OUTPUT);

[Link](115200);

[Link]("Hello TinkerCad");

void loop()

if([Link]())

{
Full name: Phan Chí Vỹ
Student’s ID: 2252938
char temp = [Link]();

if(temp == 'O')

digitalWrite(13, HIGH);

if(temp == ‘F’)

digitalWrite(13, LOW);

4.3 Robot Controller

void setup(){

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

pinMode(10, OUTPUT);

pinMode(11, OUTPUT);

pinMode(12, OUTPUT);

pinMode(13, OUTPUT);

[Link](115200);

[Link]("Hello TinkerCad");

void left_speed ( int speed )

// TODO : Implement your code here

if( speed > 0)

digitalWrite(8, HIGH);

digitalWrite(11, LOW);

analogWrite(9, speed);

else
Full name: Phan Chí Vỹ
Student’s ID: 2252938
{

speed = 0 - speed;

digitalWrite(8, LOW);

digitalWrite(11, HIGH);

analogWrite(9, speed);

void right_speed ( int speed )

// TODO : Implement your code here

if( speed > 0)

digitalWrite(13, HIGH);

digitalWrite(12, LOW);

analogWrite(10, speed);

else

speed = 0 - speed;

digitalWrite(13, LOW);

digitalWrite(12, HIGH);

analogWrite(10, speed);

void forward (int speed ) {

// TODO

left_speed(speed);
Full name: Phan Chí Vỹ
Student’s ID: 2252938
right_speed(speed);

void backward (int speed ) {

// TODO

left_speed(0 - speed);

right_speed(0 - speed);

void turnleft (int speed ) {

// TODO

right_speed(speed);

left_speed(0);

void turnright (int speed ) {

// TODO

left_speed(speed);

right_speed(0);

void loop()

if([Link]())

char temp = [Link]();

if(temp == 'W')

forward(100);

else if(temp == 'S')


Full name: Phan Chí Vỹ
Student’s ID: 2252938
backward(100);

else if(temp == 'A')

turnleft(100);

else if(temp == 'D')

turnright(100);

else

left_speed(0);

right_speed(0);

4.4 Robot Headlights

void setup(){

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

pinMode(10, OUTPUT);

pinMode(11, OUTPUT);

pinMode(12, OUTPUT);

pinMode(13, OUTPUT);

[Link](115200);

[Link]("Hello TinkerCad");

void left_speed ( int speed )

{
Full name: Phan Chí Vỹ
Student’s ID: 2252938
// TODO : Implement your code here

if( speed > 0)

digitalWrite(8, HIGH);

digitalWrite(11, LOW);

analogWrite(9, speed);

else

speed = 0 - speed;

digitalWrite(8, LOW);

digitalWrite(11, HIGH);

analogWrite(9, speed);

void right_speed ( int speed )

// TODO : Implement your code here

if( speed > 0)

digitalWrite(13, HIGH);

digitalWrite(12, LOW);

analogWrite(10, speed);

else

speed = 0 - speed;

digitalWrite(13, LOW);
Full name: Phan Chí Vỹ
Student’s ID: 2252938
digitalWrite(12, HIGH);

analogWrite(10, speed);

void forward (int speed ) {

// TODO

left_speed(speed);

right_speed(speed);

void backward (int speed ) {

// TODO

left_speed(0 - speed);

right_speed(0 - speed);

void turnleft (int speed ) {

// TODO

right_speed(speed);

left_speed(0);

void turnright (int speed ) {

// TODO

left_speed(speed);

right_speed(0);

}
Full name: Phan Chí Vỹ
Student’s ID: 2252938
void loop()

if([Link]())

char temp = [Link]();

digitalWrite(5, LOW);

digitalWrite(6, LOW);

if(temp == 'W')

forward(100);

else if(temp == 'S')

backward(100);

else if(temp == 'A')

turnleft(100);

digitalWrite(5, HIGH);

digitalWrite(6, LOW);

else if(temp == 'D')

turnright(100);

digitalWrite(6, HIGH);

digitalWrite(5, LOW);

else

left_speed(0);

right_speed(0);

}
Full name: Phan Chí Vỹ
Student’s ID: 2252938
}

You might also like