美文网首页我爱编程
Arduino笔记(一)——流水灯

Arduino笔记(一)——流水灯

作者: MUSHOOT | 来源:发表于2018-02-04 10:15 被阅读0次

最基础的LED跑马灯效果:从一侧到另一侧,然后返回

byte ledPin[] = {4,5,6,7,8,9,10,11,12,13};//为LED引脚创建数组
int ledDelay(65);//变化之间的延时
int direction = 1;
int currentLED = 0;
unsigned long changeTime;

void setup() {
    for (int x = 0; x < 10; x++) {                      
    pinMode(ledPin[x], OUTPUT);//设置所有引脚为输出模式
    }
changeTime = millis();
}

void loop() {
//如果距离最后一次变灯已经过去ledDelay毫秒
    if ( (millis()-changeTime) > ledDelay) {
    changeLED();
    //判断LED距离上次改变的时间是否超过一段确定的时间,是为了在需要时允许其他代码在主程序运行。
    changeTime = millis();
    }
void changeLED() {
    for (int x = 0; x<10; x++) {
    digitalWrite(ledPin[x], LOW);//关闭所有LED
    }
digitalWrite(ledPin[currentLED], HIGH);//点亮当前的LED
currentLED += direction; //当前值增加ditecion表示的数值
//如果到达LED末端改变ditection 值
if (currentLED ==9) {direction = -1;}
if (currentLED ==0) {direction = 1;}
}

改变跑马灯变化的速度

添加一个电位计,旋转电位计来改变LED点亮的速度,arduino模拟引脚带有一个10位的模/数转换器,能够读0-5v之间的电压,用0-1023之间的整数表示,分度值是4.9mv,利用引脚读出的数值,在0~1023毫秒之间调整延长时间。

byte ledPin[] = {4,5,6,7,8,9,10,11,12,13};//为LED引脚创建数组
int ledDelay(65);//变化之间的延时
int direction = 1;
int currentLED = 0;
unsigned long changeTime;

int potPin = 2;//电位计的输入引脚,必须是模拟引脚
void setup() {
    for (int x = 0; x < 10; x++) {                      
    pinMode(ledPin[x], OUTPUT);//设置所有引脚为输出模式
    }
changeTime = millis();
}

void loop() {
ledDelay = analogRead(potPin);//从电位计重读取数值,控制跑马灯变化速度
//如果距离最后一次变灯已经过去ledDelay毫秒
    if ( (millis()-changeTime) > ledDelay) {
    changeLED();
    //判断LED距离上次改变的时间是否超过一段确定的时间,是为了在需要时允许其他代码在主程序运行。
    changeTime = millis();
    }
void changeLED() {
    for (int x = 0; x<10; x++) {
    digitalWrite(ledPin[x], LOW);//关闭所有LED
    }
digitalWrite(ledPin[currentLED], HIGH);//点亮当前的LED
currentLED += direction; //当前值增加ditecion表示的数值
//如果到达LED末端改变ditection 值
if (currentLED ==9) {direction = -1;}
if (currentLED ==0) {direction =1;}

相关文章

  • Arduino笔记(一)——流水灯

    最基础的LED跑马灯效果:从一侧到另一侧,然后返回 改变跑马灯变化的速度 添加一个电位计,旋转电位计来改变LED点...

  • arduino——流水灯(笔记)

    学习编程的过程中,比较有趣的是控制一些硬件,与硬件打交道了。同样的,在枯燥平淡的生活中,找到一点乐趣也是很有意义的...

  • Arduino打造LED流水灯

    作者:陈帅华-探索技术艺术与国学之美 原文链接:http://www.shuaihuajun.com/articl...

  • Arduino学习笔记3(Web Server控制LED灯)

    Arduino学习笔记3(Web Server控制LED灯)

  • 2018-03-01树莓派Raspberry实践笔记-Ardui

    树莓派Raspberry实践笔记-Arduino IDE 【原创链接】:http://www.cnblogs.co...

  • 【Arduino笔记01】初识Arduino

    之前从来没有做过硬件相关的事情,只是在大学里学过数字电路(模拟电路也没有学),大学毕业后一直从事IT软件相关...

  • 水灯

    夜色里一抹香飘浮过来,清冷刻骨难忘幽爱的香。 在幽蓝的河畔,听唯美的故事,彼岸花里谁为你点上一盏水灯? 奈何桥...

  • 初识 Arduino

    介绍 官网 型号 Arduino Uno Arduino Nano Arduino Nano Arduino Na...

  • 2019-09-25流水灯效果实现

    1.流水灯的本质分析 (1)流水灯的本质其实就是不同的亮的状态相应间隔一定的时间。(2)流水灯第一个状态等于0x8...

  • 水灯节——五去清迈

    ——听说水灯节就是泰国的情人节哎! ——所以我买了水灯去放啊!结果刚飘出去就灭了… 水灯节是个很浪漫的日子,泰国人...

网友评论

    本文标题:Arduino笔记(一)——流水灯

    本文链接:https://www.haomeiwen.com/subject/yjqmzxtx.html