arduino nano 多引脚 间断性pwm输出

本人小白一个,利用暑假自学一些小东西,最近鼓捣上了arduino,顺便分享一下学习心得,如有不对之处,还请各位前辈多多指正,谢谢。

       我是突发奇想向利用arduino3个pwm 引脚输出非同时性pwm波,控制3个车轮转速。由于条件所限,先用led小灯代替。

       话不多说,先上硬货。

int led1 = 3;
int led2=5;// 指定硬件引脚
int led3=6;
int brightness = 0;    // 灯的亮度变量
 

// 初始化
void setup() {
  //定义3个输出引脚
  pinMode(led1, OUTPUT);
   pinMode(led2, OUTPUT);
    pinMode(led3, OUTPUT);
}
void loop() {
  // 设定LED脚亮度
if(brightness==0)
{
  for(brightness=0;brightness<256;brightness+=5)
  {
     analogWrite(led1, brightness);
     delay(30);
    analogWrite(led2, brightness);
     delay(30);
    analogWrite(led3, brightness);
  }
   delay(30);
}
else{
  for(brightness=255;brightness>0;brightness-=5)
  {
      analogWrite(led1, brightness);
     delay(30);
    analogWrite(led2, brightness);
     delay(30);
    analogWrite(led3, brightness);
  }
    delay(30);
}
}
Nano板子上有六个引脚支持pwm输出,分别是引脚3,5,6,9,10,11;本实验才采用3,5,6引脚输出。每一次输入0~255之间的值时间间隔为30ms效果比较明显。(digitalWrite(pin,val);delay(30);)

由于个人技术所限,只是采取了最基本的延时函数来实现三个小灯依次实现呼吸灯效果(应该是在间断很短的时间内,依次呈现呼吸灯效果)。在同一时刻,现象是亮度led1>led2>led3。本实验可以在多种条件下改编,例如智能小车转弯时装逼的不二神器。希望对您有所帮助。
 

猜你喜欢

转载自blog.csdn.net/qq_41821562/article/details/81320761