当前位置: 首页 > news >正文

基于Arduino Uno开发板实现PWM呼吸灯的设计方案

       以下是基于Arduino Uno开发板实现PWM呼吸灯的设计方案:

一、硬件准备:

1. Arduino Uno开发板一块

2. 一个LED灯

3. 一个220欧姆电阻

4. 面包板一块

5. 杜邦线若干

二、硬件连接:

1. 将Arduino Uno开发板放置到面包板上,VCC电源管脚通过杜邦线连接到5V直流电源正极,GND管脚连接到直流电源负极。

2. 将LED灯的长脚(正极)通过一个220欧姆电阻连接到Arduino Uno的数字引脚9,短脚(负极)连接到开发板的GND。

三、Arduino软件编程:

1. 打开Arduino IDE。

2. 在IDE中编写以下代码:

void setup() {

  //设置引脚9为PWM输出模式

  pinMode(9, OUTPUT);

}

void loop() {

  for (int brightness = 0; brightness <= 255; brightness++) {

    //设置PWM占空比,控制LED亮度逐渐增加

    analogWrite(9, brightness);

    delay(10);

  }

  for (int brightness = 255; brightness >= 0; brightness--) {

    //设置PWM占空比,控制LED亮度逐渐减小

    analogWrite(9, brightness);

    delay(10);

  }

}

3. 将Arduino Uno连接到电脑,选择正确的板卡和端口。

4. 点击上传按钮,将程序上传到Arduino Uno开发板。

四、工作原理:

1. 在setup()函数中,将连接LED的数字引脚设置为输出模式。

2. 在loop()函数中,使用两个循环来实现LED的亮度逐渐增加和逐渐减小,从而形成呼吸灯的效果。通过analogWrite()函数设置PWM(脉冲宽度调制)占空比来控制LED的亮度。占空比从0逐渐增加到255,LED亮度逐渐增强;然后占空比从255逐渐减小到0,LED亮度逐渐减弱。循环不断重复,实现呼吸灯的动态效果。每个亮度变化步骤之间的延迟时间为10毫秒,通过delay()函数实现。

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C语言-结构体-详解
  • 【数据结构与算法 | 灵神题单 | 自顶向下DFS篇】力扣1022,623
  • windows11+ubuntu20.04.6双系统安装
  • 数据结构-2.顺序表
  • Delta Function的简单介绍
  • 关于less的基本使用
  • Java设计模式—面向对象设计原则(一) ----->开闭原则OCP(完整详解,附有代码+案例)
  • re题(27)BUUFCTF-[MRCTF2020]Transform
  • C++速通LeetCode简单第18题-杨辉三角(全网唯一递归法)
  • 如何快速解决程序中的BUG
  • 商淘云九周年 分账系统助力企业合规发展
  • 深度学习数据集交通类常见图像分类、目标检测、分割图像数据集(深度学习数据集 - 交通类解决方案)
  • PHP环境搭建详细教程
  • 中秋献礼!2024年中科院一区极光优化算法+分解对比!VMD-PLO-Transformer-LSTM多变量时间序列光伏功率预测
  • 2021 年 6 月青少年软编等考 C 语言二级真题解析
  • android 一些 utils
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Django 博客开发教程 8 - 博客文章详情页
  • Git的一些常用操作
  • JavaScript 奇技淫巧
  • JavaScript设计模式系列一:工厂模式
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • PHP 的 SAPI 是个什么东西
  • Selenium实战教程系列(二)---元素定位
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Transformer-XL: Unleashing the Potential of Attention Models
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 聊聊directory traversal attack
  • 双管齐下,VMware的容器新战略
  • 阿里云API、SDK和CLI应用实践方案
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (六)vue-router+UI组件库
  • (四)stm32之通信协议
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (一)SvelteKit教程:hello world
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .NET Core 版本不支持的问题
  • .NET Micro Framework初体验
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET 的程序集加载上下文
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .Net6 Api Swagger配置
  • .net6 当连接用户的shell断掉后,dotnet会自动关闭,达不到长期运行的效果。.NET 进程守护
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET中winform传递参数至Url并获得返回值或文件