Anda di halaman 1dari 13

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

5. Program
- counter up 0-9

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 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);

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);

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, 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;

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 7 Segmen Pada Arduino Secara Online.

Pada setiap menaikkan angka menggunakan pushbutton untuk counter up maka programnya  
void loop()

buttonUpState = digitalRead(switchUpPin);

if (buttonUpState != lastButtonUpState)

if (buttonUpState == HIGH)

if(counter == 9)

counter = -1;

counter++;

Serial.println(counter);

changeNumber(counter);

sehingga angka nya menjadi berubah ketika setiap case yang sudah di buat yaitu 0-9.

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
- buttonUpState = digitalRead(switchUpPin); digunakan untuk membaca
pushbutton sebagai counter up pada 7 segment.
- High merupakan menyala pada segment .
- Low merupakan off nya bagian pada segment .

Anda mungkin juga menyukai