久久久久久久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麻豆精品国产91久久久久久 | 成人网在线看 | 欧美一级在线 | 在线国产一区二区 | 在线国产视频 | 色婷婷久久综合 | 日韩欧美在线视频 | 精品成人免费视频 | 亚洲欧美成人在线 | 在线亚洲一区二区 | 精品国产视频 | 精品亚洲一区二区 | 视频1区2区 | www.788.com色淫免费 | 亚洲一区二区三区四区五区午夜 | 亚洲欧美在线一区 | 国产免费观看一区 | 亚洲精品 在线播放 | 狠狠爱综合网 | 自拍偷拍精品 | 欧美日韩视频 | 日韩精品一区二区三区视频播放 | 蜜臀av日日欢夜夜爽一区 | 成人免费在线小视频 | 青草青草久热精品视频在线观看 | 欧美日韩精选 | 亚洲国产成人在线视频 | 福利一区二区在线 |