L298N电机驱动模块测试代码
·
/*********************************************************************
*
* [Title]
* [Diagram]
L298N电机驱动模块上的IN1接扩展板的5;IN2接扩展板的6;
IN3接扩展板的9;IN4接扩展板的10;
ENA接扩展板的3;ENB接扩展板的11;
OUT1接左边电机的正极;OUT2接左边电机的负极;
OUT4接右边电机的正极;OUT3接右边电机的负极;
*/
int L298pin1 = 5; // 定义uno的pin 5 向 L298pin1 输出
int L298pin2 = 6; // 定义uno的pin 6 向 L298pin2 输出
int L298pin3 = 9; // 定义uno的pin 9 向 L298pin3 输出
int L298pin4 = 10; // 定义uno的pin 10 向 L298pin4 输出
int ENA = 3;//控制PWM
int ENB = 11;
void setup() {
Serial.begin (9600);
//初始化各IO,模式为OUTPUT 输出模式
pinMode(L298pin1,OUTPUT);
pinMode(L298pin2,OUTPUT);
pinMode(L298pin3,OUTPUT);
pinMode(L298pin4,OUTPUT);
pinMode(ENA,OUTPUT);
pinMode(ENB,OUTPUT);
}
void loop() {
go();
delay(2000);
back();
delay(2000);
stops();
delay(1000);
}
void go() // 小车前进
{
digitalWrite(L298pin1,HIGH);
digitalWrite(L298pin2,LOW);
digitalWrite(L298pin3,HIGH);
digitalWrite(L298pin4,LOW);
analogWrite(ENA, 100);
analogWrite(ENB, 100);
}
void back() //小车后退
{
digitalWrite(L298pin1,LOW);
digitalWrite(L298pin2,HIGH);
digitalWrite(L298pin3,LOW);
digitalWrite(L298pin4,HIGH);
analogWrite(ENA, 100);
analogWrite(ENB, 100);
}
void left() // 小车原地左转
{
digitalWrite(L298pin1,LOW);
digitalWrite(L298pin2,HIGH);
digitalWrite(L298pin3,HIGH);
digitalWrite(L298pin4,LOW);
analogWrite(ENA, 100);
analogWrite(ENB, 100);
}
void right() // 小车原地右转
{
digitalWrite(L298pin1,HIGH);
digitalWrite(L298pin2,LOW);
digitalWrite(L298pin3,LOW);
digitalWrite(L298pin4,HIGH);
analogWrite(ENA, 100);
analogWrite(ENB, 100);
}
void stops() // 小车停止 暂停
{
digitalWrite(L298pin1,LOW);
digitalWrite(L298pin2,LOW);
digitalWrite(L298pin3,LOW);
digitalWrite(L298pin4,LOW);
analogWrite(ENA, 0);
analogWrite(ENB, 0);
}
更多推荐

所有评论(0)