欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6500|回復: 2
打印 上一主題 下一主題
收起左側

來幾個關于LED燈的小程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:118184 發表于 2016-5-6 17:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1,控制LED閃爍的小程序
int led = 13;
// 復位后初始化內容
void setup() {               
  // 初始化數字端口為輸出模式
  pinMode(led, OUTPUT);     
}
// 主循環
void loop() {
  digitalWrite(led, HIGH);   // led引腳置高電平
  delay(1000);               // 延時1秒
  digitalWrite(led, LOW);    // led引腳變為低電平
  delay(1000);               // 延時1秒
}

2、控制LED閃爍的小程序
int led = 13;

// 復位后初始化內容
void setup() {               
  // 初始化數字端口為輸出模式
  pinMode(led, OUTPUT);     
}
// 主循環
void loop() {
  digitalWrite(led, HIGH);   // led引腳置高電平
  delay(100);               // 延時100ms
  digitalWrite(led, LOW);    // led引腳變為低電平
  delay(100);               // 延時100ms
   digitalWrite(led, HIGH);   // led引腳置高電平
  delay(100);               // 延時100ms
  digitalWrite(led, LOW);    // led引腳變為低電平
  delay(1000);               // 延時100ms

}

3、定時器閃爍LED燈
const int ledPin =  13;      // led連接的引腳,標準的uno開發板上已經集成
// 變量
int ledState = LOW;             // led狀態,亮或者滅,可以修改
long previousMillis = 0;        // 存儲最后一次的led狀態
// 這里使用了長整型變量,因為使用了ms,瞬間的數值變化非常大。
long interval = 1000;           // 間隔閃爍的時間長度
void setup() {
  // 初始化引腳輸出模式
  pinMode(ledPin, OUTPUT);      
}
void loop()
{
  // 這里可以添加其他的程序

  unsigned long currentMillis = millis();

  if(currentMillis - previousMillis > interval) {
    // 保存當前值,方便下次再次和當前時間比較
    previousMillis = currentMillis;   

    // 如果led熄滅就把它點亮,反之亦然
    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;

    // 把對應的LED狀態反應到led引腳上。
        // 之前都是用變量再處理,處理完成后把最終結果輸出到終端。
    digitalWrite(ledPin, ledState);
  }
}


4、八位LED簡易流水燈
// 引腳定義
const int ledCount = 8;    // led個數

int ledPins[] = {
  0,1,2, 3, 4, 5, 6, 7, };   // 對應的led引腳


void setup() {
  // 循環設置,把對應的led都設置成輸出
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    pinMode(ledPins[thisLed], OUTPUT);
  }
}

void loop() {


  // 熄滅所有led,不同的電路連接也會得到點亮所有led
    for (int num = 0; num < 8; num++) {
      digitalWrite(ledPins[num], HIGH);
    } //
  // 循環順序點亮led然后等待200ms后熄滅
  for (int num = 0; num < 8; num++) {
      digitalWrite(ledPins[num], LOW);
      delay(200);
      digitalWrite(ledPins[num], HIGH);
  // 這樣就形成了簡易的led流水效果  
    }
  }



5、八位LED顯示電位器位置
const int analogPin = A0;   // 模擬輸入
const int ledCount = 8;    // led個數

int ledPins[] = {
  0,1,2, 3, 4, 5, 6, 7, };   // 對應的led引腳


void setup() {
  // 循環設置,把對應的led都設置成輸出
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    pinMode(ledPins[thisLed], OUTPUT);
  }
}

void loop() {
  // 讀取電位器的值
  int sensorReading = analogRead(analogPin);
  // 把對應的值轉化成0-最大led個數,這里是8
  int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);

  // 循環對比輸出到led:
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {

    if (thisLed < ledLevel) {
      digitalWrite(ledPins[thisLed], HIGH);
    }

    else {
      digitalWrite(ledPins[thisLed], LOW);
    }
  }
}




評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:118942 發表于 2016-5-6 20:31 | 只看該作者
這不是示例里面的嗎
回復

使用道具 舉報

板凳
ID:118184 發表于 2016-5-16 09:16 | 只看該作者
ycnalin 發表于 2016-5-6 20:31
這不是示例里面的嗎

呃???難道我坑大家了?不好意思啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表