Introduction: DIY Inventive ART Project Idea With LED Lights and Sound
In this video I will be showing you how to make unique art project at home using LED strip and sound.
Step 1: Project Video
LED Strip - https://bit.ly/2DkYdmQ
MP3 Player - https://bit.ly/2BVgNAU
Infrared Sensor - https://bit.ly/3gSVzlW
Microcontroller - https://bit.ly/2QO5m2g
Connector - https://bit.ly/2QOXQnU
Adapter - https://bit.ly/3bkEwrS
Voltage Regulator - https://bit.ly/37ptKi4
Speaker - https://bit.ly/2YwSJMe
Micro SD - https://bit.ly/3hmXq45
Capacitor - https://bit.ly/30BaNYr
Resistor - https://bit.ly/2MUegJC
Toggle Switch - https://bit.ly/2B4ADcs
Soldering Tools - http://bit.ly/2Kbr9hQ
Step 2: Schematic and Gerber
Step 3: Source Code
Source Code:https://github.com/MertArduino/Art-Project-LED-Strip-DFPlayer-Arduino
#include <FastLED.h> #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" #define NUM_LEDS_PER_STRIP 70 #define BRIGHTNESS 200 #define LED1pin 5 #define LED2pin 6 #define LED3pin 7 const int IR1pin = A0; const int IR2pin = A1; const int IR3pin = A2; CRGB LED1color[NUM_LEDS_PER_STRIP]; CRGB LED2color[NUM_LEDS_PER_STRIP]; CRGB LED3color[NUM_LEDS_PER_STRIP]; SoftwareSerial mySoftwareSerial(10, 11); // RX, TX DFRobotDFPlayerMini myDFPlayer; void printDetail(uint8_t type, int value); void setup() { mySoftwareSerial.begin(9600); Serial.begin(115200); if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println(F("Unable to begin:")); Serial.println(F("1.Please recheck the connection!")); Serial.println(F("2.Please insert the SD card!")); while(true); } pinMode(IR1pin, INPUT); pinMode(IR2pin, INPUT); pinMode(IR3pin, INPUT); myDFPlayer.volume(20); myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC); myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD); FastLED.addLeds<NEOPIXEL, LED1pin>(LED1color, NUM_LEDS_PER_STRIP); FastLED.addLeds<NEOPIXEL, LED2pin>(LED2color, NUM_LEDS_PER_STRIP); FastLED.addLeds<NEOPIXEL, LED3pin>(LED3color, NUM_LEDS_PER_STRIP); FastLED.setBrightness( BRIGHTNESS ); } void loop() { if(digitalRead(IR1pin) == LOW) { LED1show(); } if(digitalRead(IR2pin) == LOW) { LED2show(); } if(digitalRead(IR3pin) == LOW) { LED3show(); } } void LED1show() { myDFPlayer.play(1); for(int i = 0; i < NUM_LEDS_PER_STRIP; i++) { LED1color[i] = CRGB::Purple; FastLED.show(); LED1color[i] = CRGB::Black; delay(100); } for(int i = NUM_LEDS_PER_STRIP-1; i >= 0; i--) { LED1color[i] = CRGB::Green; FastLED.show(); LED1color[i] = CRGB::Black; delay(100); } myDFPlayer.pause(); } void LED2show() { myDFPlayer.play(2); for(int i = 0; i < NUM_LEDS_PER_STRIP; i++) { LED2color[i] = CRGB::Purple; FastLED.show(); LED2color[i] = CRGB::Black; delay(100); } for(int i = NUM_LEDS_PER_STRIP-1; i >= 0; i--) { LED2color[i] = CRGB::Green; FastLED.show(); LED2color[i] = CRGB::Black; delay(100); } myDFPlayer.pause(); } void LED3show() { myDFPlayer.play(3); for(int i = 0; i < NUM_LEDS_PER_STRIP; i++) { LED3color[i] = CRGB::Purple; FastLED.show(); LED3color[i] = CRGB::Black; delay(100); } for(int i = NUM_LEDS_PER_STRIP-1; i >= 0; i--) { LED3color[i] = CRGB::Green; FastLED.show(); LED3color[i] = CRGB::Black; delay(100); } myDFPlayer.pause(); }