当前位置:首页 > 科学研究 > 电子编程 > 正文内容

Arduino Project 008 - RGB LED Mood Lamp

RonWang2年前 (2024-07-09)电子编程787

In the last project, you learned how to adjust the brightness of an LED using the PWM capabilities of the Atmega chip. You’ll now take advantage of this capability by using a red, green, and blue LED and mixing these colors to create any color you wish. From that, you’ll create a mood lamp similar to those seen in stores nowadays.

项目8 RGB Mood Lamp 

08 RGB Mood Lamp Circuit

08 RGB Mood Lamp Schematic

/* Coding Ron Wang
   July 9th 2024
   Autaba support for coding hardware
 */
// Project 8 - Mood Lamp
float RGB1[3];
float RGB2[3];
float INC[3];
int red, green, blue;
int RedPin = 10;
int GreenPin = 9;
int BluePin = 8;
void setup()
{
 randomSeed(analogRead(0));
 RGB1[0] = 0;
 RGB1[1] = 0;
 RGB1[2] = 0;
 RGB2[0] = random(256);
 RGB2[1] = random(256);
 RGB2[2] = random(256);
}
void loop()
{
 randomSeed(analogRead(0));
 for (int x=0; x<3; x++) {
 INC[x] = (RGB1[x] - RGB2[x]) / 256; }
 for (int x=0; x<256; x++) {
 red = int(RGB1[0]);
 green = int(RGB1[1]);
 blue = int(RGB1[2]);
 analogWrite (RedPin, red);
 analogWrite (GreenPin, green);
 analogWrite (BluePin, blue);
 delay(100);
 RGB1[0] -= INC[0];
 RGB1[1] -= INC[1];
 RGB1[2] -= INC[2];
 }
 for (int x=0; x<3; x++) {
 RGB2[x] = random(556)-300;
 RGB2[x] = constrain(RGB2[x], 0, 255);
 delay(1000);
 }
}

版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!

本文链接:http://www.autabarc.com/?id=258

标签: Arduino

相关文章

Arduino Project 003 - LED Traffic Light

Arduino Project 003 - LED Traffic Light

You are now going to create a set of traffic lights that will change from green to red, via amber, a...

Arduino Project 023 - Liquid Crystal Displays - Hello World

Arduino Project 023 - Liquid Crystal Displays - Hello World

Before wiring the LCD screen to your Arduino board we suggest to solder a pin header strip to the 14...

Arduino Project 015 - Simple Motor Control

Arduino Project 015 - Simple Motor Control

First, you’re going to simply control the speed of a DC motor in one direction, using a power transi...

Arduino Programming Basic - Data Type

Arduino Programming Basic - Data Type

Arduino 程序基础,介绍Arduino程序的基本组成,第一部分编写了10个例子,关于变量及变量名称,串口监视器,if循环,for循环,while循环等。第二部分介绍了函数,全局变量,局部变量和静...

C语言调试运行环境Pelles C的安装

C语言调试运行环境Pelles C的安装

C语言调试运行环境之TurboC一文介绍了在32位Windows系统下安装C语言运行环境之TubroC,但是由于TurobC只能在32位系统下运行,导致现在很多Windows10和Windows 11...

 ​Arduino Project 048 - Human Body Infrared Detector and Relay Light

​Arduino Project 048 - Human Body Infrared Detector and Relay Light

Project 48 Human Body Infrared Detector and Relay Light/*  * Coding by Ronwang&...