久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> Arduino >> 瀏覽文章

Arduino-電位器調速并帶蜂鳴的跑馬燈

作者:快樂的堯   來源:快樂的堯   點擊數:  更新時間:2014年07月31日   【字體:

這個實驗比較麻煩,因為這個實驗包含了跑馬燈、蜂鳴器和電位器。電位器阻值越大,跑馬燈速度越慢,間隔時間根據電位器的阻值采樣為:(100+2×采樣值)毫秒,采樣值為0~1023。即100~2146毫秒之間,每次點亮LED時,蜂鳴器都會蜂鳴一次(20毫秒)

程序如下:
 
#define Pot A0   
#define Buzzer 12   //以電位器引腳創建
byte ledPin[] = {2,3,4,5,6,7,8,9,10};    //Port 2~10 LED輸出,低電平有效
int ledDelay;
int dir = 1;
int currentLED = 0;
int PotBuffer = 0;
unsigned long changeTime;
 
void setup() {
  pinMode(Buzzer,OUTPUT); //蜂鳴器為IO輸出
  digitalWrite(Buzzer,HIGH); //蜂鳴器初始為不鳴叫  
    for (int x=0; x<9; x++) 
    {
      pinMode(ledPin[x], OUTPUT);  // LED初始全滅
    }
    changeTime = millis();
}
void loop()  
{
  PotBuffer = analogRead(Pot);      //讀取AD值
    if((millis() - changeTime) > 20)   //判斷蜂鳴時間是否到了20ms
    {
      digitalWrite(Buzzer,HIGH);    //到了則關斷蜂鳴器
    }
    if((millis() - changeTime) > ledDelay)   //判斷是否到了LED持續點亮的時間
    {
      changeLED();   //到了則點亮下一個LED
      changeTime = millis();    //再設置現在點亮的起始時間
    }
}
 
void changeLED() {
  for (int x=0; x<9; x++) {
    digitalWrite(ledPin[x], HIGH);
  }
digitalWrite(ledPin[currentLED], LOW);
//BuzzerDi();
digitalWrite(Buzzer,LOW);
ledDelay = 20 + 2*PotBuffer;
currentLED+=dir;
if (currentLED == 8) {dir = -1;}
if (currentLED == 0) {dir = 1;} 
}
 
效果:
關閉窗口
主站蜘蛛池模板: 老女人丨91丨九色 | 9l视频自拍九色9l视频成人 | 久久88| 欧美日韩在线看 | 欧美成人激情视频 | 欧美日韩国产中文 | 亚洲精品999 | 日韩欧美在线观看视频 | 久久久综合网 | 国产a√ | 成人三级视频在线观看 | 日韩免费一区二区三区 | 日韩精品二区 | 国产一区二区三区久久 | 久久99精品久久久久久 | 日本一级大片 | 欧美精品第一页 | 欧美三级精品 | 亚洲久久在线 | 久久99精品久久久久久琪琪 | 黄色录像免费看 | a级片免费观看 | 欧美一区二区在线 | 日本不卡高字幕在线2019 | 国产色在线 | 四虎最新地址 | 99热99| 日本成人黄色 | 国产精品久久久久久久久借妻 | 国产黄色精品 | 欧美一二三 | 一二三区视频 | 国产视频一区二区在线播放 | 四虎影视在线播放 | 国产高清一区二区三区 | 美女一级片 | 日韩免费在线 | 日韩黄色一级视频 | 丁香婷婷色 | 欧美日韩一区在线 | av免费看网站 |