Bismillahirrahmanirrahim
Assalamu’alaikum warahmatullahi wabarakatuh
Pada Project-Project sebelumnya telah saya jelaskan seputar Seven Segmet, mulai dari Seven Segment – Counter 0 sampai 9, Seven Segment – Counter Down, Seven Segment – Counter Up dan Seven Segment – Counter Up & Down. Dan untuk pertemuan sekarang saya akan mencoba Project Score Broard Dengan Seven Segment Menggunakan Arduino UNO.
Project Score Board ini saya akan menggunakan pin 2 sampai 9 pada Arduino UNO sebagai Output dan untuk pin 13 dan 12 sebagai input pada Arduino UNO. Pada pin 13 berfungsi untuk menambah score di Seven Segment dan pin 12 berfungsi untuk Restart Score di Seven Segment. dan untuk lebih lanjutnya saya akan menjelaskan mulai dari hardware, software dan cara kerjanya, agar para pembaca dapat mengerti dengan apa yang saya sampaikan. Aamiin.
Alat dan Bahan
- 1 Buah Seven Segmen (Common Anode)
- 2 Buah Push Button
- 3 Buah Resistor 220Ω (Ohm) “untuk resistor di push button, dapat up to 1KΩ (Ohm)”
- Kabel Jumper secukupnya
- 1 Buah Protoboard
- 1 Buah Arduino
Rangkaian Score Broard Dengan Seven Segment Menggunakan Arduino UNO
Sketch Score Broard Dengan Seven Segment Menggunakan Arduino UNO
Sketch Program :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | int A = 2; int B = 3; int C = 4; int D = 6; int DP = 5; int E = 7; int F = 8; int G = 9; int switchUpPin = 13; int switchDownPin = 12; int counter = 0; int counter0 = 0; int buttonUpState = 0; int lastButtonUpState = 0; int buttonDownState = 0; int lastButtonDownState = 0; void setup() { Serial.begin(9600); pinMode(A, OUTPUT); pinMode(B, OUTPUT); pinMode(C, OUTPUT); pinMode(D, OUTPUT); pinMode(E, OUTPUT); pinMode(F, OUTPUT); pinMode(G, OUTPUT); pinMode(DP, OUTPUT); digitalWrite(DP ,HIGH); } void loop() { buttonUpState = digitalRead(switchUpPin); buttonDownState = digitalRead(switchDownPin); if (buttonUpState != lastButtonUpState) { if (buttonUpState == HIGH) { if(counter == 9) { counter = -1; } counter++; Serial.println(counter); changeNumber(counter); delay(300); } else { Serial.println("OFF"); } delay(50); } if (buttonDownState == HIGH) { counter*=counter0; digitalWrite(A, LOW); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, LOW); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, HIGH); delay (100); } else { Serial.println("OFF"); delay(100); } delay(50); } void changeNumber(int buttonPress) { switch (buttonPress) { //number 0 case 0: digitalWrite(A, LOW); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, LOW); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, HIGH); break; //number 1 case 1: digitalWrite(A, HIGH); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, HIGH); digitalWrite(E, HIGH); digitalWrite(F, HIGH); digitalWrite(G, HIGH); break; //number 2 case 2: digitalWrite(A, LOW); digitalWrite(B, LOW); digitalWrite(C, HIGH); digitalWrite(D, LOW); digitalWrite(E, LOW); digitalWrite(F, HIGH); digitalWrite(G, LOW); break; //number 3 case 3: digitalWrite(A, LOW); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, LOW); digitalWrite(E, HIGH); digitalWrite(F, HIGH); digitalWrite(G, LOW); break; //number 4 case 4: digitalWrite(A, HIGH); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, HIGH); digitalWrite(E, HIGH); digitalWrite(F, LOW); digitalWrite(G, LOW); break; //number 5 case 5: digitalWrite(A, LOW); digitalWrite(B, HIGH); digitalWrite(C, LOW); digitalWrite(D, LOW); digitalWrite(E, HIGH); digitalWrite(F, LOW); digitalWrite(G, LOW); break; //number 6 case 6: digitalWrite(A, LOW); digitalWrite(B, HIGH); digitalWrite(C, LOW); digitalWrite(D, LOW); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, LOW); break; //number 7 case 7: digitalWrite(A, LOW); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, HIGH); digitalWrite(E, HIGH); digitalWrite(F, HIGH); digitalWrite(G, HIGH); break; //number 8 case 8: digitalWrite(A, LOW); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, LOW); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, LOW); break; //number 9 case 9: digitalWrite(A, LOW); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, LOW); digitalWrite(E, HIGH); digitalWrite(F, LOW); digitalWrite(G, LOW); break; } } |
Keterangan :
- Fungsi void setup () dalam sebuah program arduino adalah semua perintah yang akan di baca sekali.
- Fungsi void loop () dalam sebuah program arduino adalah semua perintah yang akan di baca berulang-ulang.
Demo Video Score Broard Dengan Seven Segment Menggunakan Arduino UNO
[youtube https://www.youtube.com/watch?v=40n_ouoPL-s&w=1280&h=720]
Saya harap blog ini dapat bermanfaat, dan apabila ada pertanyaan jangan malu untuk bertanya.
Terimakasih.
Wassalamu’alaikum warahmatullahi wabarakatuh.
Artikel Terkait