4811| 3
|
树莓派 3 + L298N模块控制直流电机 |
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] |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed