Devices & Components
Arduino Mega 2560 Rev3
WS2812 Addressable LED Strip
Reed Switch, SPST-NO
Hardware & Tools
PCB Holder, Soldering Iron
Solder Wire, Lead Free
Soldering iron (generic)
Project description
Code
Arduino code
arduino
1#include <FastLED.h> 2 3 4#define NUM_LEDS 64 5 6#define DATA_PIN 10 7 8 byte i=0; 9 10CRGB leds[NUM_LEDS]; 11void setup() 12{ 13 14 FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS); 15 16 for(byte i=2;i<10;i++) 17 { 18 pinMode(i, OUTPUT); 19 } 20 for(byte i=14;i<22;i++) 21 { 22 pinMode(i, INPUT); 23 } 24 25} 26 27void loop() 28{ 29 for(byte i=0;i<64;i++) 30 { 31 leds[i] = CRGB::White; 32 FastLED.show(); 33 34 } 35 36 digitalWrite(2,HIGH); 37 digitalWrite(3,LOW); 38 digitalWrite(4,LOW); 39 digitalWrite(5,LOW); 40 digitalWrite(6,LOW); 41 digitalWrite(7,LOW); 42 digitalWrite(8,LOW); 43 digitalWrite(9,LOW); 44 45 if(digitalRead(14)==HIGH) 46 { 47 i=0; 48 } 49 if(digitalRead(15)==HIGH) 50 { 51 i=1; 52 } 53 if(digitalRead(16)==HIGH) 54 { 55 i=2; 56 } 57 if(digitalRead(17)==HIGH) 58 { 59 i=3; 60 } 61 if(digitalRead(18)==HIGH) 62 { 63 i=4; 64 } 65 if(digitalRead(19)==HIGH) 66 { 67 i=5; 68 } 69 if(digitalRead(20)==HIGH) 70 { 71 i=6; 72 } 73 if(digitalRead(21)==HIGH) 74 { 75 i=7; 76 } 77 digitalWrite(2,LOW); 78 digitalWrite(3,LOW); 79 digitalWrite(4,HIGH); 80 digitalWrite(5,LOW); 81 digitalWrite(6,LOW); 82 digitalWrite(7,LOW); 83 digitalWrite(8,LOW); 84 digitalWrite(9,LOW); 85 86 if(digitalRead(14)==HIGH) 87 { 88 i=16; 89 } 90 if(digitalRead(15)==HIGH) 91 { 92 i=17; 93 } 94 if(digitalRead(16)==HIGH) 95 { 96 i=18; 97 } 98 if(digitalRead(17)==HIGH) 99 { 100 i=19; 101 } 102 if(digitalRead(18)==HIGH) 103 { 104 i=20; 105 } 106 if(digitalRead(19)==HIGH) 107 { 108 i=21; 109 } 110 if(digitalRead(20)==HIGH) 111 { 112 i=22; 113 } 114 if(digitalRead(21)==HIGH) 115 { 116 i=23; 117 } 118 119 120 121 122 123 leds[i] = CRGB::Red; 124 FastLED.show(); 125 delay(500); 126 127 leds[i] = CRGB::Black; 128 FastLED.show(); 129 delay(500); 130 131 132 133 134 135}
Arduino code
arduino
1#include <FastLED.h> 2 3 4#define NUM_LEDS 64 5 6#define DATA_PIN 10 7 8 byte i=0; 9 10CRGB leds[NUM_LEDS]; 11void setup() 12{ 13 14 FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS); 15 16 for(byte i=2;i<10;i++) 17 { 18 pinMode(i, OUTPUT); 19 } 20 for(byte i=14;i<22;i++) 21 { 22 pinMode(i, INPUT); 23 } 24 25} 26 27void loop() 28{ 29 for(byte i=0;i<64;i++) 30 { 31 leds[i] = CRGB::White; 32 FastLED.show(); 33 34 } 35 36 digitalWrite(2,HIGH); 37 digitalWrite(3,LOW); 38 digitalWrite(4,LOW); 39 digitalWrite(5,LOW); 40 digitalWrite(6,LOW); 41 digitalWrite(7,LOW); 42 digitalWrite(8,LOW); 43 digitalWrite(9,LOW); 44 45 if(digitalRead(14)==HIGH) 46 { 47 i=0; 48 } 49 if(digitalRead(15)==HIGH) 50 { 51 i=1; 52 } 53 if(digitalRead(16)==HIGH) 54 { 55 i=2; 56 } 57 if(digitalRead(17)==HIGH) 58 { 59 i=3; 60 } 61 if(digitalRead(18)==HIGH) 62 { 63 i=4; 64 } 65 if(digitalRead(19)==HIGH) 66 { 67 i=5; 68 } 69 if(digitalRead(20)==HIGH) 70 { 71 i=6; 72 } 73 if(digitalRead(21)==HIGH) 74 { 75 i=7; 76 } 77 digitalWrite(2,LOW); 78 digitalWrite(3,LOW); 79 digitalWrite(4,HIGH); 80 digitalWrite(5,LOW); 81 digitalWrite(6,LOW); 82 digitalWrite(7,LOW); 83 digitalWrite(8,LOW); 84 digitalWrite(9,LOW); 85 86 if(digitalRead(14)==HIGH) 87 { 88 i=16; 89 } 90 if(digitalRead(15)==HIGH) 91 { 92 i=17; 93 } 94 if(digitalRead(16)==HIGH) 95 { 96 i=18; 97 } 98 if(digitalRead(17)==HIGH) 99 { 100 i=19; 101 } 102 if(digitalRead(18)==HIGH) 103 { 104 i=20; 105 } 106 if(digitalRead(19)==HIGH) 107 { 108 i=21; 109 } 110 if(digitalRead(20)==HIGH) 111 { 112 i=22; 113 } 114 if(digitalRead(21)==HIGH) 115 { 116 i=23; 117 } 118 119 120 121 122 123 leds[i] = CRGB::Red; 124 FastLED.show(); 125 delay(500); 126 127 leds[i] = CRGB::Black; 128 FastLED.show(); 129 delay(500); 130 131 132 133 134 135}
Downloadable files
Elektronic Circuit
Elektronic Circuit

Comments
Only logged in users can leave comments