《Arduino开发实战指南:机器人卷》一3.6 编程原理与示例程序

    xiaoxiao2023-08-05  140

    本节书摘来华章计算机《Arduino开发实战指南:机器人卷》一书中的第3章 ,第3.6节,黄文恺 伍冯洁 陈 虹 编著更多章节内容可以访问云栖社区“华章计算机”公众号查看。

    3.6 编程原理与示例程序

    1.搭建硬件

    Arduino Uno板 1块L298N模块 1块1∶48直流减速电机 2个杜邦线 若干

    2.示例程序根据图3.12所示直流电机驱动电路,编写程序以实现双路电机顺时针加速10秒,然后反转减速10秒,并循环交替上述过程。其中,Arduino Uno板与L298N模块的接线情况如

    Arduino Uno驱动L298N控制直流电机正、反转示例程序清单如下:

    #define IN1 3 #define IN2 4 #define IN3 6 #define IN4 7 #define PWMA 10 #define PWMB 11 void setup() {pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); } void loop() { int i; for(i=0;i<=255;i++) { digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); analogWrite(PWMA,i); // 写入电机1速度值 digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); analogWrite(PWMB,i); // 写入电机2速度值 delay(40); } analogWrite(PWMA,0); // 停转 analogWrite(PWMB,0); // 停转 delay(2000); // 停转2秒 for(i=0;i<=255;i++) { digitalWrite(IN1,LOW); // 改变电机转向 digitalWrite(IN2,HIGH); // 改变电机转向 analogWrite(PWMA,i); // 写入电机1速度值 digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); analogWrite(PWMB,i); // 写入电机2速度值 delay(40); } } 相关资源:Arduino机器人设计与制作_钟柏昌_2016.10出版 彩色高清
    最新回复(0)