0% found this document useful (0 votes)
3 views

LAB 4

The document contains code for controlling a motor using an Arduino, with functions to set the speed and direction of the left and right motors. It includes setup and loop functions for various motor actions such as moving forward, backward, turning left, and turning right. The code is structured in sections, with each section building upon the previous one to enhance motor control functionality.

Uploaded by

duc.bui2007
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

LAB 4

The document contains code for controlling a motor using an Arduino, with functions to set the speed and direction of the left and right motors. It includes setup and loop functions for various motor actions such as moving forward, backward, turning left, and turning right. The code is structured in sections, with each section building upon the previous one to enhance motor control functionality.

Uploaded by

duc.bui2007
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

LAB 4

*****3.1*****
void setup () {
pinMode (8 , OUTPUT ) ;
pinMode (11 , OUTPUT ) ;
pinMode (9 , OUTPUT ) ;
}
void left_speed ( int speed )
{
if( speed > 0)
{
digitalWrite (11 , LOW ) ;
digitalWrite (8 , HIGH ) ;
analogWrite (9 , speed) ;
}
else
{
speed = 0 - speed ;
digitalWrite (11 , HIGH ) ;
digitalWrite (8 , LOW ) ;
analogWrite (9 , speed) ;
}
}

void loop () {
left_speed(100);
}

***** 3.2*****
void setup () {
pinMode (8 , OUTPUT ) ;
pinMode (11 , OUTPUT ) ;
pinMode (9 , OUTPUT ) ;
}
void left_speed ( int speed )
{
if( speed > 0)
{
digitalWrite (11 , LOW ) ;
digitalWrite (8 , HIGH ) ;
analogWrite (9 , speed) ;
}
else
{
speed = 0 - speed ;
digitalWrite (11 , HIGH ) ;
digitalWrite (8 , LOW ) ;
analogWrite (9 , speed) ;
}
}

void loop () {
left_speed(100);
delay(2000);
left_speed(-100);
delay(2000);
left_speed(0);
delay(2000);
}

****3.3****
void setup () {
pinMode (12 , OUTPUT ) ;
pinMode (13 , OUTPUT ) ;
pinMode (10 , OUTPUT ) ;
}
void right_speed ( int speed )
{
if( speed > 0)
{
digitalWrite (12 , LOW ) ;
digitalWrite (13 , HIGH ) ;
analogWrite (10 , speed) ;
}
else
{
speed = 0 - speed ;
digitalWrite (12 , HIGH ) ;
digitalWrite (13 , LOW ) ;
analogWrite (10 , speed) ;
}
}

void loop () {
right_speed(100);
}

*****3.4, 3.5*****
void setup () {
for(int i=8;i<14;i++)
{pinMode (i, 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) ;
}
}
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
right_speed(speed);
left_speed(speed);
}

void backward (int speed ) {


// TODO
if(speed>0){speed=-speed;}
right_speed(speed);
left_speed(speed);
}

void turnleft (int speed ) {


// TODO
right_speed(speed);
left_speed(0);
}

void turnright (int speed ) {


// TODO
right_speed(0);
left_speed(speed);
}

void loop ()
{
forward(100);
delay(2000);
backward(100);
delay(2000);
turnleft(100);
delay(2000);
turnright(100);
delay(2000);
}

You might also like