Sie sind auf Seite 1von 4

/*

* L298N_motorDriver.c

* Created: 19.08.2017 11:00:47

* Author: admin

*/

/*include section*/

#include "L298N_motorDriver.h"

/
**********************************************************************************
*****************************/

/*Private functions*/

/
**********************************************************************************
*****************************/

/*Public functions*/

/*This function will be used to initialize motor driver*/

void L298N_initialization(void){

/*Configuration for PORTB 1 (Arduino pin 9) as Output*/

DDRB |= (1u<< PORTB1);

/*Configure PORTB 1 (Arduino pin 9) to be LOW*/

PORTB &= (0u<< PORTB1);

/*Configuration for PORTB 2 (Arduino pin 10) as Output*/

DDRB |= (1u<< PORTB2);

/*Configure PORTB 2 (Arduino pin 10) to be LOW*/

PORTB &= (0u<< PORTB2);

/*Configuration for PORTB 3 (Arduino pin 11) as Output*/


DDRB |= (1u<< PORTB3);

/*Configure PORTB 3 (Arduino pin 11) to be LOW*/

PORTB &= (0u<< PORTB3);

/*Configuration for PORTB 4 (Arduino pin 12) as Output*/

DDRB |= (1u<< PORTB4);

/*Configure PORTB 4 (Arduino pin 12) to be LOW*/

PORTB &= (0u<< PORTB4);

/*This function will be used to move robot forward*/

/*Logical sequence 1010*/

void L298N_move_forward(void){

/*Configure PORTB 1 (Arduino pin 9) to be HIGH*/

PORTB |= (1u<< PORTB1);

/*Configure PORTB 2 (Arduino pin 10) to be LOW*/

PORTB &= (0u<< PORTB2);

/*Configure PORTB 3 (Arduino pin 11) to be HIGH*/

PORTB |= (1u<< PORTB3);

/*Configure PORTB 4 (Arduino pin 12) to be LOW*/

PORTB &= (0u<< PORTB4);

/*This function will be used to move robot to the left*/

/*Logical sequence 1001*/

void L298N_move_left(void){

/*Configure PORTB 1 (Arduino pin 9) to be HIGH*/

PORTB |= (1u<< PORTB1);

/*Configure PORTB 2 (Arduino pin 10) to be LOW*/

PORTB &= (0u<< PORTB2);


/*Configure PORTB 3 (Arduino pin 11) to be LOW*/

PORTB &= (0u<< PORTB3);

/*Configure PORTB 4 (Arduino pin 12) to be HIGH*/

PORTB |= (1u<< PORTB4);

/*This function will be used to move robot to the right*/

/*Logical sequence 0110*/

void L298N_move_right(void){

/*Configure PORTB 1 (Arduino pin 9) to be LOW*/

PORTB &= (0u<< PORTB1);

/*Configure PORTB 2 (Arduino pin 10) to be HIGH*/

PORTB |= (1u<< PORTB2);

/*Configure PORTB 3 (Arduino pin 11) to be HIGH*/

PORTB |= (1u<< PORTB3);

/*Configure PORTB 4 (Arduino pin 12) to be LOW*/

PORTB &= (0u<< PORTB4);

/*This function will be used to move robot to the backward*/

/*Logical sequence 0101*/

void L298N_move_backward(void){

/*Configure PORTB 1 (Arduino pin 9) to be LOW*/

PORTB &= (0u<< PORTB1);

/*Configure PORTB 2 (Arduino pin 10) to be HIGH*/

PORTB |= (1u<< PORTB2);

/*Configure PORTB 3 (Arduino pin 11) to be LOW*/

PORTB &= (0u<< PORTB3);

/*Configure PORTB 4 (Arduino pin 12) to be HIGH*/


PORTB |= (1u<< PORTB4);

/*This function will be used to initialize motor driver*/

/*Logical sequence 0000*/

void L298N_stop(void){

/*Configure PORTB 1 (Arduino pin 9) to be LOW*/

PORTB &= (0u<< PORTB1);

/*Configure PORTB 2 (Arduino pin 10) to be LOW*/

PORTB &= (0u<< PORTB2);

/*Configure PORTB 3 (Arduino pin 11) to be LOW*/

PORTB &= (0u<< PORTB3);

/*Configure PORTB 4 (Arduino pin 12) to be LOW*/

PORTB &= (0u<< PORTB4);

Das könnte Ihnen auch gefallen