[Arduino Project 2] LED Light stand for 3D Crystal laser cube Ver. 0.4
2017. 5. 8. 00:41 |
Simple version of LED Light stand base for 3D crystal laser cube
I have Taj Mahal 3D crystal laser Cube.
You can get it from ebay also.
I found there are many stand bases for these kind of 3D crystal cube and it makes gorgeous view of it. like below.
So I've decided to develop it using Arduino.
The result is this.
This is the Source code.
/*
For LED Light stand for 3D Crystal laser cube
version : 0.4
created 03 May 2017
by Douglas Changsoo Park
*/
// Define Pins
#define RED1 3
#define GREEN1 4
#define BLUE1 5
#define RED2 6
#define GREEN2 7
#define BLUE2 8
#define delayTime 100
// define variables
int redValue1;
int greenValue1;
int blueValue1;
int redValue2;
int greenValue2;
int blueValue2;
void setup() {
pinMode(RED1, OUTPUT);
pinMode(GREEN1, OUTPUT);
pinMode(BLUE1, OUTPUT);
digitalWrite(RED1, HIGH);
digitalWrite(GREEN1, HIGH);
digitalWrite(BLUE1, HIGH);
pinMode(RED2, OUTPUT);
pinMode(GREEN2, OUTPUT);
pinMode(BLUE2, OUTPUT);
digitalWrite(RED2, HIGH);
digitalWrite(GREEN2, HIGH);
digitalWrite(BLUE2, HIGH);
redValue1 = random(1, 255);
greenValue1 = random(1, 255);
blueValue1 = random(1, 255);
redValue2 = random(1, 255);
greenValue2 = random(1, 255);
blueValue2 = random(1, 255);
}
void loop() {
LEDLights(redValue1, greenValue1, blueValue1, redValue2, greenValue2, blueValue2);
delay(delayTime * 4);
}
void LEDLights(int red1, int green1, int blue1, int red2, int green2, int blue2) {
redValue1 = red1;
greenValue1 = green1;
blueValue1 = blue1;
redValue2 = red2;
greenValue2 = green2;
blueValue2 = blue2;
int redResult1 = randomValue(redValue1);
int greenResult1 = randomValue(greenValue1);
int blueResult1 = randomValue(blueValue1);
int redResult2 = randomValue(redValue2);
int greenResult2 = randomValue(greenValue2);
int blueResult2 = randomValue(blueValue2);
for (int i = 0; i < 25; i += 1) {
analogWrite(RED1, redValue1 + redResult1);
analogWrite(GREEN1, greenValue1 + greenResult1);
analogWrite(BLUE1, blueValue1 + blueResult1);
analogWrite(RED2, redValue2 + redResult2);
analogWrite(GREEN2, greenValue2 + greenResult2);
analogWrite(BLUE2, blueValue2 + blueResult2);
redValue1 = redValue1 + redResult1;
greenValue1 = greenValue1 + greenResult1;
blueValue1 = blueValue1 + blueResult1;
redValue2 = redValue2 + redResult2;
greenValue2 = greenValue2 + greenResult2;
blueValue2 = blueValue2 + blueResult2;
delay(delayTime);
}
}
int randomValue(int value) {
int result;
int minN;
int maxN;
int interval = random(1, 5);
if (interval == 1) {
minN = 26;
maxN = 229;
} else if (interval == 2) {
minN = 51;
maxN = 204;
} else if (interval == 3) {
minN = 76;
maxN = 179;
} else if (interval == 4) {
minN = 101;
maxN = 154;
} else {
minN = 126;
maxN = 129;
}
if (value < minN) {
result = interval;
} else if (value > maxN) {
result = -interval;
} else {
int randomVal = random(0, 1);
if (randomVal == 0) {
result = interval;
} else {
result = -interval;
}
}
return result;
}
I wanted to make a combination and change of a more varied and softer color using random() in randomValue() function.
LEDLights() function will turn on and change the LED Light with the return value of the randomValue() function.
The loop() function will call the LED LIghts() function repeatedly every given time.
The components will be configured as below.
I've used Arduino Nano, 12V battery pack with 8 AAA batteries, 1 car charger adapter, small bread board and 2 RGB LEDs.
all parts are what I already have.
It will cost about $ 15 for a new purchase.
Link to my project in hackster.
https://www.hackster.io/solkit/portable-led-light-stand-for-3d-crystal-laser-cube-5d8bd1
'IoT > Arduino' 카테고리의 다른 글
[Arduino] 3rd project. 4X4X4 LED Light Cube (1) | 2017.06.05 |
---|---|
[I don't like you] practice project for the project 'I like you' (0) | 2017.05.07 |
MIT App Inventor - Android App - Mega Millions Jackpot number generator (0) | 2017.01.30 |
Updated Source Code - Automated Mung Bean Sprouts Growing Machine (0) | 2017.01.27 |
Arduino Project 1 - Automated Mung Bean Sprouts Growing Machine (0) | 2017.01.23 |
[Arduino] Motion Sensor and Water Level Sensor (0) | 2017.01.17 |
[Arduino] Joystick, LED Dot Matrix and ADXL335 Module (0) | 2017.01.17 |
[Arduino] Ultrasonic, Keypad and Temperature and Humidity Sensor (0) | 2017.01.15 |
[Arduino] 7 Segment, Servo, LCD and Thermometer (0) | 2017.01.14 |
[Arduino] Using 74HC595 8-bit serial-in/serial or parallel-out shift register (0) | 2017.01.12 |