Components and supplies
Resistor 1k ohm
Touch Sensor
7 Segment LED Display, Red
Breadboard Connectors
Jumper wires (generic)
Breadboard (generic)
Arduino UNO
Apps and platforms
Arduino IDE
Project description
Code
Code for 7-Segment Display Common Cathode
arduino
This is the code for a common cathode type 7-Segment Display
1/* 2 * This program simulates a die by generating a random number between 3 4 * 1-6. The electronic die can 5 * be used with some board games that require a 6 die to play. 7 * A touch sensor is interfaced with arduino, and on every touch, 8 9 * a random number between 1-6 is generated and 10 * displayed on a 7-segment LED. 11 12 * This program is made by Shreyas for 13 * Electronics Champ YouTube Channel. 14 15 * Please subscribe to this channel 16 * Thank You 17 */ 18 19int seg_a = 11; 20int 21 seg_b = 10; 22int seg_c = 9; 23int seg_d = 8; 24int seg_e = 7; 25int seg_f = 26 6; 27int seg_g = 5; 28int sensor = 3; 29int i = 0; //initialise 30 the variables 31 32void setup() { 33//segments a-g are the individual segments 34 in the 7-segment display 35 pinMode(seg_a,OUTPUT); 36 pinMode(seg_b,OUTPUT); 37 38 pinMode(seg_c,OUTPUT); 39 pinMode(seg_d,OUTPUT); 40 pinMode(seg_e,OUTPUT); 41 42 pinMode(seg_f,OUTPUT); 43 pinMode(seg_g,OUTPUT); 44 45 while(digitalRead(sensor) 46 == LOW){ 47 pattern(); //function to display a pattern on the 7-segment LED 48 49 } 50 51 randomSeed(analogRead(A0)); //Read from unconnected analog pin 52 A0 53 54} 55 56void loop() { 57 58 if(digitalRead(sensor) == HIGH){ //If 59 the sensor is touched 60 61 i = random(1, 7); //Chooses a random number 62 between 1 and 6 63 for(int pat=0; pat<=2;pat++){ 64 pattern(); 65 } 66 67 68 sevenSeg(); 69 70 } 71 72} 73 74void sevenSeg(){ 75//lights 76 up the corresponding LED segments in the 7-segment LED display 77 78 if(i == 79 1){ 80 digitalWrite(seg_a,LOW); 81 digitalWrite(seg_b,HIGH); 82 digitalWrite(seg_c,HIGH); 83 84 digitalWrite(seg_d,LOW); 85 digitalWrite(seg_e,LOW); 86 digitalWrite(seg_f,LOW); 87 88 digitalWrite(seg_g,LOW); 89 delay(20); //Digit 90 1 91 } 92 else if(i == 2){ 93 digitalWrite(seg_a,HIGH); 94 digitalWrite(seg_b,HIGH); 95 96 digitalWrite(seg_c,LOW); 97 digitalWrite(seg_d,HIGH); 98 digitalWrite(seg_e,HIGH); 99 100 digitalWrite(seg_f,LOW); 101 digitalWrite(seg_g,HIGH); 102 delay(20); //Digit 103 2 104 } 105 else if(i == 3){ 106 digitalWrite(seg_a,HIGH); 107 digitalWrite(seg_b,HIGH); 108 109 digitalWrite(seg_c,HIGH); 110 digitalWrite(seg_d,HIGH); 111 digitalWrite(seg_e,LOW); 112 113 digitalWrite(seg_f,LOW); 114 digitalWrite(seg_g,HIGH); 115 delay(20); //Digit 116 3 117 } 118 else if(i == 4){ 119 digitalWrite(seg_a,LOW); 120 digitalWrite(seg_b,HIGH); 121 122 digitalWrite(seg_c,HIGH); 123 digitalWrite(seg_d,LOW); 124 digitalWrite(seg_e,LOW); 125 126 digitalWrite(seg_f,HIGH); 127 digitalWrite(seg_g,HIGH); 128 delay(20); //Digit 129 4 130 } 131 else if(i == 5){ 132 digitalWrite(seg_a,HIGH); 133 digitalWrite(seg_b,LOW); 134 135 digitalWrite(seg_c,HIGH); 136 digitalWrite(seg_d,HIGH); 137 digitalWrite(seg_e,LOW); 138 139 digitalWrite(seg_f,HIGH); 140 digitalWrite(seg_g,HIGH); 141 delay(20); //Digit 142 5 143 } 144 else if(i == 6){ 145 digitalWrite(seg_a,HIGH); 146 digitalWrite(seg_b,LOW); 147 148 digitalWrite(seg_c,HIGH); 149 digitalWrite(seg_d,HIGH); 150 digitalWrite(seg_e,HIGH); 151 152 digitalWrite(seg_f,HIGH); 153 digitalWrite(seg_g,HIGH); 154 delay(20); //Digit 155 6 156 } 157} 158 159void pattern(){ //This displays a moving pattern 160 161 162 digitalWrite(seg_a,HIGH); 163 digitalWrite(seg_b,LOW); 164 digitalWrite(seg_c,LOW); 165 166 digitalWrite(seg_d,LOW); 167 digitalWrite(seg_e,LOW); 168 digitalWrite(seg_f,LOW); 169 170 digitalWrite(seg_g,LOW); 171 delay(100); 172 173 digitalWrite(seg_a,LOW); 174 175 digitalWrite(seg_b,HIGH); 176 digitalWrite(seg_c,LOW); 177 digitalWrite(seg_d,LOW); 178 179 digitalWrite(seg_e,LOW); 180 digitalWrite(seg_f,LOW); 181 digitalWrite(seg_g,LOW); 182 183 delay(100); 184 185 digitalWrite(seg_a,LOW); 186 digitalWrite(seg_b,LOW); 187 188 digitalWrite(seg_c,HIGH); 189 digitalWrite(seg_d,LOW); 190 digitalWrite(seg_e,LOW); 191 192 digitalWrite(seg_f,LOW); 193 digitalWrite(seg_g,LOW); 194 delay(100); 195 196 197 digitalWrite(seg_a,LOW); 198 digitalWrite(seg_b,LOW); 199 digitalWrite(seg_c,LOW); 200 201 digitalWrite(seg_d,HIGH); 202 digitalWrite(seg_e,LOW); 203 digitalWrite(seg_f,LOW); 204 205 digitalWrite(seg_g,LOW); 206 delay(100); 207 208 digitalWrite(seg_a,LOW); 209 210 digitalWrite(seg_b,LOW); 211 digitalWrite(seg_c,LOW); 212 digitalWrite(seg_d,LOW); 213 214 digitalWrite(seg_e,HIGH); 215 digitalWrite(seg_f,LOW); 216 digitalWrite(seg_g,LOW); 217 218 delay(100); 219 220 digitalWrite(seg_a,LOW); 221 digitalWrite(seg_b,LOW); 222 223 digitalWrite(seg_c,LOW); 224 digitalWrite(seg_d,LOW); 225 digitalWrite(seg_e,LOW); 226 227 digitalWrite(seg_f,HIGH); 228 digitalWrite(seg_g,LOW); 229 delay(100); 230} 231 232
Code for 7-Segment Display Common Cathode
arduino
This is the code for a common cathode type 7-Segment Display
1/* 2 * This program simulates a die by generating a random number between 3 * 1-6. The electronic die can 4 * be used with some board games that require a die to play. 5 * A touch sensor is interfaced with arduino, and on every touch, 6 * a random number between 1-6 is generated and 7 * displayed on a 7-segment LED. 8 * This program is made by Shreyas for 9 * Electronics Champ YouTube Channel. 10 * Please subscribe to this channel 11 * Thank You 12 */ 13 14int seg_a = 11; 15int seg_b = 10; 16int seg_c = 9; 17int seg_d = 8; 18int seg_e = 7; 19int seg_f = 6; 20int seg_g = 5; 21int sensor = 3; 22int i = 0; //initialise the variables 23 24void setup() { 25//segments a-g are the individual segments in the 7-segment display 26 pinMode(seg_a,OUTPUT); 27 pinMode(seg_b,OUTPUT); 28 pinMode(seg_c,OUTPUT); 29 pinMode(seg_d,OUTPUT); 30 pinMode(seg_e,OUTPUT); 31 pinMode(seg_f,OUTPUT); 32 pinMode(seg_g,OUTPUT); 33 34 while(digitalRead(sensor) == LOW){ 35 pattern(); //function to display a pattern on the 7-segment LED 36 } 37 38 randomSeed(analogRead(A0)); //Read from unconnected analog pin A0 39 40} 41 42void loop() { 43 44 if(digitalRead(sensor) == HIGH){ //If the sensor is touched 45 46 i = random(1, 7); //Chooses a random number between 1 and 6 47 for(int pat=0; pat<=2;pat++){ 48 pattern(); 49 } 50 51 sevenSeg(); 52 53 } 54 55} 56 57void sevenSeg(){ 58//lights up the corresponding LED segments in the 7-segment LED display 59 60 if(i == 1){ 61 digitalWrite(seg_a,LOW); 62 digitalWrite(seg_b,HIGH); 63 digitalWrite(seg_c,HIGH); 64 digitalWrite(seg_d,LOW); 65 digitalWrite(seg_e,LOW); 66 digitalWrite(seg_f,LOW); 67 digitalWrite(seg_g,LOW); 68 delay(20); //Digit 1 69 } 70 else if(i == 2){ 71 digitalWrite(seg_a,HIGH); 72 digitalWrite(seg_b,HIGH); 73 digitalWrite(seg_c,LOW); 74 digitalWrite(seg_d,HIGH); 75 digitalWrite(seg_e,HIGH); 76 digitalWrite(seg_f,LOW); 77 digitalWrite(seg_g,HIGH); 78 delay(20); //Digit 2 79 } 80 else if(i == 3){ 81 digitalWrite(seg_a,HIGH); 82 digitalWrite(seg_b,HIGH); 83 digitalWrite(seg_c,HIGH); 84 digitalWrite(seg_d,HIGH); 85 digitalWrite(seg_e,LOW); 86 digitalWrite(seg_f,LOW); 87 digitalWrite(seg_g,HIGH); 88 delay(20); //Digit 3 89 } 90 else if(i == 4){ 91 digitalWrite(seg_a,LOW); 92 digitalWrite(seg_b,HIGH); 93 digitalWrite(seg_c,HIGH); 94 digitalWrite(seg_d,LOW); 95 digitalWrite(seg_e,LOW); 96 digitalWrite(seg_f,HIGH); 97 digitalWrite(seg_g,HIGH); 98 delay(20); //Digit 4 99 } 100 else if(i == 5){ 101 digitalWrite(seg_a,HIGH); 102 digitalWrite(seg_b,LOW); 103 digitalWrite(seg_c,HIGH); 104 digitalWrite(seg_d,HIGH); 105 digitalWrite(seg_e,LOW); 106 digitalWrite(seg_f,HIGH); 107 digitalWrite(seg_g,HIGH); 108 delay(20); //Digit 5 109 } 110 else if(i == 6){ 111 digitalWrite(seg_a,HIGH); 112 digitalWrite(seg_b,LOW); 113 digitalWrite(seg_c,HIGH); 114 digitalWrite(seg_d,HIGH); 115 digitalWrite(seg_e,HIGH); 116 digitalWrite(seg_f,HIGH); 117 digitalWrite(seg_g,HIGH); 118 delay(20); //Digit 6 119 } 120} 121 122void pattern(){ //This displays a moving pattern 123 124 digitalWrite(seg_a,HIGH); 125 digitalWrite(seg_b,LOW); 126 digitalWrite(seg_c,LOW); 127 digitalWrite(seg_d,LOW); 128 digitalWrite(seg_e,LOW); 129 digitalWrite(seg_f,LOW); 130 digitalWrite(seg_g,LOW); 131 delay(100); 132 133 digitalWrite(seg_a,LOW); 134 digitalWrite(seg_b,HIGH); 135 digitalWrite(seg_c,LOW); 136 digitalWrite(seg_d,LOW); 137 digitalWrite(seg_e,LOW); 138 digitalWrite(seg_f,LOW); 139 digitalWrite(seg_g,LOW); 140 delay(100); 141 142 digitalWrite(seg_a,LOW); 143 digitalWrite(seg_b,LOW); 144 digitalWrite(seg_c,HIGH); 145 digitalWrite(seg_d,LOW); 146 digitalWrite(seg_e,LOW); 147 digitalWrite(seg_f,LOW); 148 digitalWrite(seg_g,LOW); 149 delay(100); 150 151 digitalWrite(seg_a,LOW); 152 digitalWrite(seg_b,LOW); 153 digitalWrite(seg_c,LOW); 154 digitalWrite(seg_d,HIGH); 155 digitalWrite(seg_e,LOW); 156 digitalWrite(seg_f,LOW); 157 digitalWrite(seg_g,LOW); 158 delay(100); 159 160 digitalWrite(seg_a,LOW); 161 digitalWrite(seg_b,LOW); 162 digitalWrite(seg_c,LOW); 163 digitalWrite(seg_d,LOW); 164 digitalWrite(seg_e,HIGH); 165 digitalWrite(seg_f,LOW); 166 digitalWrite(seg_g,LOW); 167 delay(100); 168 169 digitalWrite(seg_a,LOW); 170 digitalWrite(seg_b,LOW); 171 digitalWrite(seg_c,LOW); 172 digitalWrite(seg_d,LOW); 173 digitalWrite(seg_e,LOW); 174 digitalWrite(seg_f,HIGH); 175 digitalWrite(seg_g,LOW); 176 delay(100); 177} 178 179
Code for 7-Segment Display Common Anode
arduino
This is the code for a common anode type 7-Segment Display
1/* 2 * This program simulates a die by generating a random number between 3 * 1-6. The electronic die can 4 * be used with some board games that require a die to play. 5 * A touch sensor is interfaced with arduino, and on every touch, 6 * a random number between 1-6 is generated and 7 * displayed on a 7-segment LED. 8 * This program is made by Shreyas for 9 * Electronics Champ YouTube Channel. 10 * Please subscribe to this channel 11 * Thank You 12 */ 13 14int seg_a = 11; 15int seg_b = 10; 16int seg_c = 9; 17int seg_d = 8; 18int seg_e = 7; 19int seg_f = 6; 20int seg_g = 5; 21int sensor = 3; 22int i = 0; //initialise the variables 23 24void setup() { 25//segments a-g are the individual segments in the 7-segment display 26 pinMode(seg_a,OUTPUT); 27 pinMode(seg_b,OUTPUT); 28 pinMode(seg_c,OUTPUT); 29 pinMode(seg_d,OUTPUT); 30 pinMode(seg_e,OUTPUT); 31 pinMode(seg_f,OUTPUT); 32 pinMode(seg_g,OUTPUT); 33 34 while(digitalRead(sensor) == LOW){ 35 pattern(); //function to display a pattern on the 7-segment LED 36 } 37 38 randomSeed(analogRead(A0)); //Read from unconnected analog pin A0 39 40} 41 42void loop() { 43 44 if(digitalRead(sensor) == HIGH){ //If the sensor is touched 45 46 i = random(1, 7); //Chooses a random number between 1 and 6 47 for(int pat=0; pat<=2;pat++){ 48 pattern(); 49 } 50 51 sevenSeg(); 52 53 } 54 55} 56 57void sevenSeg(){ 58//lights up the corresponding LED segments in the 7-segment LED display 59 60 if(i == 1){ 61 digitalWrite(seg_a,HIGH); 62 digitalWrite(seg_b,LOW); 63 digitalWrite(seg_c,LOW); 64 digitalWrite(seg_d,HIGH); 65 digitalWrite(seg_e,HIGH); 66 digitalWrite(seg_f,HIGH); 67 digitalWrite(seg_g,HIGH); 68 delay(20); //Digit 1 69 } 70 else if(i == 2){ 71 digitalWrite(seg_a,LOW); 72 digitalWrite(seg_b,LOW); 73 digitalWrite(seg_c,HIGH); 74 digitalWrite(seg_d,LOW); 75 digitalWrite(seg_e,LOW); 76 digitalWrite(seg_f,HIGH); 77 digitalWrite(seg_g,LOW); 78 delay(20); //Digit 2 79 } 80 else if(i == 3){ 81 digitalWrite(seg_a,LOW); 82 digitalWrite(seg_b,LOW); 83 digitalWrite(seg_c,LOW); 84 digitalWrite(seg_d,LOW); 85 digitalWrite(seg_e,HIGH); 86 digitalWrite(seg_f,HIGH); 87 digitalWrite(seg_g,LOW); 88 delay(20); //Digit 3 89 } 90 else if(i == 4){ 91 digitalWrite(seg_a,HIGH); 92 digitalWrite(seg_b,LOW); 93 digitalWrite(seg_c,LOW); 94 digitalWrite(seg_d,HIGH); 95 digitalWrite(seg_e,HIGH); 96 digitalWrite(seg_f,LOW); 97 digitalWrite(seg_g,LOW); 98 delay(20); //Digit 4 99 } 100 else if(i == 5){ 101 digitalWrite(seg_a,LOW); 102 digitalWrite(seg_b,HIGH); 103 digitalWrite(seg_c,LOW); 104 digitalWrite(seg_d,LOW); 105 digitalWrite(seg_e,HIGH); 106 digitalWrite(seg_f,LOW); 107 digitalWrite(seg_g,LOW); 108 delay(20); //Digit 5 109 } 110 else if(i == 6){ 111 digitalWrite(seg_a,LOW); 112 digitalWrite(seg_b,HIGH); 113 digitalWrite(seg_c,LOW); 114 digitalWrite(seg_d,LOW); 115 digitalWrite(seg_e,LOW); 116 digitalWrite(seg_f,LOW); 117 digitalWrite(seg_g,LOW); 118 delay(20); //Digit 6 119 } 120} 121 122void pattern(){ //This displays a moving pattern 123 124 digitalWrite(seg_a,LOW); 125 digitalWrite(seg_b,HIGH); 126 digitalWrite(seg_c,HIGH); 127 digitalWrite(seg_d,HIGH); 128 digitalWrite(seg_e,HIGH); 129 digitalWrite(seg_f,HIGH); 130 digitalWrite(seg_g,HIGH); 131 delay(100); 132 133 digitalWrite(seg_a,HIGH); 134 digitalWrite(seg_b,LOW); 135 digitalWrite(seg_c,HIGH); 136 digitalWrite(seg_d,HIGH); 137 digitalWrite(seg_e,HIGH); 138 digitalWrite(seg_f,HIGH); 139 digitalWrite(seg_g,HIGH); 140 delay(100); 141 142 digitalWrite(seg_a,HIGH); 143 digitalWrite(seg_b,HIGH); 144 digitalWrite(seg_c,LOW); 145 digitalWrite(seg_d,HIGH); 146 digitalWrite(seg_e,HIGH); 147 digitalWrite(seg_f,HIGH); 148 digitalWrite(seg_g,HIGH); 149 delay(100); 150 151 digitalWrite(seg_a,HIGH); 152 digitalWrite(seg_b,HIGH); 153 digitalWrite(seg_c,HIGH); 154 digitalWrite(seg_d,LOW); 155 digitalWrite(seg_e,HIGH); 156 digitalWrite(seg_f,HIGH); 157 digitalWrite(seg_g,HIGH); 158 delay(100); 159 160 digitalWrite(seg_a,HIGH); 161 digitalWrite(seg_b,HIGH); 162 digitalWrite(seg_c,HIGH); 163 digitalWrite(seg_d,HIGH); 164 digitalWrite(seg_e,LOW); 165 digitalWrite(seg_f,HIGH); 166 digitalWrite(seg_g,HIGH); 167 delay(100); 168 169 digitalWrite(seg_a,HIGH); 170 digitalWrite(seg_b,HIGH); 171 digitalWrite(seg_c,HIGH); 172 digitalWrite(seg_d,HIGH); 173 digitalWrite(seg_e,HIGH); 174 digitalWrite(seg_f,LOW); 175 digitalWrite(seg_g,HIGH); 176 delay(100); 177} 178
Downloadable files
Schematic
Schematic
Schematic
Schematic
Comments
Only logged in users can leave comments