Anda di halaman 1dari 10

Percobaan ke 9

7 Segmen Pada Arduino Secara Online

1. Tujuan
a. Pemanfaatkan fungsi 7 segmen pada Arduino sebagai output suatu karakter
b. Membuat Program sederhana menggunakan 7 segmen.

2. Alat dan Bahan


a. PC/Laptop
b. Jaringan Internet
c. Software online : https://www.tinkercad.com/

3. Prosedur
a. Silakan daftar dan login di https://www.tinkercad.com/
b. Pilih menu “Circuits” di sisi sebelah kiri layar
c. Setelah itu klik “Create new Circuit”
d. Klik pada bagian “Components” dan silakan pilih “Arduino”
e. Pada bagian ini, banyak terdapat simulasi Arduino dengan berbagai macam proyek yang sudah
dimodifikasi dan lengkap dengan programnya.
f. Pada saat ini mencoba membuat program yaitu :
- Counter Up 0 – 9
- Counter Up 0 – 99 (menggunakan 2 buah segmen)
- Karakter a,b,C,d,E dan F.
g. Untuk melihat programnya yang sudah ada, silakan klik “Code”. Ada tiga pilihan yaitu :
- Blocks  Menampilkan bagian blok atau pin yang sedang digunakan
- Blocks + Text  Menampilkan bagian blok atau pin yang sedang digunakan dan text dari program
Arduino.
- Text  Menampilkan text dari program Arduino saja.
h. Untuk menjalankan program ini dengan mengklik “Start Simulation”. (Untuk mengembalikan ke
gambar Arduino, silakan klik “Code”.
i. Untuk lampu LED dan komponen resistor bisa diganti dan diubah sesuai kebutuhan dengan mengklik
bagian “Component/Starters”.
4. Gambar Rangkaian
Counter up 0-9 :

Counter up 0-99 :
5. Program
Counter up 0-9 :
const int a=3;
const int b=4;
const int c=5;
const int d=6;
const int e=7;
const int f=8;
const int g=9;
const int buttonPin = 10;
int count = 0;
int buttonState = 0;
int lastButtonState = 0;

void setup() {

pinMode(buttonPin, INPUT);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState)
{
if (buttonState == HIGH) {
count++;
}

else {
}
}
lastButtonState = buttonState;

switch(count)
{
case 0:
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
break;

case 1:
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
break;
case 2:
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
break;
case 3:
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
break;
case 4:
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
break;

case 5:
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
break;
case 6:
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
break;

case 7:
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
break;

case 8:
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
break;
case 9:
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
break;
default: count=0; break; } }

Counter up 0-99 :
int a = 6;
int b = 7;
int c = 9;
int d = 10;
int e = 11;
int f = 5;
int g = 4;

int transistors[] = {13, 12};

int leftCounter = 0;
int rightCounter = 0;
int arr[][7] = {
{0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 1, 1, 1, 1},
{0, 0, 1, 0, 0, 1, 0},
{0, 0, 0, 0, 1, 1, 0},
{1, 0, 0, 1, 1, 0, 0},
{0, 1, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0}
};

void setup()
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(transistors[0], OUTPUT);
pinMode(transistors[1], OUTPUT);
}

void loop() {
RakamYaz(leftCounter, rightCounter);
delay(1000);
rightCounter++;
if (rightCounter > 9){
rightCounter = 0;

leftCounter++;
if(leftCounter > 9)
leftCounter = 0;
}

}
void RakamYaz(int left, int right)
{
digitalWrite(transistors[0], HIGH);
digitalWrite(transistors[1], LOW);
write(right);
delay(100);

digitalWrite(transistors[0], LOW);
digitalWrite(transistors[1], HIGH);
write(left);
}
void write(int i){
digitalWrite(a, arr[i][0]);
digitalWrite(b, arr[i][1]);
digitalWrite(c, arr[i][2]);
digitalWrite(d, arr[i][3]);
digitalWrite(e, arr[i][4]);
digitalWrite(f, arr[i][5]);
digitalWrite(g, arr[i][6]);
}
6. Analisa
Pada praktikum kali ini yaitu melakukan atau mencoba simulasi pada Arduino secara online.
Simulasi secara online ini dilakukan pada aplikasi https://www.tinkercad.com/. simulasi dan programnya
yaitu Menampilkan - Counter Up 0 – 9 ;- Counter Up 0 – 99 (menggunakan 2 buah segmen) ;- Karakter
a,b,C,d,E dan F.
Fungsi-fungsi yang digunakan untuk program pada percobaan ini masih sama dengan
percobaan sebelumnya. Yaitu, voidsetup(), digunakan untuk inisialisasi program, dan fungsi ini hanya
dijalankan sekali yaitu ketika program pertama kali dijalankan. fungsi loop() akan dijalankan terus
menerus hingga Arduino dimatikan. Tanda {} untuk mendefinisikan kapan blok program mulai dan
berakhir dan digunakan pengulangan. Fungsi delay digunakan untuk memberikan waktu berhenti untuk
sekian milidetik dari kondisi mati ataupun hidup.
Pada praktikum ini juga ada beberapa fungsi-fungsi bawaan yang langsung ada dan bisa juga kita
modifikasi sendiri dikarenakan adanya 7 segment yang dipakai sebagai output dan tampilan dari
Arduino.

7. Kesimpulan
Setelah didapati hasil analisa. Maka, didapati kesimpulan yaitu sebagai berikut:
- Void setup() digunakan untuk inisialisasi program yang hanya dijalankan sekali ketika program
pertama kali dijalankan
- Void loop() merupakan inti dari program yang didalamnya terdapat fungsi HIGH dan LOW
- Void setup(), void loop(), ataupun delay merupakan fungsi-fungsi inti dari program arduino
- Program yang dibuat sangat penting, sehingga menentukan hasil akhir dari tampilan Arduino
- Dikarenakan percobaan kali menggunakan 7 segment sebagai output, maka program yang
digunakan juga disesuaikan sebagaimananya

Anda mungkin juga menyukai