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
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 Microcontroller, Pada 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.
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 tersebut merupakan gambar schematic dan layout dari SISMIN yang digunakan untuk menggambar dan membuat jalur di PCB (printer circuit board).
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.
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.
0 Orang Menyukai Karya Ini