“实验三十四:风扇转速调节实验”的版本间的差异
来自丢石头百科
Yousimaier17(讨论 | 贡献) (→相关下载) |
Yousimaier17(讨论 | 贡献) |
||
第1行: | 第1行: | ||
− | [[Basic Experiment Kits For Arduino | + | *[[Basic Experiment Kits For Arduino]] |
+ | *[[Basic Experiment Kits For Raspberry Pi]] | ||
== 注意事项 == | == 注意事项 == | ||
*直流电机是最常见的电机类型。直流电动机通常只有两个引线,一个正极和一个负极。如果将这两根引线直接连接到电池,电机将旋转。如果切换引线,电机将以相反的方向旋转。 | *直流电机是最常见的电机类型。直流电动机通常只有两个引线,一个正极和一个负极。如果将这两根引线直接连接到电池,电机将旋转。如果切换引线,电机将以相反的方向旋转。 | ||
第9行: | 第10行: | ||
=== 电路连接 === | === 电路连接 === | ||
− | * | + | * |
+ | 小型直流电机 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导通 | ||
=== 主要程序 === | === 主要程序 === | ||
<pre> | <pre> | ||
− | + | 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); | ||
+ | } | ||
+ | } | ||
</pre> | </pre> | ||
− | |||
== 树莓派 == | == 树莓派 == | ||
− | |||
− | |||
=== 电路连接 === | === 电路连接 === | ||
* | * | ||
+ | 直流小电机 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 ==== | ==== Python ==== | ||
+ | * 安装gpiozero库 | ||
+ | **可以使下面命令来安装该库 | ||
+ | <pre> | ||
+ | sudo apt update | ||
+ | sudo apt install python3-gpiozero | ||
+ | </pre> | ||
+ | :*其它树莓派上的系统可以使下面命令来安装该库: | ||
+ | <pre> | ||
+ | sudo pip3 install gpiozero | ||
+ | </pre> | ||
+ | :*运行以下语句可以查看树莓派GPIO口定义 | ||
+ | <pre> | ||
+ | pinout | ||
+ | </pre> | ||
+ | *将ULN2003驱动模块上的拨码开关拨向ON一端 | ||
+ | *下载树莓派参考例程,将文件解压后拷贝放在用户名目录下,运行 | ||
+ | <pre> | ||
+ | cd raspberrypi/33/python_gpiozero | ||
+ | python motor.py | ||
+ | </pre> | ||
+ | *此时可看见树莓派在正确运行程序,若想退出,按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。 | ||
+ | *更多指令请查看[https://gpiozero.readthedocs.io/en/latest/installing.html gpiozero文档] | ||
− | + | == 例程下载 == | |
+ | *[[:File:Basic Experiment Kits For Arduino.zip|Arduino例程]] | ||
+ | * [[:File:Basic Experiment Kits For Raspberry Pi.zip|树莓派5例程 python]] | ||
== 相关例程 == | == 相关例程 == | ||
{{Arduino and Raspberry Pi Case}} | {{Arduino and Raspberry Pi Case}} |
2024年12月4日 (三) 15:57的版本
注意事项
- 直流电机是最常见的电机类型。直流电动机通常只有两个引线,一个正极和一个负极。如果将这两根引线直接连接到电池,电机将旋转。如果切换引线,电机将以相反的方向旋转。
- 不要直接从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/33/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文档