Arduino制作跑马灯

简介: Arduino制作跑马灯

Arduino制作跑马灯

目标一:

设计跑马灯(从左到右,从右到左依次闪烁)

线路图:

相关代码:

void setup() {
  int i;    //定义数据类型,设置输出引脚
    for (i=2;i<=5;i++){
      pinMode(i,OUTPUT);   //数字化脚位,指定输入输出
    } 
}
void loop() {              
    F1();      //F1子程序
    delay(1000);    
    F2();
    delay(1000);   
}
void F1()     //led从左往右依次点亮,从右到左依次熄灭
{
  int j;
  for(j=2;j<=5;j++)
  {
    digitalWrite(j,HIGH); //2-5号引脚为低电平,使灯一起亮
    delay(200);
  }
   for(j=5;j>=2;j--)
  {
    digitalWrite(j,LOW);  //2-5号引脚为高电平,使灯一起灭
    delay(200);
  }
}
void F2()     //led从右往左依次点亮,从左到右依次熄灭
{  
  int j;
  for(j=5;j>=2;j--)
  {
    digitalWrite(j,HIGH);
    delay(200);
  }
   for(j=2;j<=5;j++)
  {
    digitalWrite(j,LOW);
    delay(200);
  }
}

效果图:

目标二:

使用按钮,实现两种走马灯模式的切换

线路图:

相关代码:

const int buttonPin = 7;  //按钮引起电平改变的输入引脚
void setup() {
  int i;    //定义数据类型,设置输出引脚
    for (i=2;i<=5;i++){
      pinMode(i,OUTPUT);   //数字化脚位,指定输入输出
    } 
}
void loop() {              
    if(digitalRead(buttonPin)==HIGH)// F1子程序
    {
    F1();      
    delay(1000);    
    }
    else  //F2子程序
    {
    F2();
    delay(1000);  
    }
}
void F1()     //led从左往右依次点亮,从右到左依次熄灭
{
  int j;
  for(j=2;j<=5;j++)
  {
    digitalWrite(j,HIGH); //2-5号引脚为低电平,使灯一起亮
    delay(200);
  }
   for(j=5;j>=2;j--)
  {
    digitalWrite(j,LOW);  //2-5号引脚为高电平,使灯一起灭
    delay(200);
  } 
}
void F2()     //led从右往左依次点亮,从左到右依次熄灭
{
  int j;
  for(j=5;j>=2;j--)
  {
    digitalWrite(j,HIGH);
    delay(200);
  }
   for(j=2;j<=5;j++)
  {
    digitalWrite(j,LOW);
    delay(200);
  } 
}

效果图:

相关文章
|
Web App开发 数据安全/隐私保护
Chrome谷歌浏览器密码数据导出与导入管理(实现数据无缝同步)
Chrome谷歌浏览器密码数据导出与导入管理(实现数据无缝同步)
1080 0
|
Oracle 关系型数据库 Linux
Virtualbox上安装Linux系统(CentOS7)(图文超详细)
Virtualbox上安装Linux系统(CentOS7)(图文超详细)
4403 1
|
5月前
|
传感器 存储 iOS开发
【HarmonyOS NEXT调试全攻略】设备连接+运行环境一站式指南
本文提供HarmonyOS调试全面指南,涵盖设备连接与运行环境配置。包括模拟器操作、真机调试方法,及环境配置、功能模拟、故障排除等内容。核心覆盖Win/Mac双平台配置、真机级功能模拟、50+故障解决技巧等,助开发者高效调试。适合教育科普学习,错误之处欢迎指出。
316 0
|
11月前
|
监控 Devops Linux
推荐类似宝塔的开源面板工具
本文介绍了几款类似于宝塔面板的开源服务器管理工具,包括Websoft9、1Panel、Webmin和Cockpit。这些工具在易用性、功能性和安全性方面各有千秋,能够满足不同用户的需求,从一键部署应用到高级服务器管理,提供了丰富的选择。
1502 1
推荐类似宝塔的开源面板工具
|
存储 安全 网络安全
POP3 协议在计算机网络中的优缺点
【8月更文挑战第19天】
404 0
POP3 协议在计算机网络中的优缺点
|
物联网 vr&ar Android开发
掌握安卓与iOS应用开发:核心技术与未来趋势
本文深入探讨了安卓和iOS应用开发的核心技术,包括开发环境、主要编程语言、常用框架以及性能优化技巧。同时,文章还展望了两大平台未来的发展趋势,如人工智能、增强现实和物联网的集成,为开发者提供全面的技术参考和发展指引。
讲解:如何根据txt文本列出的文件名批量查找指定文件夹里的文件并复制到新的文件夹里 , 按照文件名批量复制文件 , 根据文件名批量复制 , 通过文件名批量复制文件
该文介绍了一款批量文件处理软件,用于解决三类问题:依据文件名清单批量复制图片、筛选PDF文件及删除指定文件。用户可从百度或腾讯下载链接获取软件。操作步骤包括加载文件夹、输入文件名清单、设置目标位置、选择操作类型(复制、剪切或删除)及匹配方式,然后开始查找。软件能快速处理大量文件,提高办公效率,避免手动操作。查找结果会显示在特定文件夹和日志中,记录每个操作详情。
1454 5
|
NoSQL Redis 数据库
Redis 从入门到精通之Redis事务实现原理
Redis 通过 MULTI 、 DISCARD 、 EXEC 和 WATCH 四个命令来实现事务功能,本章首先讨论使用 MULTI 、 DISCARD 和 EXEC 三个命令实现的一般事务,然后再来讨论带有 WATCH 的事务的实现。因为事务的安全性也非常重要,所以本章最后通过常见的 ACID 性质对 Redis 事务的安全性进行了说明
799 113
Redis 从入门到精通之Redis事务实现原理
|
存储 安全 数据安全/隐私保护
移动APP安全加固技术深度解析
【7月更文挑战第12天】移动APP安全加固技术是保障移动应用安全的重要手段。通过对Android和iOS两大主流平台的安全加固,可以有效防止逆向分析、动态调试、数据篡改等安全威胁。在实际应用中,我们需要结合静态层面、动态层面和数据层面的加固技术,全方位地提升APP的安全性。同时,随着技术的不断发展,我们也需要不断关注新的安全威胁和加固技术,确保移动应用的安全性和稳定性。
|
缓存 前端开发 JavaScript
JavaScript进阶 - Web Workers与Service Worker
【7月更文挑战第10天】在Web开发中,Web Workers和Service Worker提升性能。Workers运行后台任务,防止界面冻结。Web Workers处理计算密集型任务,Service Worker则缓存资源实现离线支持。常见问题包括通信故障、资源限制、注册错误及缓存更新。通过示例代码展示了两者用法,并强调生命周期管理和错误处理的重要性。善用这些技术,可构建高性能的Web应用。
318 0