/*********************************************************************
 * 
 * [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);
 
}

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐