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

Arduino Project 008 - RGB LED Mood Lamp

RonWang1年前 (2024-07-09)电子编程581

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.parentscn.com/?id=258

标签: Arduino

相关文章

Arduino Project 013 - Piezo Knock Sensor

Arduino Project 013 - Piezo Knock Sensor

A piezo disc works when an electric current is passed over the ceramic material in the disc, causing...

Arduino Project 017 - Shift Register 8-Bit Binary Counter

Arduino Project 017 - Shift Register 8-Bit Binary Counter

In this project, you’re going to use additional ICs (Integrated Circuits) in the form of shift regis...

Arduino Project 036 - DTH Temperature and Humid Sensor

Arduino Project 036 - DTH Temperature and Humid Sensor

The DHT11 Temperature and Humidity Sensor senses, measures and regularly reports the relative humidi...

 ​Arduino Project 049 - IR Remote Control

​Arduino Project 049 - IR Remote Control

Project 49 IR Remote Control/* Project 49 IR Remote Control  * C...

Arduino Project 032 - BMP280 Pressure Sensor LCD Display

Arduino Project 032 - BMP280 Pressure Sensor LCD Display

For this project we will use Arduino Uno and BMP280 along with LCD 16x2 display module to display te...

Arduino Project 034 - TM1637 4Digital 7Segment Display Module

Arduino Project 034 - TM1637 4Digital 7Segment Display Module

A standard 4-digit 7-segment display is needed for clock, timer and counter projects, but it usually...