Smart Chessboard - Reed Switch System
It will show you the ways the pawn can move. Or if you move with Knight, it will draw you an "L". So you will never forget
Components and supplies
1
WS2812 Addressable LED Strip
1
Reed Switch, SPST-NO
1
Arduino Mega 2560
Tools and machines
1
PCB Holder, Soldering Iron
1
Solder Wire, Lead Free
1
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