本文主要是介绍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加1if (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)按一下按键小风扇一档风速,再按一下二挡,依次三挡…关闭。
这篇关于Arduino自制手持小风扇项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!