问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用树莓派Pico制作小风扇:从硬件到代码的完整实现

创作时间:
作者:
@小白创作中心

使用树莓派Pico制作小风扇:从硬件到代码的完整实现

引用
CSDN
1.
https://m.blog.csdn.net/shaosheng2008/article/details/144274267

在炎热的夏季,电风扇是不可或缺的降温工具。本项目将使用树莓派Pico控制130电机模块小扇叶,制作一个简易的小风扇。本文将详细介绍项目所需的元件、工作原理、电路连接及代码实现,让您轻松实现这个小型DIY风扇。

一、项目介绍

随着温度的升高,电风扇成为我们降温的必备工具。本项目的目标是使用树莓派Pico微控制器,配合130电机模块和小型扇叶,制作一个简单的小风扇。通过编程控制风扇的旋转方向、速度和停止时间,实现一个自动化的电风扇。

二、项目所需元件

本项目所需的主要硬件组件如下:

  • 树莓派Pico板× 1
  • 树莓派Pico板的扩展板× 1
  • 4P 转杜邦线母单10厘米× 1
  • 130电机模块× 1
  • USB线× 1
  • 三叶软桨× 1
  1. 树莓派Pico板

树莓派Pico是一个基于RP2040微控制器的开发板,适合用于嵌入式开发,特别是在低功耗和小型项目中。通过编程,可以轻松控制GPIO引脚输出高低电平,实现硬件控制。

  1. 130电机模块

该模块采用HR1124S电机控制芯片,专为直流电机控制设计。HR1124S是一个单通道H桥驱动器芯片,能高效控制电机的旋转方向和速度。此电机模块适用于低功率应用,如小型电动玩具和风扇。

130电机模块参数:

  • 工作电压:5V
  • 工作电流:200mA
  • 功率:2W
  • 工作温度:-10℃ 到 +50℃

该电机模块将驱动三叶软桨实现风扇转动,通过PWM信号控制其旋转方向和停止。

三、元件原理

  1. 130电机模块原理图

130电机模块通过控制两个输入端口(Motor_IN+和Motor_IN-)的电平,决定电机的转动方向和停止。设置一个端口为高电平(HIGH),另一个端口为低电平(LOW),电机会开始转动。反之,电机的转动方向会反向,或者通过将两个端口都设置为低电平来停止电机。

四、电路连接图

本项目的电路连接非常简单,通过树莓派Pico的GPIO引脚与130电机模块相连接,具体的接线方式如下:

  1. 将树莓派Pico的GPIO17引脚连接到电机模块的Motor_IN+(正极引脚)。
  2. 将树莓派Pico的GPIO16引脚连接到电机模块的Motor_IN-(负极引脚)。
  3. 电机模块的VCCGND分别连接到树莓派Pico的5VGND引脚。
  4. 将三叶软桨安装到电机轴上,确保安装稳固。

电路图
接线图

五、项目代码

以下是用于控制小风扇旋转的代码。此代码将控制风扇在顺时针和逆时针方向之间切换,并在旋转后停顿一段时间。

//**********************************************************************************
/*
 * 文件名 : 小风扇
 * 描述 : 风机顺时针旋转,停止,逆时针旋转,停止,循环。
 * 作者 : www.keyes-robot.com
*/
#define Motorla 17 // 定义电机的Motor_IN+引脚
#define Motorlb 16 // 定义电机的Motor_IN-引脚
void setup(){
 pinMode(Motorla, OUTPUT); // 设置Motorla为OUTPUT
 pinMode(Motorlb, OUTPUT); // 设置Motorlb为OUTPUT
}
void loop(){
 // 设置逆时针旋转5秒
 digitalWrite(Motorla, HIGH); // Motorla为高电平
 digitalWrite(Motorlb, LOW); // Motorlb为低电平
 delay(5000); // 旋转5秒
 // 设置停止旋转2秒
 digitalWrite(Motorla, LOW); // Motorla为低电平
 digitalWrite(Motorlb, LOW); // Motorlb为低电平
 delay(2000); // 停止2秒
 // 设置顺时针旋转5秒
 digitalWrite(Motorla, LOW); // Motorla为低电平
 digitalWrite(Motorlb, HIGH); // Motorlb为高电平
 delay(5000); // 旋转5秒
 // 设置停止旋转2秒
 digitalWrite(Motorla, LOW); // Motorla为低电平
 digitalWrite(Motorlb, LOW); // Motorlb为低电平
 delay(2000); // 停止2秒
}
//**********************************************************************************

六、项目现象

上传并运行代码后,通过USB 线为树莓派Pico供电,可以观察到以下现象:

  • 小风扇会先逆时针旋转 5 秒钟,随后停止 2 秒。
  • 接着,风扇会顺时针旋转 5 秒,再次停止 2 秒。
  • 这种循环过程会不断重复。

七、总结与应用

本项目通过使用树莓派Pico控制130电机模块小型扇叶,成功制作了一个简单的小风扇。通过编程控制电机的旋转方向,风扇可以在顺时针和逆时针之间切换,并在每次旋转后停止一段时间。该项目展示了如何结合嵌入式开发和硬件控制来实现一个自动化的小型电风扇。

项目扩展:

  1. 温控风扇:可以添加温度传感器(如LM35或DHT11),根据温度自动控制风扇的启动或停止。
  2. 风速调节:通过改变PWM信号的占空比,控制风扇的转速,实现风速调节功能。

通过这种简易的制作方式,您可以将树莓派Pico用于更多有趣和实用的项目中,探索更多嵌入式系统的可能性。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号