Ardinuo代码开发

news/2024/10/4 11:17:01 标签: 单片机, 嵌入式硬件

流水灯代码 

// 定义连接LED的引脚
const int led1 =1;
const int led2 = 2;
const int led3 = 3;
const int led4 = 4;
const int led5 = 5;

void setup() {
  // 初始化所有引脚为输出模式
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  
}

void loop() {
  // 依次点亮所有LED
  digitalWrite(led1, HIGH);
  delay(500); // 等待500毫秒
  digitalWrite(led1, LOW);

  digitalWrite(led2, HIGH);
  delay(500);
  digitalWrite(led2, LOW);

  digitalWrite(led3, HIGH);
  delay(500);
  digitalWrite(led3, LOW);

  digitalWrite(led4, HIGH);
  delay(500);
  digitalWrite(led4, LOW);

  digitalWrite(led5, HIGH);
  delay(500);
  digitalWrite(led5, LOW);

}

for循环简化代码

// 定义连接LED的引脚

void setup() {
  // 初始化所有引脚为输出模式
  for(int i=1;i<=5;i++){
    pinMode(i,OUTPUT);
  }
  
}

void loop() {
  // 依次点亮所有LED
  for(int i=1;i<=5;i++){
    digitalWrite(i,HIGH);
    delay(500);
    digitalWrite(i,LOW);
  }
  
}

呼吸灯代码 

const int redPin = 9;   // 红色LED连接的PWM引脚
const int greenPin = 10; // 绿色LED连接的PWM引脚
const int bluePin = 11;  // 蓝色LED连接的PWM引脚
int brightness = 0;      // 初始亮度
int fadeAmount = 5;      // 每次亮度变化的量

void setup() {
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop() {
  // 逐渐增加亮度
  for (brightness = 0; brightness <= 255; brightness += fadeAmount) {
    analogWrite(redPin, brightness);
    analogWrite(greenPin, brightness);
    analogWrite(bluePin, brightness);
    delay(30);
  }

  // 逐渐减少亮度
  for (brightness = 255; brightness >= 0; brightness -= fadeAmount) {
    analogWrite(redPin, brightness);
    analogWrite(greenPin, brightness);
    analogWrite(bluePin, brightness);
    delay(30);
  }
}

 火焰灯代码

// 定义连接到RGB LED的PWM引脚
const int redPin = 9;
const int greenPin = 10;
const int bluePin = 11;

void setup() {
  // 设置引脚为输出模式
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop() {
  // 模拟火焰的随机闪烁
  int flicker = random(0, 150); // 产生0到150之间的随机数
  int red = 255 - flicker;      // 红色亮度
  int orange = flicker; 
  int blue=flicker;        // 橙色亮度
  
  // 设置RGB LED的颜色和亮度
  analogWrite(redPin, red);
  analogWrite(greenPin, orange ); // 绿色亮度较低
  analogWrite(bluePin, blue);            // 蓝色亮度为0
  
  // 等待一段时间,以模拟火焰的动态效果
  delay(random(50, 150));
}


http://www.niftyadmin.cn/n/5689863.html

相关文章

netty之NettyClient半包粘包处理、编码解码处理、收发数据方式

前言 Netty开发中&#xff0c;客户端与服务端需要保持同样的&#xff1b;半包粘包处理&#xff0c;编码解码处理、收发数据方式&#xff0c;这样才能保证数据通信正常。在前面NettyServer的章节中我们也同样处理了&#xff1b;半包粘包、编码解码等&#xff0c;为此在本章节我们…

第三十八章 验证和解密入站消息 - 实例身份验证和 WS-Security

文章目录 第三十八章 验证和解密入站消息 - 实例身份验证和 WS-Security实例身份验证和 WS-Security检索安全标头元素FindByEncryptedKeySHA1()FindElement()FindLastElement() 检查签名确认 第三十八章 验证和解密入站消息 - 实例身份验证和 WS-Security 实例身份验证和 WS-S…

资源《Arduino UNO R3 proteus 仿真工程》说明。

资源链接&#xff1a; Arduino UNO R3 proteus 仿真工程 1.文件明细&#xff1a; 2.文件内容说明 包含&#xff1a;proteus工程、原理图、仿真程序。 3.内容展示 4.简述 该文件为proteus工程&#xff0c;用于Arduino uno r3仿真。 因为软件自动运行&#xff0c;所以最小…

Pikachu-Sql Inject-insert/update/delete注入

insert 注入 插入语句 insert into tables values(value1,value2,value3); 如&#xff1a;插入用户表 insert into users (id,name,password) values (id,username,password); 当点击注册 先判断是否有SQL注入漏洞&#xff0c;经过判断之后发现存在SQL漏洞。构造insert的pa…

【分布式微服务云原生】深入探索Redis Cluster:打造高效、可扩展的数据集群

深入探索Redis Cluster&#xff1a;打造高效、可扩展的数据集群 摘要&#xff1a; 在追求高性能和可伸缩性的数据存储解决方案时&#xff0c;Redis Cluster模式成为了众多开发者的首选。本文将深入解析Redis Cluster的核心特性、工作原理以及如何配置和管理。通过实际的Java代…

C#类的概念

C#中类的概念 类修饰符 class 类名 { } 类的修饰符&#xff1a; public : 不限制对类的访问 protected: 只能从所在的类和所在类的子类&#xff08;派生类&#xff09;中进行访问 internal: 同一个程序集的任何代码都可以进行访问 private: 只有其所在的类才能访问 ab…

手部姿态映射到远程操作机器人

要将手部姿态数据映射到远程操作机器人&#xff0c;可以使用 Python 和一些库&#xff08;如 mediapipe 和 numpy&#xff09;来i简单实现这个功能。以下是一个具体的实现步骤&#xff0c;主要包括手部姿态检测、数据处理和关节位置映射。 1. 环境准备 确保您安装了必要的库&…

SQL_WHERE子句里不能出现COUNT()

在 SQL 中&#xff0c;WHERE 子句通常用于过滤记录&#xff0c;它不能直接与聚合函数&#xff08;如 COUNT()&#xff09;一起使用。聚合函数通常在 SELECT 语句中与 GROUP BY 子句结合使用&#xff0c;以便对一组记录进行聚合计算。 但是&#xff0c;如果你想基于某个计数来过…