久久久久久久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;} 
}
 
效果:
關閉窗口
主站蜘蛛池模板: 久久久性| 1级毛片| 日日操夜夜操视频 | 91精品久久久久久久久久入口 | 伊人伊成久久人综合网站 | 好婷婷网 | 91porn成人精品| 国产精品日日做人人爱 | 国产精品一区二区三区久久 | 欧美大片在线观看 | 91影片| 欧美日韩亚洲一区 | 日韩一区在线观看视频 | 亚洲永久精品国产 | 天天插天天干 | 99热欧美 | 国产一区二区三区在线免费 | 午夜成人免费视频 | 久久久精品天堂 | 视频一区二区在线观看 | 日日夜夜免费精品 | www.日日操 | 日韩在线中文字幕 | 91av视频| 性色的免费视频 | 久久9热 | 热99| 日日操视频 | 最新中文字幕第一页视频 | 日韩欧美精品在线 | 国产精品久久久久久久久久久久久 | 日韩高清一区 | 国产一区久久精品 | 成人亚洲精品久久久久软件 | 国产激情一区二区三区 | 亚洲自拍偷拍免费视频 | 亚洲精品久久久9婷婷中文字幕 | 精品三级在线观看 | 欧美一二三 | 中文字幕精品视频 | 日本在线播放 |