你可以写个电机测试程序,理解一下控制逻辑,
我的电机测试程序,arduino通过usb连接到电脑,在电脑上打开窗口调试工具,发送a,s,d,w,u进行前后左右停止调试,
推荐给你个arduino 专用的串口调试工具openjumper
http://www.openjumper.cn/openjumper-serial-assistant/- //L298N_A
- int M1_1 = 2;
- int M1_2 = 3;
- int M2_1 = 4;
- int M2_2 = 7;
- //L298N_B
- int M3_1 = 8;
- int M3_2 = 9;
- int M4_1 = 10;
- int M4_2 = 11;
- int val;
- void setup()
- {
- pinMode(11,OUTPUT);
- pinMode(10,OUTPUT);
- pinMode(9,OUTPUT);
- pinMode(8,OUTPUT);
- pinMode(7,OUTPUT);
- pinMode(4,OUTPUT);
- pinMode(3,OUTPUT);
- pinMode(2,OUTPUT);
- Serial.begin(9600);
- }
- void loop()
- {
- val=Serial.read(); //向前直行
- if(val=='w')
- {
- digitalWrite(11,LOW);
- digitalWrite(10,HIGH);
- digitalWrite(9,LOW);
- digitalWrite(8,HIGH);
- digitalWrite(7,LOW);
- digitalWrite(6,HIGH);
- digitalWrite(5,HIGH);
- digitalWrite(4,LOW);
- }
-
- if(val=='s') //向后直行
- {
- digitalWrite(11,HIGH);
- digitalWrite(10,LOW);
- digitalWrite(9,HIGH);
- digitalWrite(8,LOW);
- digitalWrite(7,HIGH);
- digitalWrite(6,LOW);
- digitalWrite(5,LOW);
- digitalWrite(4,HIGH);
- }
- if(val=='d') //右转
- {
- digitalWrite(4,HIGH);
- digitalWrite(5,LOW);
- digitalWrite(6,LOW);
- digitalWrite(7,HIGH);
- digitalWrite(8,HIGH);
- digitalWrite(9,LOW);
- digitalWrite(10,HIGH);
- digitalWrite(11,LOW);
- }
- if(val=='a') //左转
- {
- digitalWrite(4,LOW);
- digitalWrite(5,HIGH);
- digitalWrite(6,HIGH);
- digitalWrite(7,LOW);
- digitalWrite(8,LOW);
- digitalWrite(9,HIGH);
- digitalWrite(10,LOW);
- digitalWrite(11,HIGH);
- }
- if(val=='u') //四轮停止
- {
- digitalWrite(11,LOW);
- digitalWrite(10,LOW);
- digitalWrite(9,LOW);
- digitalWrite(8,LOW);
- digitalWrite(7,LOW);
- digitalWrite(6,LOW );
- digitalWrite(5,LOW);
- digitalWrite(4,LOW);
- }
- }
复制代码 |