SEVEN
SEGMENT COUNTER UP DAN COUNTER DOWN DENGAN PUSH BUTTON MENGGUNAKAN ARDUINO UNO
8. Program sudah selesai dan tidak ada kesalahan pada program yang sudah dibuat, maka langkah selanjutnya adalah hubungkan arduino dan computer dengan menngunakan USB.
9. Setelah arduino dan computer sudah terhubung, maka setelah itu atur port pada aplikasi arduino sesuai dengan nama USB yang terpasang
10. Upload program, jika proses upload sudah selesai maka pada bagian bawah akan muncul tulisan done uploading dan program akan mulai berjalan.
V. HASIL KERJA
A. Program
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 = 0;
}
counter++;
Serial.println(counter);
changeNumber(counter);
delay(300);
}
else
{
Serial.println("OFF");
}
delay(50);
}
if (buttonDownState != lastButtonDownState)
{
if (buttonDownState == HIGH)
{
if(counter == 0)
{
counter = 9;
}
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, 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;
}
}
B. Skematik
VI. KESELAMATAN KERJA
1. Mengenakan workpack saat sedang praktik
2. Menggunakan computer dengan semestinya sesuai dengan materi praktek
3. Tidak membawa makanan ataupun minuman ke ruangan praktek
4. Serius saat praktek
5. Mematikan computer saat sudah tidak dipakai / sudah selesai praktek
6. Merapikan kursi dan apapun yang digunakan untuk praktek setelah selesai praktek
7. Membersihkan ruangan praktek saat sudah selesai praktek
VII. KESIMPULAN
Klaten, 27 Januari 2017
Guru Pembimbing 1 Siswa
Y. Prasetya Adi N, S.Pd. Birgita Ayu Y P
Guru Pembimbing 2
F. Nanda
I. TUJUAN
1. Siswa dapat mengerti datasheet dari seven segment
2. Siswa dapat merangkai rangkaian menggunakan 1 seven segment dan 2 push button
3. Siswa dapat memprogram dengan menggunakan software arduino dan program yang diinginkan dapat berjalan
4. Siswa dapat mempelajari lebih banyak tentang pemrograman menggunakan software arduino dengan seven segment
II. ALAT DAN BAHAN
1. PC / komputer
2. 1 Buah Seven Segmen (Common Anode)
4. 3 Buah Resistor 220Ω (Ohm) “untuk resistor di push
button, dapat up to 1KΩ (Ohm)”
6. 1 Buah Protoboard
9. Kabel USB arduino uno
III. DESKRIPSI TUGAS
Siswa membuat rangkaian menggunakan 2 push button dan 1 seven segment dengan ketentuan push button pertama ditekan maka seven segment counter up 0 - 9, dan ketika push button kedua ditekan maka seven segment akan counter down 9-0.
IV. LANGKAH KERJA
1. Nyalakan PC / komputer
2. Siapkan alat dan bahan yang diperlukan untuk merangkai rangkaian di protoboard
3. Rangkai rangkaian pada protoboard dan board arduino UNO, seperti pada rangkaian dibawah ini :
4. Buka software Arduino UNO
5. Buat program pada software arduino
6. Jika sudah selesai membuat program, tekan verify program
7. Jika verify program sudah selesai dan tidak ada kesalahan pada program maka pada bagian bawah akan muncul tulisan "done compilling"
8. Program sudah selesai dan tidak ada kesalahan pada program yang sudah dibuat, maka langkah selanjutnya adalah hubungkan arduino dan computer dengan menngunakan USB.
9. Setelah arduino dan computer sudah terhubung, maka setelah itu atur port pada aplikasi arduino sesuai dengan nama USB yang terpasang
10. Upload program, jika proses upload sudah selesai maka pada bagian bawah akan muncul tulisan done uploading dan program akan mulai berjalan.
V. HASIL KERJA
A. Program
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 = 0;
}
counter++;
Serial.println(counter);
changeNumber(counter);
delay(300);
}
else
{
Serial.println("OFF");
}
delay(50);
}
if (buttonDownState != lastButtonDownState)
{
if (buttonDownState == HIGH)
{
if(counter == 0)
{
counter = 9;
}
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, 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;
}
}
B. Skematik
VI. KESELAMATAN KERJA
1. Mengenakan workpack saat sedang praktik
2. Menggunakan computer dengan semestinya sesuai dengan materi praktek
3. Tidak membawa makanan ataupun minuman ke ruangan praktek
4. Serius saat praktek
5. Mematikan computer saat sudah tidak dipakai / sudah selesai praktek
6. Merapikan kursi dan apapun yang digunakan untuk praktek setelah selesai praktek
7. Membersihkan ruangan praktek saat sudah selesai praktek
VII. KESIMPULAN
Praktek
kali ini tentang memprograman seven segment dengan counter up dan counter down,
awalnya agak membingungkan karena ini masuk dalam materi baru, namun lama
kelamaan menjadi lebih megerti dan akhirnya dapat menyelesaikan tugas yang
telah diberikan. Semoga pada praktek – praktek selanjutnya saya menjadi lebih
paham lagi tentang pemrograman seven segment with arduino.
Klaten, 27 Januari 2017
Guru Pembimbing 1 Siswa
Y. Prasetya Adi N, S.Pd. Birgita Ayu Y P
Guru Pembimbing 2
F. Nanda