1. Tujuan
a. Agar siswa mampu mempelajari seven segment secara menyeluruh
b. Agar siswa mampu merangkai rangkaian seven segment
c. Agar siswa mampu mengobservasi dan memecahkan masalah ketika proses perangkaian
d. Agar siswa mampu membuat program seven segment secara benar
2. Deskripsi Tugas
1. Mengobservasi dan mempelajari apa itu seven segment
2. Merangkai rangkaian sevent segment menggunakan Arduino UNO
3. Alat dan Bahan
1 buah seven segment
2 buah resistor 10K ohm
1 buah resistor 330 ohm
2 buah switch
1 buah Arduino UNO
pc dan software ARDUINO IDE untuk membuat program
4. Cara Kerja
1. Mencari informasi tentang seven segment di-internet yaitu dari website:
http://www.warriornux.com/seven-segment-counter-up-dan-down-dengan-push-button-menggunakan-arduino-uno/
http://www.instructables.com/id/Seven-Segment-Display-Tutorial/?ALLSTEPS
2. Rankailah rangkaian seven segment seperti berikut:
3. Buatlah program seven segment menggunakan software Arduino IDE seperti berikut
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 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 != 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);
}
void changeNumber(int buttonPress)
{
switch (buttonPress)
{
//number 0
case 0:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
break;
//number 1
case 1:
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
break;
//number 2
case 2:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
break;
//number 3
case 3:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
break;
//number 4
case 4:
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
//number 5
case 5:
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
//number 6
case 6:
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
//number 7
case 7:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
break;
//number 8
case 8:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
//number 9
case 9:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
}
}
4. Cek kembali apakah rangkaian dan program yang anda buat telah benar
5. Verify dan Upload program jika telah benar dan sesuai dengan keinginan
5. Hasil Kerja
6. Keselamatan Kerja
1. Mengecek kelengkapan komponen
2. Mengecek apakah seven segment berfungsi dengan baik atau tidak
3. Berhati-hati saat merangkai komponen
4. Tidak bertindak ceroboh
7. Kesimpulan
Dari praktek hari ini, dapat disimpulkan bahwa rangkaian seven segment adalah sebuah rangkaian led yang mampu membentuk sejumlah bilangan angka. Kami mengobservasi dan mempelajari rangkaian sevent segment dengan teliti agar kami mampu mengerti cara kerja alat ini dan mampu merangkai alat ini dengan benar.
(Nb; thanks to http://www.warriornux.com/seven-segment-counter-up-dan-down-dengan-push-button-menggunakan-arduino-uno/)
Guru pengampu Klaten, 25 Januari 2017
Pembuat
Prastya Adi Ananda Ap.
0 komentar:
Posting Komentar