Bismillahirrahmanirrahim
Assalamu’alaikum warahmatullahi wabarakatuh
Pada kesempatan ini saya akan membuat project Seven Segment Counter Down Dengan Push Button Menggunakan Arduino UNO. Disini saya akan menggunakan pin 2 sampai 9 sebagai output dan pin 13 sebagai input pada Arduino UNO untuk Menyalakan Seven Segment. Serta saya akan menjelaskan mulai dari hardware dan software serta cara kerjanya, agar para pembaca dapat mengerti dengan apa yang saya sampaikan. Aamiin.
Alat dan Bahan
- 1 Buah Seven Segmen (Common Anode)
- 1 Buah Push Button
- 2 Buah Resistor 220Ω (Ohm) “untuk resistor di push button, dapat up to 1KΩ (Ohm)”
- Kabel Jumper secukupnya
- 1 Buah Protoboard
- 1 Buah Arduino
Rangkaian Seven Segment Counter Down Dengan Push Button Menggunakan Arduino UNO
Sketch Seven Segment Counter Down Dengan Push Button 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 | //Pengaturan hardware Seven Segment pins int A = 2; int B = 3; int C = 4; int D = 6; int DP = 5; int E = 7; int F = 8; int G = 9; //pemberian status untuk push buttons pins, push buttons states, dan counter int switchDownPin = 13; int counter = 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() { //mulai dengan menggunakan push button buttonDownState = digitalRead(switchDownPin); //melakukan proses pengurangan pada Seven Segment ketika button yang di tekan if (buttonDownState != lastButtonDownState) { if (buttonDownState == HIGH) { if(counter == 0) { counter = 10; } counter--; Serial.println(counter); changeNumber(counter); delay(300); } else { Serial.println("OFF"); } delay(50); } changeNumber(counter); } //tampilan led seven segment ketika aktif. 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 :
- Fungsivoid setup () dalam sebuah program arduino adalah semua perintah yang akan di baca sekali.
- Fungsivoid loop () dalam sebuah program arduino adalah semua perintah yang akan di baca berulang-ulang.
Demo – Video Seven Segment Counter Down Dengan Push Button Menggunakan Arduino UNO
[youtube https://www.youtube.com/watch?v=FP4AKPLXZlU&w=1280&h=720]
Terimakasih, saya harap blog ini dapat bermanfaat, dan apabila ada pertanyaan jangan malu untuk bertanya
Wassalamu’alaikum warahmatullahi wabarakatuh
Artikel Terkait