Tutorial Arduino mengakses Switch
Bahan yang perlu disiapkan antara lain:
Arduino Uno
Komputer + Software IDE Arduino
Switch tipe push button NO
LED
2 Resistor : 220 Ω & 10 KΩ
Bread board
Kabel jumper
//Mengontrol LED dengan penekanan push button
const int PIN_2 = 2;
const int PIN_13 = 13;
void setup () {
pinMode (PIN_2, INPUT); //Deklareasi nama alias PIN_2 sebagai inputan
pinMode (PIN_13, OUTPUT); //Deklarasi nama alias PIN_13 sebagai outputa
}
void loop() {
int kondisiPB = digitalRead(PIN_2);
if (kondisiPB == HIGH) //kondisi jika pushbutton ditekan
digitalWrite(PIN_13, HIGH);
else digitalWrite(PIN_13, LOW);
delay (1000);
}
Memahami Sketch program
1. int kondisiPB = digitalRead(PIN_1); > merupakan pembacaan kondisi push
1
button yang dimana dipasang sebagai pull up (cek disini resistor), apabila
ditekan akan aktif berlogika HIGH atau 1, sedangkan kondisi normal
berlogika LOW atau o
2. Pernyataan kondisi “if” yang menentukan output ke LED
if (kondisiPB == HIGH)
digitalWrite(PIN_13, HIGH);
else
digitalWrite(PIN_13, LOW);
Yang artinya apabila kondisiPB berlogika HIGH maka output di PIN_13
berlogika HIGH juga yang dimana akan ditandai dengan nyalanya LED,
sedangkan jika berlogika LOW maka output di PIN_13 juga berlogika LOW
juga
#іnсludе <Buttоn.h>
#dеfіnе BUTTON_PIN 2
#dеfіnе PULLUP truе
#dеfіnе INVERT truе
#dеfіnе DEBOUNCE_MS 20
#dеfіnе LED_PIN 13
Buttоn mуBtn(BUTTON_PIN, PULLUP, INVERT, DEBOUNCE_MS);
bооlеаn lеdStаtе;
vоіd ѕеtuр(vоіd)
{
ріnMоdе(LED_PIN, OUTPUT);
}
vоіd lоор(vоіd)
{
mуBtn.rеаd();
іf (mуBtn.wаѕRеlеаѕеd()) { //If thе buttоn wаѕ rеlеаѕеd, сhаngе thе LED ѕtаtе
lеdStаtе = !lеdStаtе;
dіgіtаlWrіtе(LED_PIN, lеdStаtе);
}
}
Program diatas hampir sama dengan kondisi tutorial kedua, apabila ditekan
sekali led builtin menyala, ditekan kedua led mati.
2
int button= 2;
int nilaitombol;
int count;
int led= 13;
void setup(){
pinMode(button, INPUT);
pinMode(led, OUTPUT);
}
void loop(){
nilaitombol= digitalRead(button);
if(nilaitombol == 1){
count++;
delay(300);
if(count==1){
digitalWrite(led, HIGH);
}
if(count==2){
digitalWrite(led, LOW);
count=0;
}
}
}
const int pinLED = 7;
const int pinButton = 9;
void setup() {
pinMode(pinLED, OUTPUT);
pinMode(pinButton, INPUT_PULLUP);
}
void loop() {
if(digitalRead(pinButton) == LOW){
digitalWrite(pinLED, HIGH);
}else{
digitalWrite(pinLED, LOW);
}
}
const int pinLED = 7;
const int pinButton = 9;
int buttonPower;
int oldButton = 0;
int state = 0;
void setup() {
pinMode(pinLED, OUTPUT);
pinMode(pinButton, INPUT_PULLUP);
}
void loop() {
buttonPower = digitalRead(pinButton);
3
if(!buttonPower && !oldButton){
if(state == 0){
digitalWrite(pinLED, HIGH);
state = 1;
}else{
digitalWrite(pinLED, LOW);
state = 0;
}
oldButton = 1;
}else if(buttonPower && oldButton){
oldButton = 0;
}
}
4
LCD 16×2 (Liquid Crystal Display) merupakan modul penampil data yang
mepergunakan kristal cair sebagai bahan untuk penampil data yang berupa
tulisan maupun gambar. Pengaplikasian pada kehidupan sehari – hari yang
mudah dijumpai antara lain pada kalkulator, gamebot, televisi, atau pun layar
komputer.
Jenis dari perangkat ini ada yang dan pada postingan ini akan dibahas
tentang Tutorial Arduino mengakses LCD 16×2 dengan mudah, dimana
mudah didapatkan ditoko elektronik terdekat.
Spesifikasi dari LCD 16×2
Adapun fitur – fitur yang tersedia antara lain
Terdiri dari 16 kolom dan 2 baris
Dilengkapi dengan back light
Mempunyai 192 karakter tersimpan
Dapat dialamati dengan mode 4-bit dan 8-bit
Terdapat karakter generator terprogram
Pin – pin LCD 16×2 dan keterangannya
Keterangan :
1. GND : catu daya 0Vdc
2. VCC : catu daya positif
3. Constrate : untuk kontras tulisan pada LCD
4. RS atau Register Select :
High : untuk mengirim data
5
Low : untuk mengirim instruksi
5. R/W atau Read/Write
High : mengirim data
Low : mengirim instruksi
Disambungkan dengan LOW untuk pengiriman data ke layar
6. E (enable) : untuk mengontrol ke LCD ketika bernilai LOW, LCD tidak
dapat diakses
7. D0 – D7 = Data Bus 0 – 7
8. Backlight + : disambungkan ke VCC untuk menyalakan lampu latar
9. Backlight – : disambungkan ke GND untuk menyalakan lampu latar
Tutorial Pertama
Bahan yang perlu dipersiapkan untuk Tutorial Arduino akses LCD 16×2
antara lain :
Arduino Uno
Komputer + Software IDE Arduino
LCD 16×2
Potensiometer
Kabel Jumper
Koding pemrograman
Kode pemrograman
1
2
3 /* --- [Link] --- */
4
5 #include <LiquidCrystal.h> //mengincludekan library LCD
6
7 //untuk urutannya RS, E, 4, 5, 6, 7
8 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //pin yang disambungkan antara arduino dengan
9 LCD
1
0 void setup()
1 {
1 //prosedur pemanggilan fungsi LCD
1 [Link](16, 2);//16 = Baris, 2 = kolom
2 }
1
3 void loop() {
1 [Link](00,00); //set pada baris 1 dan kolom 1
4 [Link]("[Link]"); //menuliskan "[Link]"
1 [Link](00,1);//set pada baris 2 dan kolom 1
5 [Link]("Tutorial LCD16x2");
1 delay(3000); //waktu tunda 3 detik
6 [Link]();
1
6
7 //Tampilan kedua
1 [Link](00,00); //set pada baris 1 dan kolom 1
8 [Link]("Hallo Dunia!"); //menuliskan "Hallo Dunia"
1 [Link](00,1); //set pada baris 2 dan kolom 1
9 [Link]("coba coba ya");
2 delay(3000); //waktu tunda 3 detik
0 [Link]();
2 }
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
Hasil dari program diatas :
Program kedua autoscroll
7
1
2
3 /* [Link] */
4
5 #include <LiquidCrystal.h> //mengincludekan library LCD
6
7 //untuk urutannya RS, E, 4, 5, 6, 7
8 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //pin yang disambungkan antara arduino dengan
9 LCD
1
0 void setup() {
1 [Link]();
1 //prosedur pemanggilan fungsi LCD
1 [Link](16, 2); //16 = Baris, 2 = kolom
2 }
1
3 void loop() {
1 [Link](00, 00);//set pada baris 1 dan kolom 1
4 [Link]("[Link]");
1 delay(1000);//waktu jeda 1 detik
5 for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
1 [Link]();
6 delay(250);
1 }
7 delay (1000);
1 for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
8 [Link]();
1 delay(250);
9 }
2 delay (1000); //waktu jeda 1 detik
0 [Link](00, 1); //set pada baris 2 dan kolom 1
2 [Link]("salam ilmu!");
1 delay(1000);
2 [Link]();
2 }
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
8
3
3
4
3
5
Hasil dari program diatas :
Cara mengakses 7segment
menggunakan Arduino Uno
On 15 August 2017 In Arduino Projects Tutorial, Module Arduino Leave a comment
Penjelasan Singkat
7segment adalah salah satu komponen elektronika yang bentuk seperti balok
yang berfungsi sebagai penampil karakter angka dan karakter huruf tertentu.
9
Secara umum aplikasi penggunaaan 7Segment misalnya digunakan pada
kalkulator, jam digital, multimeter digital counter digital, serta penunjuk display
lainnya.
Prinsip kerja dari komponen yaitu memanfaatkan nyala matinya LED pada
setiap bagian untuk membentuk suatu karakter tertentu dan angka. Selain itu
pada komponen itu terdapat dot / titik dibagian samping kanan bawah.
Contoh nyata aplikasi komponen ini dalam kehidupan sehari – hari yaitu
penggunaan pada Lift memakai 7-Segment untuk menunjukan lantai berapa
yang akan dituju.
Jenis dari 7segment
Terdapat 2 tipe, tertampil pada seperti gambar dibawah ini :
a. 7-Segment tipe Katoda (Common Cathode)
Pada tipe ini, kaki katoda dari LED-nya terkoneksi menjadi satu kesatuan, dan
kaki anoda-nya akan difungsikan menjadi input-an data untuk penyalaan
setiap segmennya.
Kaki katoda LED merupakan terminal negatif / Gnd dan Control Signal / signal
kendali merupakan kaki pin anoda a-g.
b. 7-Segment tipe Anoda (Common Anode)
Pada tipe ini, kaki anoda dari LED-nya terkoneksi menjadi satu kesatuan,dan
kaki cathoda-nya akan difungsikan menjadi input-an data untuk penyalaan
setiap segmennya.
10
Kaki katoda LED merupakan terminal negatif / Gnd dan Control Signal / signal
kendali merupakan kaki pin anoda a-g.
Tutorial cara mengakses 7Segment (via simulasi
Proteus)
Tutorial pertama yang sederhana untuk menampilkan angka dari 0 – 9.
seperti gambar dibawah ini:
Percobaan untuk pembuktian tabel kebenaran, bahan yang perlu
dipersiapkan antara lain :
Komputer + proteus
7-segment tipe anoda (Library Proteus)
Logic Toggle (Library Proteus)
11
Dari gambar dapat dilihat perbedaan antara 7-segment cathoda dan 7-
segment anoda melihat dari tabel kebenaran.
Tutorial Cara mengakses 7Segment menggunakan
Arduino Uno
Bahan yang perlu dipersiapkan antara lain :
Arduino Uno
Komputer + Software IDE Arduino
7-segment tipe katoda
Kabel Jumper
Baca juga : Cara mengakses Module Wireless nRF24L01+
menggunakan Arduino
Skema rangkaian antara arduino dengan 7segment
12
untuk koding pemrogramannya
Kode Pemrograman
13
1
2
3 /* --- [Link] --- */
4
5 const byte numeral[11]={
6 B11111100, //untuk angka 0
7 B01100000, //untuk angka 1
8 B11011010, //untuk angka 2
9 B11110010, //untuk angka 3
10B01100110, //untuk angka 4
11B10110110, //untuk angka 5
12B00111110, //untuk angka 6
13B11100000, //untuk angka 7
14B11111110, //untuk angka 8
15B11100110, //untuk angka 9
16B00000000, //tanpa menampilkan apapun
17};
18
19//inisialisasi pin yang digunakan
20const int segmentPins[8]= { 2,11,10,5,4,3,8,9 }; //dp,g,f,e,d,c,b,a
21
22void setup(){
23for (int i=0; i < 8; i++){
24pinMode(segmentPins[i], OUTPUT);
25}}
26
27void loop(){
28for (int i=0; i <=10; i++){
29tunjukanAngka(i);
30delay(1000);
31}
32delay(2000); }
33
34void tunjukanAngka (int number){
35boolean isBitSet;
36for (int segment=1; segment < 8; segment++){
37isBitSet= bitRead(numeral[number], segment);
38digitalWrite(segmentPins[segment], isBitSet); }
39}
40
Pada program diatas akan menunjukan angka 0 – 9 secara bergantian
dengan jeda 2 detik.
Tutorial Lanjutan cara mengakses module 7Segment
Bahan yang perlu dipersiapkan
Arduino Uno
Komputer + Software IDE Arduino
Modul 7-segment
Kabel Jumper
Gambar dari modul 7segment (modul TM1637)
14
Skema rangkaian
7 Segment atau Seven Segment
Adalah display LED yang terdiri dari 7 segment led yang disusun sedemikian
rupa sehingga dapat menampilkan angka 0-9 dan huruf-huruf tertentu. 7
segment juga ada yang dilengkapi dengan display titik yang biasanya
digunakan sebagai pelengkap display angka.
Gambar Kaki-kaki 7 (Seven) Segment Common Catoda atau Common Anoda
1 Digit
Sesuai dengan titik common atau titik hubungnya 7 segment terdiri dari 7
segment common catoda dan 7 segment common anoda.
7segment common catoda merupakan 7 segment dengan titik sambung pada
bagian catoda atau negatif pada setiap segmentnya sehingga titik sambung
15
ini harus disambungkan dibagian ground atau negatif tegangan sumber dari 7
segment.
Sedangkan 7 segment common anoda merupakan 7 segment dengan titik
sambung bagian anoda pada setiap segmentnya sehingga
penyambungannya harus dibagian positif sumber tegangan 7 segment.
Rangkaian Arduino Uno dan Display 7 Segment 1 Digit
Sebelum menuju program atau sketch arduino uno untuk menyalakan 7
segment alangkah baiknya jika kita mengetahui gambar rangkaiannya, agar
kita mudah dalam memahaminya. Berikut gambar rangkaian yang saya buat
dengan software proteus.
Rangkaian di atas terdiri dari :
1. Arduino Uno
2. 7 Segment 1 digit common Anoda
Penjelasan singkat : Dalam rangkaian di atas secara berurutan pin digital
arduino uno pin 4 sampai pin 10 sebagai kendali segment a-g pada
7segment, sedangkan pin 11 sebagai control display titik pada 7 segment.
Titik common pada 7 segment di sambungkan pada tegangan 5 volt.
16
BACA JUGA
Contoh Program Jam Digital Arduino Uno Tanpa RTC
Contoh Program Jam Digital Arduino Uno Sederhana 7 Segment
Mengukur Suhu Dengan Sensor LM35 Dan Arduino Uno
Program Arduino Uno 7 Segment Common Anoda 1 Digit
Beberapa contoh program arduino dengan 7 segment 1 digit akan saya tulis
di bawah ini. Hal ini sebagai catatan atau contoh sederhana saja.
Contoh Program Arduino Menyalakan Semua Display
Contoh sketch atau program arduino untuk 7 segment 1 digit berikut ini akan
menampilkan angka 8 dan titik, sehingga semua LED akan menyala. Berikut
ini adalah program sederhananya.
//Menyalakan led 7 segment common anoda
//[Link]
void setup() {
pinMode(4,OUTPUT); //inisialisasi pin 4 sebagai output a
pinMode(5,OUTPUT); //inisialisasi pin 4 sebagai output b
pinMode(6,OUTPUT); //inisialisasi pin 4 sebagai output c
pinMode(7,OUTPUT); //inisialisasi pin 4 sebagai output d
pinMode(8,OUTPUT); //inisialisasi pin 4 sebagai output e
pinMode(9,OUTPUT); //inisialisasi pin 4 sebagai output f
pinMode(10,OUTPUT); //inisialisasi pin 4 sebagai output g
pinMode(11,OUTPUT); //inisialisasi pin 4 sebagai output titik
}
void loop() {
//angka 8
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
}
Contoh Program Arduino Up Counter Display 7 Segment 1 Digit
//Menyalakan led 7 segment common anoda up counter
//[Link]
void setup() {
pinMode(4,OUTPUT); //inisialisasi pin 4 sebagai output
pinMode(5,OUTPUT); //inisialisasi pin 4 sebagai output
17
pinMode(6,OUTPUT); //inisialisasi pin 4 sebagai output
pinMode(7,OUTPUT); //inisialisasi pin 4 sebagai output
pinMode(8,OUTPUT); //inisialisasi pin 4 sebagai output
pinMode(9,OUTPUT); //inisialisasi pin 4 sebagai output
pinMode(10,OUTPUT); //inisialisasi pin 4 sebagai output
pinMode(11,OUTPUT);
}
void loop() {
//angka 0
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
//tunda 1detik
delay(1000);
//angka 1
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
//tunda 1detik
delay(1000);
//angka 2
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
//tunda 1detik
delay(1000);
//angka 3
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
18
digitalWrite(11,LOW);
//tunda 1detik
delay(1000);
//angka 4
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
//tunda 1detik
delay(1000);
//angka 5
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
//tunda 1detik
delay(1000);
//angka 6
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
//tunda 1detik
delay(1000);
//angka 7
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
//tunda 1detik
delay(1000);
//angka 8
digitalWrite(4,LOW);
digitalWrite(5,LOW);
19
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
//tunda 1detik
delay(1000);
//angka 9
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
//tunda 1detik
delay(1000);
}
Dalam program di atas display 7 segment akan menghitung dari 0 sampai 9
dan kembali lagi ke 0 serta terus berulang dengan waktu tunda display setiap
angka selama 1 detik.
20
Cara Menggunakan 4 Digit Seven
Segment
Post author:Putu Artha
Post published:March 14, 2020
Post category:Arduino / Elektronika
Post comments:0 Comments
Reading time:17 mins read
21
Halo sobat netizen kali ini saya akan membahas bagaimana cara menggunakan 4
Digit Seven Segment pada Arduino untuk menampilkan Angka di setiap digitnya,
Nah 4 digit Seven Segmen ini sedikit berbeda dengan yang 1 digit karena yang 1
digit penggunaanya sedikit lebih mudah.
Seven Segmen pada dasarnya dibagi menjadi 2 Jenis Yaitu Common Anode dan
Common Cathode untuk Penjelasanya akan saya terangkan di artikel berikutnya
Saat ini saya menggunakan 4 Digit Seven Segmen Common Anode yang artinya
digit pada segmen akan menyala apabila diberi nilai LOW.
Penampakan 4 Digit Seven Segmen
Rangkaian yang terdapat di dalam 4 Digit Seven Segmen
22
Rangkaian 4 Digit Seven Segmen sudah di persingkat seperti rangkaian di atas dan
sistem kerjanya berbeda sedikit dengan 1 digit Seven Segmen dikarenakan apabila
kita menyusun seven segmen 1 digit sebanyak 4 unit maka pinnya pasti banyak
sekali mana muat di Arduinonya.
Seperti gambar di atas Digit Segmen Pin 1 Berada di sisi paling kiri dari gambar di
ikuti dengan Digit Segmen Pin 2 dan seterusnya.
Nah untuk menyalakan setiap digit segment di bawah kita perlu mengetahui urutan
LED yang tertanam di Segmen dari A,B,C,D,E,F,G, dan DP (Decimal Point). Berikut
saya sertakan illustrasi dari Seven Segmen dengan 1 digit
23
Nantinya setelah Digit 1 kita nyalakan dengan memberi nilai LOW maka kita tinggal
memberikan perintah lain yaitu untuk menampilkan Angka yang kita inginkan sesuai
dengan urutan dari Segmen (A,B,C,D,E,F,G).
Contohnya seperti ini jika kita ingin membuat angka sembilan maka kita harus
menyalakan seluruh segmen dari A-G dengan perintah seperti ini
void sembilan(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
24
untuk membuat angka sembilan pada segmen kita harus menyalakan pin A,B,C,F,G
dan mematikan pin D serta E, sehingga terbentuklah angka 9 sampai disini sobat
sudah paham kan ?
Untuk Gambar lengkap Pin Pada 4 digit Seven Segmen sobat bisa lihat melalui
gambar di bawah ini
25
26
Oke kita langsung saja mulai merangkai 4 Digit Seven Segmen ini, Pertama – tama
sobat rangkai seperti gambar di bawah ini
Rangkaian 4 Digit Seven Segmen dengan Arduino
27
28
29
Penjelasan Rangkaian
4 DIGIT SEVEN SEGMEN PIN 4 DIGIT SEVEN SEGMEN
Pin 1 E
Pin 2 D
Pin 3 Decimal Point (DP)
Pin 4 C
Pin 5 G
Pin 6 Digit 4
Pin 7 B
Pin 8 Digit 3
Pin 9 Digit 2
Pin 10 F
Pin 11 A
Pin 12 Digit 1
Setelah sobat merangkai seperti di atas, sobat coba masukan coding di bawah ini
untuk menampilkan angka 1-9 di 4 Digit Seven Segmen.
/*
This Code By Mr Leong
[Link]
Youtube Channel [Link]
*/
int pinA = 12; //pin A 7 Segment pada pin 12 Arduino
int pinB = 10; //pin B 7 Segment pada pin 10 Arduino
int pinC = 8; //pin C 7 Segment pada pin 8 Arduino
int pinD = 7; //pin D 7 Segment pada pin 7 Arduino
30
int pinE = 6; //pin E 7 Segment pada pin 6 Arduino
int pinF = 11; //pin F 7 Segment pada pin 11 Arduino
int pinG = 9; //pin G 7 Segment pada pin 9 Arduino
int D1 = 1; //pin Digit 1 7 Segment pada pin 1 Arduino
int D2 = 2; //pin Digit 2 7 Segment pada pin 2 Arduino
int D3 = 3; //pin Digit 3 7 Segment pada pin 3 Arduino
int D4 = 4; //pin Digit 4 7 Segment pada pin 4 Arduino
void setup() {
// Deklarasi Seluruh Pin Sebagai Output
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
31
pinMode(pinG, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(D4, OUTPUT);
// loop yang berarti program akan dijalankan secara terus menerus
void loop() {
//Silahkan Berexperimen pada kode di bawah ini
digitalWrite(D1, LOW); //pin Digit 1 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D2, LOW); //pin Digit 2 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D3, LOW); //pin Digit 3 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D4, LOW); //pin Digit 4 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
32
//Masukan Nilai Disini
nol();
satu();
dua();
tiga();
empat();
lima();
enam();
tujuh();
delapan();
sembilan();
/* MEMBUAT ANGKA PADA SEGMEN (TINGGAL PILIH YANG MAU
DINYALAKAN)
33
A
---
F| |B
|G|
---
E| |C
| |
--- . dec
GAMBAR DI ATAS CONTOH 7 SEGMEN 1 DIGIT*/
//Pin 12 - DIGIT PERTAMA = ARDUINO PIN 1
//Pin 9 - DIGIT KEDUA = ARDUINO PIN 2
//Pin 8 - DIGIT KETIGA = ARDUINO 3
//Pin 6 - DIGIT KEEMPAT = ARDUINO PIN 4
34
void nol(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
delay(1000); // tunggu 1 detik
void satu(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
35
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
delay(1000); // wait for a second
void dua(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
delay(1000); // wait for a second
36
}
void tiga(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
delay(1000); // tunggu 1 detik
void empat(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
37
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
delay(1000); // tunggu 1 detik
void lima(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
38
delay(1000); // tunggu 1 detik
void enam(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
delay(1000); // tunggu 1 detik
void tujuh(){
digitalWrite(pinA, HIGH);
39
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
delay(1000); // tunggu 1 detik
void delapan(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
40
digitalWrite(pinG, HIGH);
delay(1000); // tunggu 1 detik
void sembilan(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
delay(1000); // tunggu 1 detik
Setelah itu sobat upload kode di atas menggunakan Arduino IDE ke Board Arduino
dan nanti hasilnya akan seperti video di bawah ini…
41
Nah sampai disni sobat sudah bisa menggunakan 4 Digit Seven Segmen dengan
Arduino untuk menampilkan Angka 1-9.
Untuk sobat yang pingin tahu caranya menampilkan angka yang berbeda di setiap
digit sobat langsung masukan coding di bawah ini dan rangkaian masih sama seperti
di atas.
/*
This Code By Mr Leong
[Link]
Youtube Channel [Link]
*/
int pinA = 12; //pin A 7 Segment pada pin 12 Arduino
42
int pinB = 10; //pin B 7 Segment pada pin 10 Arduino
int pinC = 8; //pin C 7 Segment pada pin 8 Arduino
int pinD = 7; //pin D 7 Segment pada pin 7 Arduino
int pinE = 6; //pin E 7 Segment pada pin 6 Arduino
int pinF = 11; //pin F 7 Segment pada pin 11 Arduino
int pinG = 9; //pin G 7 Segment pada pin 9 Arduino
int D1 = 1; //pin Digit 1 7 Segment pada pin 1 Arduino
int D2 = 2; //pin Digit 2 7 Segment pada pin 2 Arduino
int D3 = 3; //pin Digit 3 7 Segment pada pin 3 Arduino
int D4 = 4; //pin Digit 4 7 Segment pada pin 4 Arduino
void setup() {
// Deklarasi Seluruh Pin Sebagai Output
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
43
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(D4, OUTPUT);
// loop yang berarti program akan dijalankan secara terus menerus
void loop() {
//Silahkan Berexperimen pada kode di bawah ini
digitalWrite(D1, LOW); //pin Digit 1 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
44
digitalWrite(D2, HIGH); //pin Digit 2 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D3, HIGH); //pin Digit 3 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D4, HIGH); //pin Digit 4 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
//Masukan Nilai Disini
empat();
digitalWrite(D1, HIGH); //pin Digit 1 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D2, LOW); //pin Digit 2 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D3, HIGH); //pin Digit 3 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D4, HIGH); //pin Digit 4 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
dua();
digitalWrite(D1, HIGH); //pin Digit 1 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D2, HIGH); //pin Digit 2 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
45
digitalWrite(D3, LOW); //pin Digit 3 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D4, HIGH); //pin Digit 4 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
tiga();
digitalWrite(D1, HIGH); //pin Digit 1 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D2, HIGH); //pin Digit 2 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D3, HIGH); //pin Digit 3 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
digitalWrite(D4, LOW); //pin Digit 4 Jika LOW Maka digit Pertama akan
Menyala jika nilai HIGH maka digit 1 akan Mati
delapan();
/* MEMBUAT ANGKA PADA SEGMEN (TINGGAL PILIH YANG MAU
DINYALAKAN)
---
F| |B
46
|G|
---
E| |C
| |
--- . dec
GAMBAR DI ATAS CONTOH 7 SEGMEN 1 DIGIT*/
//Pin 12 - DIGIT PERTAMA = ARDUINO PIN 1
//Pin 9 - DIGIT KEDUA = ARDUINO PIN 2
//Pin 8 - DIGIT KETIGA = ARDUINO 3
//Pin 6 - DIGIT KEEMPAT = ARDUINO PIN 4
void nol(){
digitalWrite(pinA, HIGH);
47
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
delay(1); // milidetik
void satu(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
48
digitalWrite(pinG, LOW);
delay(1); // milidetik
void dua(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
delay(1); // milidetik
void tiga(){
49
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
delay(1); // milidetik
void empat(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
50
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
delay(1); // milidetik
void lima(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
delay(1); // milidetik
51
void enam(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
delay(1); // milidetik
void tujuh(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
52
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
delay(1); // milidetik
void delapan(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
delay(1); // milidetik
53
void sembilan(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
delay(1); // milidetik
54