第五课--按钮PWM控制LED亮度实验/zh
Language | English |
---|
目的通过按键调节led亮度逐渐亮与逐渐灭。 设备Microduino-CoreSTM32是采用 STM32F103CBT6芯片的ARM开发板,采用独特的Upin7接口,大小与一枚一元硬币差不多大,完全兼容Microduino其他扩展模块。
原理图按键接法分别采用内部上拉和外部下拉,接数字口D0-D13。led控制口必须是使用PWM: 0,1,4,11,12,14(A0),15(A1),16(A2),17(A3),18(SDA),19(SCL),20(A6),21(A7)。 程序int led=4;
int butt0n_1=2;
int butt0n_2=3;
int n=0;
void setup ()
{
pinMode(butt0n_1, INPUT_PULLDOWN); //设置为内部下拉
pinMode(butt0n_2,INPUT_PULLUP);//设置为内部上拉
pinMode(led,PWM);//该端口需要选择有0,1,4,11,12,14(A0),15(A1),16(A2),17(A3),18(SDA),19(SCL),20(A6),21(A7)才能PWM控制
}
void loop()
{
int up =digitalRead(butt0n_1); //读取2号口的状态
int down = digitalRead(butt0n_2); //读取7号口的状态
if (up==HIGH)
{
n=n+5;
if (n>=255) {
n=255;
}
}
if (down==LOW)
{
n=n-5;
if (n<=0) {
n=0;
}
}
pwmWrite(led,n*160); //使用PWM控制11号口输出,变量n的取值范围是0- 65535
delay (300);
}
结果一个按键使led亮度逐级递减,另一个按键使led亮度逐级递增。 视频 |