AI Assistant
Detail Karya Portofolio

Dimas Ramadhani Ario Prayitno Oleh: Dimas Ramadhani Ario Prayitno

Ringkasan Portofolio

Portofolio berikut merupakan hasil pengalaman penulis terhadap objek rangkaian sistem minimum yang di implementasikan pada output-nya yaitu lampu seven segment dalam bentuk auotomatisasi dengan mekanisme peng-codingan dengan langkah-langkah pembuatan yang sudah tertera di penjelasan

Deskripsi & Detail Proyek

SISTEM MINIMUM

APA ITU SISMIN?

SISMIN adalah sebuah rangkaian yang dibuat untuk membantu proses kerja dari suatu Microcontroller, SISMIN merupakan singkatan dari sistem minimum di dalamnya terdapat komponen – komponen untuk membantu proses kerja rangkaian, di dalamnya harus memiliki dua bagian aspek penting, yaitu bagian Power Supply yang berfungsi untuk menerima arus dan tegangan yang masuk ke SISMIN  dan  Crystal Oscillator yang berfungsi untuk meriset suatu program yang telah di masukan ke dalam MicrocontrollerPada sebuah SISMIN terdapat beberapa sub-rangkaian yaitu  Power Supply, Osilator, ISP (in-System Programmable), Rangkaian reset.

SISMIN dirancang dengan bentuk seminimum mungkin agar dapat memberikan nilai praktis kepada penggunanya, mengingat penggunaan SISMIN biasanya di hubungkan atau di sambungkan ke perangkat lain, yang kemudian bisa maka dari itu SISMIN dibentuk dengan demikian, SISMIN memiliki 4 sub-rangkaian, di antaranya yaitu, Power Supply, Osilator, ISP (in-System Programmable), sub-rangkaian SISMIN tersebut akan dibahas di bagian sub-rangakaian SISMIN.

APA ITU SUB-RANGKAIAN SISMIN?

Sub-Rangkaian SISMIN adalah rangkaian kecil yang sengaja dibuat untuk kemudian di gabungkan dengan sub-rangkaian lainya sehingga membentuk suatu satu kesatuan rangkaian yang dapat digunakan. 4 SUB-RANGKAIAN tersebut adalah :

1. Power Supply Dalam dunia elektronika fungsi dari Power Supply memiliki nilai sensitifitas yang cukup besar karena sebagai sumber tegangan. SISMIN pada Microcontroller beroperasi pada tegangan 5 volt. Biasanya pembuatan Power Supply Microcontroller menggunakan IC regulator 7805 atau AMS 1117 agar tegangannya bisa stabil.

2. Kristal Osilator (Pembangkit Frekuensi) Microcontroller memiliki sifat seperti umumnya manusia, Jika manusia memiliki jantung untuk bisa hidup, maka pada Microcontroller terdapat osilator yang berfungsi sebagai "jantung" untuk dapat beroperasi. Microcontroller sendiri sudah memiliki osilator internal yaitu sebesar 8Mhz tetapi kadang kala agar kinerja Microcontroller lebih cepat osilator internal tidak bisa menangani kasus tersebut. Oleh karena itu dibutuhkan osilator eksternal (kristal) yang nilainya lebih dari 8Mhz. Perlu diperhatikan Microcontroller hanya bisa beroperasi sampai 16 Mhz.

3.ISP (In-System Programmable) Sistem Minimum Microcontroller dibuat untuk di program. Prinsipnya Microcontroller bisa diprogram secara parallel atau secara seri. Pemrograman Microcontroller secara seri atau lebih dikenal dengan ISP tidak perlu memerlukan banyak jalur data. Tapi ISP memiliki kelemahan, jika salah setting fuse bit yang memiliki fungsi vital misal pin reset di disable maka sudah tidak bisa digunakan lagi. Untuk mengembalikan settingan fuse bit tadi, harus menggunakan pemrograman tipe parallel (high voltage programming).

4. Reset Rangkaian reset sama fungsinya dengan rangkaian reset pada komputer. Fungsi reset di Microcontroller yaitu untuk me-restart program, sehingga kembali ke program awal. Penggunaan reset pada Microcontroller opsional, bisa di pakai atau tidak tergantung oleh pengguna.

GAMBAR RANGKAIAN SISMIN

Gambar tersebut merupakan gambar schematic dan layout dari SISMIN yang digunakan untuk menggambar dan membuat jalur di PCB (printer circuit board).

Gambar Schematic

Gambar Layout 

FLOWCHART

Flowchart atau bagan alur adalah diagram yang menampilkan langkah-langkah dan keputusan untuk melakukan sebuah proses dari suatu program. Setiap langkah digambarkan dalam bentuk diagram dan dihubungkan dengan garis atau arah panah.flowchart berperan penting dalam memutuskan sebuah langkah atau fungsionalitas dari sebuah proyek pembuatan program yang melibatkan banyak orang sekaligus.

LANGKAH KERJA

  1. Pertama kita akan masuk ke proses siapkan Alat dan bahan dan bahan yang akan digunakan, alat dan bahan yang di perlukan
  2. Pertama kita akan masuk ke proses penyablonan, sebelum masuk ke proses penyablonan siapkan PCB, Layout, dan lotion untuk melepas tinta layout, serta pastikan pada permukaan PCB tidak ada minyak.
  3. Larutan PCB menggunakan larutan FeCL.
  4. Setelah proses pelarutan kemudian PCB di bor sesuai dengan pad yang tersedia di PCB.
  5. Setelah PCB siap kemudian di lakukan proses penyolderan dengan komponen smd di prioritaskan.
  6. Setelah komponen sudah terpasang dengan benar, selanjutnya adalah proses pengodingan, dengan software STM32cube IDE. 
  7. Berikut urutan codingan : 

int main (void)

{

  /* USER CODE BEGIN 1 */

           void clock(){

                           HAL_GPIO_WritePin(CLOCK_GPIO_Port, CLOCK_Pin, 0);

                           HAL_GPIO_WritePin(CLOCK_GPIO_Port, CLOCK_Pin, 1);

           }

           void load(){

                           HAL_GPIO_WritePin(LOAD_GPIO_Port, LOAD_Pin, 0);

                           HAL_GPIO_WritePin(LOAD_GPIO_Port, LOAD_Pin, 1);

           }

           void clear(){

                           HAL_GPIO_WritePin(CLEAR_GPIO_Port, CLEAR_Pin, 0);

                           HAL_GPIO_WritePin(CLEAR_GPIO_Port, CLEAR_Pin, 1);

           }

           void seven_segment(int a, int b, int c, int d, int e, int f, int g, int dot){

                           HAL_GPIO_WritePin(DATA_GPIO_Port, DATA_Pin, dot);

                           clock();

                           HAL_GPIO_WritePin(DATA_GPIO_Port, DATA_Pin, g);

                           clock();

                           HAL_GPIO_WritePin(DATA_GPIO_Port, DATA_Pin, f);

                           clock();

                           HAL_GPIO_WritePin(DATA_GPIO_Port, DATA_Pin, e);

                           clock();

                           HAL_GPIO_WritePin(DATA_GPIO_Port, DATA_Pin, d);

                           clock();

                           HAL_GPIO_WritePin(DATA_GPIO_Port, DATA_Pin, c);

                           clock();

                           HAL_GPIO_WritePin(DATA_GPIO_Port, DATA_Pin, b);

                           clock();

                           HAL_GPIO_WritePin(DATA_GPIO_Port, DATA_Pin, a);

                           clock();

                           load();

           }

           void tampil_angka(int angka){

                           if (angka == 0){

                                           seven_segment(1, 1, 1, 1, 1, 1, 0, 0);

                           }

                           if (angka == 1){

                                           seven_segment(0, 1, 1, 0, 0, 0, 0, 0);

                           }

                           if (angka == 2){

                                           seven_segment(1, 1, 0, 1, 1, 0, 1, 0);

                           }

                           if (angka == 4){

                                           seven_segment(1, 1, 1, 0, 0, 1, 0, 0);

                           }

                           if (angka == 5){

                                           seven_segment(1, 0, 1, 1, 0, 1, 1, 0);

                           }

                           if (angka == 6){

                                           seven_segment(1, 0, 1, 1, 1, 1, 1, 0);

                           }

                           if (angka == 7){

                                           seven_segment(1, 1, 1, 0, 0, 0, 0, 0);

                           }

                           if (angka == 8){

                                           seven_segment(1, 1, 1, 1, 1, 1, 1, 0);

                           }

                           if (angka == 9){

                                           seven_segment(1, 1, 1, 1, 0, 1, 1, 0);

                           }

           }

           void seg(int HL1, int HL2, int HL3, int HL4){

                           HAL_GPIO_WritePin(SEG1_GPIO_Port, SEG1_Pin, HL1);

                           HAL_GPIO_WritePin(SEG2_GPIO_Port, SEG2_Pin, HL2);

                           HAL_GPIO_WritePin(SEG3_GPIO_Port, SEG3_Pin, HL3);

                           HAL_GPIO_WritePin(SEG4_GPIO_Port, SEG4_Pin, HL4);

           }

8. Setelah coding di masukan maka STM akan menerima pertintah dari program tersebut sehingga jika kita memprogram seven segment, maka seven segment itu akan menjadi output dari pemograman yang telah di coding.

9.