实验三十四:风扇转速调节实验
来自丢石头百科
Yousimaier17(讨论 | 贡献)2024年12月4日 (三) 16:03的版本
注意事项
- 直流电机是最常见的电机类型。直流电动机通常只有两个引线,一个正极和一个负极。如果将这两根引线直接连接到电池,电机将旋转。如果切换引线,电机将以相反的方向旋转。
- 不要直接从Arduino板引脚驱动电机。这可能会损坏电路板。使用驱动电路或IC
Arduino
实验现象
- 通过电位器控制直流电机的转速。
电路连接
小型直流电机 ULN2003驱动板 Arduino UNO R3 旋转电位器 黑线 A IN1 D5 / B IN2 / / C IN3 / / D IN4 / / GND GND GND / VCC 5V VCC 红线 VIN VIN A0 OUT 拨码开关打向ON时,VIN与VCC导通
主要程序
int Led=13;//定义 LED 接口 int buttonpin=3; //定义避障传感器接口 int val;//定义数字变量 val void setup() { pinMode(Led,OUTPUT);//定义 LED 为输出接口 pinMode(buttonpin,INPUT);//定义避障传感器为输出接口 } void loop() { val=digitalRead(buttonpin);//将数字接口3的值读取赋给val if(val==LOW)//当火焰传感器检测有信号时,LED 闪烁 { digitalWrite(Led,HIGH); } else { digitalWrite(Led,LOW); } }
树莓派
电路连接
直流小电机 ULN2003 驱动模块 旋转电位器 MCP3208 ADC Raspberrypi BCM编号 物理引脚序号 / / VCC VCC 3.3V 3.3V / VCC / / 5V 5V / GND GND GND GND GND 红线 VIN / / / / / IN1 / / GPIO17 11 黑线 A / / / / / / OUT CH0 / / / / / CLK GPIO11(SCLK) 23 / DO GPIO9(MISO) 21 / / / DI GPIO10(MOSI) 19 / / / CS GPIO8(CE0) 24
程序运行
Python
- 安装gpiozero库
- 可以使下面命令来安装该库
sudo apt update sudo apt install python3-gpiozero
- 其它树莓派上的系统可以使下面命令来安装该库:
sudo pip3 install gpiozero
- 运行以下语句可以查看树莓派GPIO口定义
pinout
- 将ULN2003驱动模块上的拨码开关拨向ON一端
- 下载树莓派参考例程,将文件解压后拷贝放在用户名目录下,运行
cd raspberrypi/34/python_gpiozero python motor.py
- 此时可看见树莓派在正确运行程序,若想退出,按ctrl+C即可
- 指令说明:gpiozero.PWMOutputDevice(pin, active_high, initial_value,
- 主要参数:
- pin: GPIO口编号,
- active_high: 内部上下拉电阻设置,
- 设置为True(默认)时,on()将引脚设置为High,off()将引脚设置为LOW。
- 设置为Flase时,on()将引脚设置为LOW,off()将引脚设置为High。
- initial_value: 如果为 0(默认值),则设备的占空比最初为 0。可以指定 0 和 1 之间的其他值作为初始占空比。请注意,不能指定 None(与父类不同),因为无法告诉 PWM 不要改变引脚的状态。
- frequency:用于驱动设备的脉冲频率(单位 Hz)。默认为 100Hz。
- 主要参数:
- 更多指令请查看gpiozero文档