Laporan Akhir 2




Laporan Akhir 2 Modul 1
Percobaan 5

1. Prosedur
[Kembali]

1. Rangkai rangkaian sesuai dengan modul praktikum.
2. Tulis program untuk arduino di software Arduino IDE.
3. Sambungkan arduino dengan laptop
4. Upload program tadi ke arduino 
5. Setelah program selesai di upload, jalankan simulasi rangkaian
6. Periksa apakah rangkaian sensuai dengan yang diharapkan, jika tidak, perbaiki rangkaian dan/atau program yang terkait

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Arduino



2. Switch SPDT




3. LED




4. Resistor




5. Ground



Diagram Blok:




3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :



Prinsip Kerja :

Rangkaian di atas adalah rangkaian percobaan 5 yang digunakan untuk mengendalikan seven segment. Rangkaian di atas merupakan sebuah program untuk mengendalikan sebuah display tujuh segmen bersamaan dengan dua digit pemilih yang terhubung ke mikrokontroler Arduino. Pada setup awal, dilakukan inisialisasi untuk menentukan pin mana yang akan digunakan untuk mengontrol masing-masing segmen LED, digit pemilih, dan juga tombol pengontrol. Selanjutnya, dalam loop utama program, dilakukan pembacaan nilai dari tombol pengontrol yang terhubung ke pin analog. Nilai pembacaan ini digunakan untuk menentukan mode operasi yang akan dijalankan. Misalnya, saat nilai pembacaan adalah 23, maka akan menyalakan digit pemilih pertama dan menampilkan angka 1 pada display tujuh segmen, kemudian dilakukan pergantian antara digit pemilih pertama dan kedua dengan delay yang telah ditentukan. Hal ini dilakukan berulang terus menerus hingga ada perubahan nilai pada tombol pengontrol yang akan mengubah mode operasi yang dijalankan oleh program.
 
4. Flowchart dan Listing Program [Kembali]

Flowchart :







Listing Program :

//M1P5
#define a 6
#define b 7
#define c 8
#define d 9
#define e 10
#define f 11
#define g 12
#define dp 13
#define D1 4
#define D2 5
#define Dsw A0
/*39
32
26 27
19
*/
int segments[] = {a,b,c,d,e,f,g};
byte digitPatterns[10][7] = {
{0, 0, 0, 0, 0, 0, 1}, // 0
{1, 0, 0, 1, 1, 1, 1}, // 1
{0, 0, 1, 0, 0, 1, 0}, // 2
{0, 0, 0, 0, 1, 1, 0}, // 3
{1, 0, 0, 1, 1, 0, 0}, // 4
{0, 1, 0, 0, 1, 0, 0}, // 5
{0, 1, 0, 0, 0, 0, 0}, // 6
{0, 0, 0, 1, 1, 1, 1}, // 7
{0, 0, 0, 0, 0, 0, 0}, // 8
{0, 0, 0, 0, 1, 0, 0}  // 9
};
void setup() {
// put your setup code here, to run once:
for (int i = 0; i < 7; i++) {
pinMode(segments[i], OUTPUT);
}
pinMode(dp,OUTPUT);
pinMode(D1,OUTPUT);
pinMode(D2,OUTPUT);
pinMode(Dsw,INPUT_PULLUP);
Serial.begin(9600);
}
void number (int display) {
if (display >= 0 && display <= 9) {
for (int i = 0; i < 7; i++) {
digitalWrite(segments[i], digitPatterns[display ][i]);
}
}
}
void loop() {
int sw = analogRead(Dsw);
Serial.print("ADC Value = ");
Serial.println(sw);
delay(100);
if(sw == 23){
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(0);
delay(50);
}
else if(sw == 22){
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(0);
delay(1000);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(1);
delay(1000);
}else if(sw == 21){
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(0);
delay(1000);
number(1);
delay(1000);
number(2);
delay(1000);
number(3);
delay(1000);
number(4);
delay(1000);
number(5);
delay(1000);
number(6);
delay(1000);
number(7);
delay(1000);
number(8);
delay(1000);
number(9);
delay(1000);
}else if(sw == 19){
digitalWrite(D1,HIGH);
digitalWrite(D2,HIGH);
number(0);
delay(1000);
number(1);
delay(1000);
number(2);
delay(1000);
number(3);
delay(1000);
number(4);
delay(1000);
number(5);
delay(1000);
number(6);
delay(1000);
number(7);
delay(1000);
number(8);
delay(1000);
number(9);
delay(1000);
}else if(sw == 16){
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(0);
delay(500);
number(1);
delay(500);
number(2);
delay(500);
number(3);
delay(500);
number(4);
delay(500);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(5);
delay(500);
number(6);
delay(500);
number(7);
delay(500);
number(8);
delay(500);
number(9);
delay(500);
}else if(sw == 13){
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delayMicroseconds (500);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(0);
delayMicroseconds (500);
}else if(sw == 10){
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(9);
delay(500);
number(8);
delay(500);
number(7);
delay(500);
number(6);
delay(500);
number(5);
delay(500);
number(4);
delay(500);
number(3);
delay(500);
number(2);
delay(500);
number(1);
delay(500);
number(0);
delay(500);
}else if(sw == 5){
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(0);
delay(50);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(1);
delay(50);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(2);
delay(50);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(3);
delay(50);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(4);
delay(50);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(5);
delay(50);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(6);
delay(50);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(7);
delay(50);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(8);
delay(50);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(1);
delay(50);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(9);
delay(50);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(2);
}
}
}5. Kondisi [Kembali]

Percobaan 
Rangkaian Dipswitch dan Seven Segment (sesuai modul)

6. Video Demo [Kembali]






7. Download File [Kembali]

Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Button klik disini



















BAHAN PRESENTASI MATA KULIAH JURUSAN TEKNIK ELEKTRO