树莓派 3 + L298N模块控制直流电机
2020-02-049798
AI 快速预览详细
本文介绍了如何使用树莓派 3 和 L298N 模块来控制直流电机。首先展示了树莓派 3 的引脚图,并提供了详细的硬件连接图。接着给出了 Python 代码示例,通过设置 GPIO 引脚和 PWM 信号来控制电机的转速和方向。通过这些步骤,您可以轻松实现对直流电机的精准控制。
1、树莓派 3Pin引脚![]() 二、硬件连接 连接原理图: ![]() 三、程序 [mw_shl_code=python,false]# -*- coding: utf-8 -*- #通过声明可以在程序中书写中文 import RPi.GPIO as GPIO #引入RPi.GPIO库函数命名为GPIO import time #引入计时time函数 # BOARD编号方式,基于插座引脚编号 GPIO.setmode(GPIO.BOARD) #将GPIO编程方式设置为BOARD模式 #接口定义 INT1 = 11 #将L298 INT1口连接到树莓派Pin11 INT2 = 12 #将L298 INT2口连接到树莓派Pin12 INT3 = 13 #将L298 INT3口连接到树莓派Pin13 INT4 = 15 #将L298 INT4口连接到树莓派Pin15 #输出模式 GPIO.setup(INT1,GPIO.OUT) GPIO.setup(INT2,GPIO.OUT) GPIO.setup(INT3,GPIO.OUT) GPIO.setup(INT4,GPIO.OUT) GPIO.output(INT1,GPIO.HIGH) GPIO.output(INT2,GPIO.LOW) GPIO.output(INT3,GPIO.HIGH) GPIO.output(INT4,GPIO.LOW)[/mw_shl_code] 四、控制电机转速 单片机或树莓派一般使用L298n 模块来驱动电机 。L298N的实物图如下 ![]() ![]() import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) INT1 = 20 INT2 = 21 INT3 = 23 INT4 = 24 ENA = 16 ENB = 18 GPIO.setup(INT1,GPIO.OUT) GPIO.setup(INT2,GPIO.OUT) GPIO.setup(INT3,GPIO.OUT) GPIO.setup(INT4,GPIO.OUT) GPIO.setup(ENA,GPIO.OUT) GPIO.setup(ENB,GPIO.OUT) pwma = GPIO.PWM(16,80) pwmb = GPIO.PWM(18,80) pwma.start(90)#dc为占空比 0-100 pwmb.start(90) GPIO.output(INT1,GPIO.HIGH) GPIO.output(INT2,GPIO.LOW) GPIO.output(INT3,GPIO.LOW) GPIO.output(INT4,GPIO.HIGH) while 1: pwma.ChangeDutyCycle(90)# 单位 Hz 更改占空比0-100 pwmb.ChangeDutyCycle(90) time.sleep(3) pwma.ChangeDutyCycle(50) pwmb.ChangeDutyCycle(50) time.sleep(3) [/mw_shl_code] |







