【Arduino实验06 呼吸灯】

您所在的位置:网站首页 炫彩灯怎么接线的 【Arduino实验06 呼吸灯】

【Arduino实验06 呼吸灯】

2024-07-16 07:11| 来源: 网络整理| 查看: 265

目录

一、实验目的

二、实验设备与环境

三、实验重点

四、实验难点

五、实验内容

5.1实验任务

5.2实验原理

5.3实验内容

5.4实验结果

5.5思考题

一、实验目的

        1熟悉PWM控制与程序编写原理;

        2掌握模拟I/O接口特性与函数的功能;

        3掌握映射函数的功能;

        4掌握编程控制实现呼吸灯功能的方法

二、实验设备与环境

        Arduino UNO套件、Arduino IDE、计算机、电位器、LED灯、电阻、杜邦线等

三、实验重点

        1实验电路连接;2控制程序代码编写;3程序功能调试

四、实验难点

        1程序代码编写、调试

五、实验内容 5.1实验任务

        任务描述:读取、输出电位器模拟信号值;电位器的LED亮度控制(PWM);呼吸灯制作。

5.2实验原理

        1.PWM控制

        PWM为信号周期内保持高电平的时间,是以占空比进行脉宽调试的技术,用于将信息编码为脉冲信号。Arduino UNO的PWM信号频率f=490Hz,输出端口为3、5、6、9、10、11,标识“~”。

        2.电位器

        电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件。电位器通常由电阻体和可移动的电刷组成。当电刷沿电阻体移动时,在输出端即获得与位移量成一定关系的电阻值或电压。电位器既可作三端元件使用也可作二端元件使用。后者可视作一可变电阻器,由于它在电路中的作用是获得与输入电压(外加电压)成一定关系的输出电压,因此称之为电位器。

        通过电位器滑动端口可以控制输出电压取值从0 –Vcc变化,如果输出值为呼吸灯渐变亮度的最大值,则可以通过输出值的变化控制呼吸灯亮灭的频率。

        3.arduino程序

        函数:analogRead()、analogWrite()、map()、Serial()

        控制语句:for„„、while„„

        4.呼吸灯电路原理

        (1)呼吸灯电路

        (2)呼吸灯电路原理图

         (3)呼吸灯原理

        人在呼吸时,通过扩大胸腔、压缩胸腔进行吸气、呼气实现呼吸功能,不断吸气、呼气形成规律的呼吸功能。呼吸灯通过控制灯的亮度,从暗逐渐变化最亮、再逐渐变化到最暗,不断重复,形似人的呼吸,称为呼吸灯。

5.3实验内容

        1.电位器模拟信号值的输出

        步骤1:电路连接

        步骤2:程序流程图

        步骤3:程序源代码

        Arduino IDE程序:

const int light_Pin = A0; void setup() { Serial.begin(9600); int light_Value; } void loop() { light_Value = analogRead(light_Pin); Serial.print(“light_Value =:”); Serial.println(light_Value); // 输出光敏电阻读取的数据 Serial.println(light_Value,BIN); // 以二进制输出光敏电阻读取的数据         Serial.println(light_Value,HEX); // 以十六进制输出光敏电阻读取的数据         delay(500); }

        Mixly程序:略„„

        步骤4: 程序编译与调试

        2.电位器控制LED灯的亮度

        步骤1:电路连接

        步骤2:画流程图

        步骤3:程序源代码

        Arduino IDE程序:

const int light_Pin = A0; const int ledPin = 5; void setup() { Serial.begin(9600); int light_Value; } void loop() { light_Value = analogRead(light_Pin); Serial.print(“light_Value =:”); Serial.println(light_Value); // 输出电位器读取的数据 Light_Value = map(light_Value,0,1023,0,255); //将读取的值映射到0-255的输出精度                 analogWrite(ledPin,light_Value);delay(100); }

        Mixly程序:略„„        

        步骤4: 程序编译与调试

        3.自动a呼吸灯

        步骤1:连接电路

        步骤2:画流程图

        步骤3:编写源程序

const int ledPin = 5; void setup() {         Serial.begin(9600); } void loop() {         for(int i=0;i=0;i-=5) {         Serial.println(i);         analogWrige(ledPin,i);         delay(100);         } }

        步骤4:程序编译与功能调试

        4.电位器控制的呼吸灯

        步骤1:电路连接

        步骤2:程序流程图

        步骤3:程序源代码

const lightPin = 0; const int ledPin = 5; int light_Value= 0; int ledValue = 0; void setup() {         Serial.begin(9600); } void loop() {         light_Value = analogRead(lightPin);         ledValue = map(light_Value,0,1023,0,255);         for(int i=0;i=0;i-=5) {         Serial.println(i);         analogWrite(ledPin,i);         delay(100);                 } }

        步骤4: 程序编译与调试

        步骤5:修改以上程序控制参数实现:(1)呼吸灯逐渐急促、逐渐舒缓的变化;(2)呼吸灯急促、舒缓与最大亮度的同步变化。

        5. 程序拓展更改以上电路与源程序,用R、G、B三色的LED实现一个颜色不断变化的炫彩灯效果,要求:(1)R\G\B单色渐变;(2)R\G\B双色渐变;(3)R\G\B三色渐变;(4)R\G\B颜色随机变化。发光体颜色的叠加原理参考:

#define led_red 9     //Pin 9 连接上 led的红色引脚 #define led_green 10 #define led_blue 11 void setup() {   pinMode(led_red,OUTPUT);  //设置为输出模式   pinMode(led_green,OUTPUT);   pinMode(led_blue,OUTPUT);   analogWrite(led_red,255);     //首先,先把所有的灯都关闭   analogWrite(led_green,255);   //可以随意设置开启关闭哪些灯,搭配出不同组合有不同颜色   analogWrite(led_blue,255); } void loop() {   // put your main code here, to run repeatedly:   for(int i=200;i>0;i--)      //渐亮   {     analogWrite(led_red,i);     //慢慢开启红色和绿色会搭配出黄色     analogWrite(led_green,i);       analogWrite(led_blue,255);       delay(10);   }   for(int i=0;i 0)    { red = Serial.readStringUntil(',').toInt();    green = Serial.readStringUntil(',').toInt();    blue = Serial.readStringUntil(';').toInt();    color(red, green, blue);    }  } 5.4实验结果

        结论:略

        反思:略

        作品:略

5.5思考题

1.呼吸灯可以调节变化快、慢的节奏,你怎样实现?

2.光感应式呼吸灯通过控制什么参数条件实现?

3.可否用R、G、B色LED灯实现一个颜色渐变的幻彩小夜灯?



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3