Arduino自制手持小风扇项目

1.1 介绍:

实验功能说明:功能(1)按一下按键小风扇开启,再按一下关闭。
功能(2)按一下按键小风扇一档风速,再按一下二挡,依次三挡…关闭。
按键模块说明:按下S输出低电平
电机驱动一体模块说明:VG引脚供电,AB是信号控制引脚,PWM可以调速
正转控制:B低电平,A高电平 反转控制:B高电平,A低电平

1.2 相关资料:

链接:https://sourl.cn/7FXAif

1.3 实验组件:

1.4模块接线图:

在这里插入图片描述

1.5 实验代码:

程序1:

/*
  实验:自制手持小风扇
  功能:按一下按键小风扇开,再按一下关
  https://sourl.cn/7FXAif
*/

#define INB 9  //定义电机B端口
#define INA 8  //定义电机A端口
#define key 3  //定义按键D3端口
unsigned char val = 0;
unsigned char i = 0;
unsigned char key_val = 0;
void setup() {
  Serial.begin(9600);
  pinMode(INB, OUTPUT);
  pinMode(INA, OUTPUT);
  pinMode(key, INPUT);
}

void loop() {
  Serial.print(digitalRead(key));
  val = digitalRead(key);//获取按键状态
  if (!val)             //按键有抖动,销抖处理
  {
    delay(25);
    if (!val)
    {
      key_val++;         //按一下key_val加1 
      if(key_val>=2)
      key_val=0;        //再按一下清零
    }
  }

  switch(key_val)
  {
    case 0:      
    analogWrite(INB, 0);  //停止
    analogWrite(INA, 0);break;
    case 1:      
    analogWrite(INB, 0);  //转动
    analogWrite(INA, 255);break;
    }
}

程序2:

/*
  实验:自制手持小风扇
  功能:按一下按键小风扇一档风速,再按一下二挡,依次三挡....关闭。
  https://sourl.cn/7FXAif
*/

#define INB 9  //定义电机B端口
#define INA 8  //定义电机A端口
#define key 3  //定义按键D3端口
unsigned char val = 0;
unsigned char i = 0;
unsigned char key_val = 0;
void setup() {
  Serial.begin(9600);
  pinMode(INB, OUTPUT);
  pinMode(INA, OUTPUT);
  pinMode(key, INPUT);
}

void loop() {
  Serial.print(digitalRead(key));
  val = digitalRead(key);//获取按键状态
  if (!val)             //按键有抖动,销抖处理
  {
    delay(25);
    if (!val)
    {
      key_val++;         //按一下key_val加1
      if (key_val >= 4)
        key_val = 0;      //再按一下清零
    }
  }

  switch (key_val)
  {
    case 0:
      analogWrite(INB, 0);  //停止
      analogWrite(INA, 0); break;
    case 1:
      analogWrite(INB, 0);  //一档
      analogWrite(INA, 100); break;
    case 2:
      analogWrite(INB, 0);  //二挡
      analogWrite(INA, 180); break;
    case 3:
      analogWrite(INB, 0);  //三挡
      analogWrite(INA, 255); break;
  }
}

1.6实验结果:

件连接好线之后,将上述程序上传到 Arduino UNO 开发板之后
功能(程序1)按一下按键小风扇开启,再按一下关闭。
功能(程序2)按一下按键小风扇一档风速,再按一下二挡,依次三挡…关闭。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千年糊涂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值