Blogger Widgets Abdurrahman Fadhillah (Ikhwan Polsri)

Selasa, 19 Mei 2015

TUGAS INTERFACE 1

Rangkaian Downloader


Assalamualaikum, Selamat Pagi, Siang, dan Sore Kawan, Kali ini saya akan berbagi sedikit Info tentang Pembuatan Ranggkaian DOWNLOADER, Berikut adalah Langkah - langkah membuat Downloader, lets Cekidot....

  LANGKAH-LANGKAH MEMBUAT DOWNLOADER :


SYARAT MEMBUAT DOWNLOADER USB :
1. Mempunyai alat solder.
2. Mempunyai komputer/laptop.
3. Ada komputer yang ada parallel portnya untuk mendownload mikro master.
4. Mempunyai PCB.
5. Mempunyai IC ATMEGA8.
6. Mempunyai minimum system ATMEGA 8.
7. Mempunyai kristal 12 MHz.
8. Mempunyai kapasitor 22Pf.
9. Mempunyai konektor USB dan kabel USB.
10. Mempunyai soket IC 14pin 2 buah.
11. Mempunyai resistor 10k, 68ohm atau 100 ohm, 2k2, 1K.
12. Mempunyai elko 4,7 uF/16 V dan kapasitor 100nF.
13. Mempunyai LED 3 buah.
14. Mempunyai housing 5 pin dan 4 pin.
15. Dioda zener 3.6 volt 2 buah.
16. Koleksi program yang mendukung panduan ini.

LANGKAH-LANGKAH SEBAGAI BERIKUT :
1. Nyalakan komputer.
2. Ekstrak folder gawean.
3. Lihat rangkaian dengan program eagle. Nama File RANGKEYAN.SCH
4. Buat rangkaian tersebut ke PCB, sebagaimana kita menjadi pegawai solder yang baik dan      benar.
5. Periksa lagi pekerjaan kita.
6. Siapkan kabel usb, hati hati tertukar minimal VCC sama GND tidak nyambung,akan mempengaruhikoputer kita.
7.  Sekarang masukkan kabel usbnya
8.  Ingat , ini baru percobaan, MIKRO ATMEGA 8 JANGAN DIMASUKKAN DULU KE SOKET !!!!JANGAN DULU…..
9. Jika benar, akan muncul seperti berikut :

10. Jika sudah muncul seperti itu, berarti rangkaian sudah bener, dan LED power harus nyala.
11. Sesudah itu lepas kembali kabel USB.
12. Sekarang download software nya, bisa pakai khazama atau progisp.
Berikut ini langkah penggunaan dan troubleshooting-nya:
1.      Install dulu drivernya… tinggal cek di device manager PC ato laptop temen2.
2.      Kedua Instal software Khazamanya… tinggal Next…Finish dan Yes :D.
Jalankan software Khazama AVR Programmer berikut :              
4.       Pada menu “ AVR : “ Pilih tipe mikrokontroler yang digunakan, misalkan ATMEGA32.
5.   Untuk mendownload program yang telah di compile ( file dalam bentuk    *.hex) berikut langkahnya:
Klik Menu File kemudian pilih “ load FLASH file to Buffer “ atau tinggal klik icon seperti gambar berikut:

Cari file *.hex hasil compile di folder dimana program tersebut disimpan, kemudian pilih open.
Maka tampilan jendela khazama akan menjadi:

Langkah selanjutnya tinggal meng-klik tombol “ Auto Program “ maka proses downloading akan berlangsung.
Kemudian akan muncul jendela seperti berikut, yang menandakan proses downloading telah selesai dan berhasil.

  
Berikut beberapa kejadian error saat penggunaan khazama dan troubleshootingnya.
 

Error diatas, terjadi jika Khazama downloader belum ditancapkan pada computer PC ato laptop anda.
Error diatas, terjadi jika Khazama downloader belum di sambungkan dengan sistem minimum mikrokontroler yang akan diprogram, solusinya adalah dengan menghubungkan keduanya. Atau dapat juga terjadi saat sistem minimum mikrokontroler dengan Khazama downloader telah terhubung, namun mikrokontroler yang digunakan adalah mikrokontroler baru (baru dari pabrikan) yang belum di konfigurasi fuse bit-nya. Maka solusinya adalah mengatur fuse bitnya terlebih dahulu.
                                                                                                                                                           
Tutorial Software ProgISP v.1.7.2
Menggunakan ProgISP_v.1.72
Salam buat sobat semua,....
Pada posting kali ini penulis akan mencoba menjelaskan sedikit cara menggunakan Software ProgISP_v1.72. Software ini digunakan dalam pemrograman mikrokontroler khususnya saat melakukan Download File *.HEX ke dalam memori mikrokontroller MCS-51. Untuk bisa menggunakan software ini tentunya sobat harus mempunyai soft-copysoftware tersebut, karena software ini bersifat portable jadi tidak perlu di instal terlebih dahulu.
Bentuk tampilan programnya sebagai berikut:


Gambar 1. Tampilan program ProgISP_v.1.72


 
Selain mempunyai soft-copy programnya, sobat juga harus punya hardware USBASP yang merupakan perangkat komunikasi antara PC dengan Chip Mikrokontroler. Setelah hardware terhubung tampilan jendela program menjadi seperti di bawah ini, perhatikan perbedaannya:



   Gambar 2.a Perhatikan perubahan yang terjadi 
Selanjutnya memanggil file *.HEX yang akan di download ke memori mikrokontroller, caranya Klik tombol Load Flash - truss pilih file *.HEX yang akan di download dan Klik tombol Open, seperti ditunjukan pada gambar berikut ini :



Gambar 2.b Hardware terdeteksi
   Gambar 3.a Klik Load Flash


                                                    Gambar 3.b Memilih File *.HEX
Langkah terakhir adalah Klik tombol Auto untuk Downloadding, jangan lupa lihat proses downloadnya hingga selesai.


Demikianlah langkah-langkah membuat downloader, semoga bermanfaat untuk teman-teman semua..
Baca Selengkapnya...

Kamis, 14 Mei 2015

Tugas Alternatif Komputer Kendali 2

Kontrol Kendali LED Via  USB Tanpa Konverter USB/RS232




Perlahan tapi pasti, port USB telah "mengalahkan" popularitas port serial (COM) dan port paralel (LPT). Kini, komputer-komputer dan laptop terbaru tidak menyertakan lagi port serial, apalagi port paralel. Beberapa tipe motherboard masih menyertakakan sebuah port serial (COM1).Namun demikian, kini hampir semua peralatan elektronik memiliki port USB untuk berkomunikasi dengan piranti elektronik lainnya.

Port USB memang memiliki banyak kelebihan dibandingkan dengan port serial dan port paralel. Terlepas dari sudut pandang aplikasi, port USB lebih cepat dan lebih ringkas dibandingkan port serial maupun port paralel. Port USB juga menyediakan catu daya 5V DC dengan kemampuan arus maksimum 500mA untuk menyuplai perangkat elektronik berbasis USB.

V-USB adalah sebuah software implementasi protokol USB berkecepatan rendah untuk mikrokontroller ATMEL AVR sehingga memungkinkan untuk membuat piranti USB dengan sebagian besar mikrokontroller AVR tanpa tambahan chip lain. V-USB dapat di download di www.obdev.at.

libusb-win32 adalah library Win32 yang memberikan akses kepada user (bukan admin) untuk mengakses piranti-piranti USB secara generik tanpa perlu membuat kode-kode program kernel. Dengan libusb, kita dapat menggunakan fungsi-fungsi API untuk transfer data Bulk, Control, Interrupt, dan Isochronous. Library dan driver libusb dapat di download di http://sourceforge.net/apps/trac/libusb-win32/wiki.

Skematik 

Pada eksperimen ini mengunakan mikrokontroller ATtiny2313V dengan kristal 12MHz dengan sebuah LED aktif high yang terhubung ke pin PD6. Berikut adalah skematik rangkaian eksperimen USB LED.


Berikut adalah program mikrokontroller ATtiny2313 untuk pengontrolan LED dari port USB
#define ON 1
#define OFF 0
#define LED(n) ((n)==(OFF) ? (PORTD&=~_BV(PD6)) : (PORTD|=_BV(PD6))) uchar   usbFunctionSetup(uchar data[8])
{
  usbRequest_t    *rq = (void *) data;   if (rq->bRequest==4)
      LED(ON);
  else if (rq->bRequest==5)
      LED(OFF);
} /***  P R O G R A M  U T A M A  ***/
int main(void)
{
    //Inisialisasi PORT D
    PORTD = 0;       
    DDRD = ~(1 << 2);     //Inisialisasi PORT B
    PORTB = 0;         
    DDRB = ~USBMASK;      //Inisialisasi Driver USB
    usbInit();     //Aktifkan fungsi interupsi
    sei();     for(;;)
    {
          usbPoll();    //Pantau terus, apakah ada permintaan dari Host
          _delay_ms(12);
    }
    return 0;
}

Untuk mengontrol LED melalui PC diperlukan sebuah antarmuka yang pada eksperimen ini menggunakan bahasa C. Kompiler yang digunakan yakni Pelles C. Berikut adalah gambar dari program USB LED Control


Jika button LED ON di klik, maka program akan mengirimkan request ke USB Device yakni ATtiny2313 yang sudah ditanami program USB Protocol. Demikian juga dengan button LED OFF di klik, maka program akan mengirimkan request ke ATtiny2313 dengan ID request yang berbeda.

Untuk dapat berinteraksi dengan ATtiny2313. maka driver libusb perlu diinstal terlebih dahulu. Jika komputer telah terinstal piranti USB yang menggunakan libusb sebagai drivernya, contoh AVR USB. maka modul akan dikenal sebagai USBasp.

Berikut ini adalah program Demo USB LED Control dalam bahasa C
static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    unsigned char        nBytes;
    unsigned char        buffer[64];
    switch (uMsg)
    {
        case WM_INITDIALOG:
            //Inisialisasi port USB
            usb_init();             //Buka komunikasi USB dengan Modul USBLED
            if(usbOpenDevice(&handle, USBDEV_SHARED_VENDOR, "Teknik Elektro Links", USBDEV_SHARED_PRODUCT, "TELINKS-USB LED") != 0)
            {
                MessageBox(hwndDlg, "USBLED Error: Kode Vendor dan Product Salah!", "Error!", MB_ICONERROR);
                exit(1);
            }
            return TRUE;         case WM_COMMAND:
            switch (GET_WM_COMMAND_ID(wParam, lParam))
            {
                case ID_LED_ON:
                    nBytes = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
                    PSCMD_ON, 0, 0, (char *)buffer, sizeof(buffer), 5000);
                    return TRUE;                 case ID_LED_OFF:
                    nBytes = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
                    PSCMD_OFF, 0, 0, (char *)buffer, sizeof(buffer), 5000);
                    return TRUE;                 case IDOK:
                    EndDialog(hwndDlg, TRUE);
                    return TRUE;
            }
            break;         case WM_CLOSE:
            EndDialog(hwndDlg, 0);
            return TRUE;     }     return FALSE;
}
Program menggunakan fungsi usb_control_msg() untuk mengirimkan request kepada modul USBLED. Identifikasi perintah LED ON dan LED OFF diletakkan pada ID-Request yang dalam hal ini angka 4 (PSCMD_ON) untuk LED ON dan angka 5 (PSCMD_OFF) untuk LED OFF.

itu saja yang dapat saya informasikan  mengenai pengontrolan LED melalui port USB, semoga bermanfaat.

sumber :  http://fajar-el-ridikc.blogspot.com/#ixzz3XQ7DkMTJ

Baca Selengkapnya...

Tugas 2 Presentasi Sistem Operasi

Assalamualaikum, inilah hasil pembahasan presentasi kami minggu belakang tentang teknik Penjadwalan Prosesor , pengen tau lets cekidot...


SHORTEST JOB FIRST

Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai diketahui sebelumnya. Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah dan penjadwalannya tak berprioritas.

Contoh :
Terdapat empat proses (job) yaitu A,B,C,D dengan waktu jalannya masing-masing adalah 8,4,4 dan 4 menit. Apabila proses-proses tersebut dijalankan, maka turn around time untuk A adalah 8 menit, untuk B adalah 12, untuk C adalah 16 dan untuk D adalah 20. Untuk menghitung rata-rata turn around time seluruh proses adalah dengan menggunakan rumus :
( 4a + 3b + 2c + 1d ) / 4

Dengan menggunakan rumus, maka dapat dihitung turn around time-nya sebagai berikut (belum memperhatikan shortest job first, lihat gambar a) :
= ( 4a + 3b + 2c + 1d ) / 4
= ( 4x8 + 3x4 + 2x4 + 1x4 ) / 4
= ( 32 + 12 + 8 + 4 ) / 4
= 56 / 4
= 14 menit




Apabila keempat proses tersebut menggunakan penjadwalan shortest job first (lihat gambar b), maka turn around time untuk B adalah 4, untuk C adalah 8, untuk D adalah 12 dan untuk adalah 20, sehingga rata-rata turn around timenya adalah sebagai berikut :
= ( 4a + 3b + 2c + 1d ) / 4
= ( 4x4 + 3x4 + 2x4 + 1x8 ) / 4
= ( 16 + 12 + 8 + 8 ) / 4
= 44 / 4
= 11 menit
Jelas bahwa a memberikan nilai kontribusi yang besar, kemudian b, c dan d. Karena SJF selalu memperhatikan rata-rata waktu respon terkecil, maka sangat baik untuk proses interaktif. Umumnya proses interaktif memiliki pola, yaitu menunggu perintah, menjalankan perintah, menunggu perintah dan menjalankan perintah, begitu seterusnya.



Masalah yang muncul adalah :
-          Tidak mengetahui ukuran job saat job masuk.
Untuk mengetahui ukuran job adalah dengan membuat estimasi berdasarkan kelakukan sebelumnya.
-          Proses yang tidak datang bersamaan, sehingga penetapannya harus dinamis.
Penjadwalan ini jarang digunakan, karena merupakan kajian teoritis untuk pembandingan turn around time.
Karena SJF selalu memperhatikan rata-rata waktu respon terkecil, maka sangat baik untuk proses interaktif. Umumnya proses interaktif memiliki pola, yaitu menunggu perintah, menjalankan perintah, menunggu perintah dan menjalankan perintah, begitu seterusnya. Masalah yang muncul adalah tidak mengetahui ukuran job saat job masuk. Untuk mengetahui ukuran job adalah dengan membuat estimasi berdasarkan kelakukan sebelumnya. Prosesnya tidak datang bersamaan, sehingga penetapannya harus dinamis. Penjadwalan ini jarang digunakan karena merupakan kajian teoritis untuk pembandingan turn around time.

Algoritma ini dapat dibagi menjadi dua bagian yaitu :
 1. Preemptive

Penjadwalan Preemptive mempunyai arti kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Jika ada proses yang sedang dieksekusi oleh CPU dan terdapat proses di ready queue dengan burst time yang lebih kecil daripada proses yang sedang dieksekusi tersebut, maka proses yang sedang dieksekusi oleh CPU akan digantikan oleh proses yang berada di ready queue tersebut. Preemptive SJF sering disebut juga Shortest-Remaining- Time-First scheduling. 

2. Non-preemptive
Penjadwalan Non Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt. CPU tidak memperbolehkan proses yang ada di ready queue untuk menggeser proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai burst time yang lebih kecil. Ada beberapa kekurangan dari algoritma ini yaitu: 1. Susahnya untuk memprediksi burst time (lama eksekusi) proses yang akan dieksekusi selanjutnya. 2. Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih kecil.



Nama Proses
Saat Tiba
Lama Proses
Saat Mulai
Saat Rampung
Lama Tanggap
A
0
5
0
5
5
B
3
7
11
18
15
C
5
2
5
7
2
D
6
4
7
11
5
∑ Ti
27
Tr
6.75


Disusun urutan proses berdasarkan pprioritasnya, yaitu CDAB, tetapi pada saat tiba =0, proses terpendek C belum datang, maka mengerjakan proses A dahulu, setelah selesai pada saat 5, proses C sudah datang, sehingga C dikerjakan dan seterusnya.
Seperti :
 A                            B                   C      C

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
A
A
A
A
A
C
C
D
D
D
D
B
B
B
B
B
B
B
Keuntungan : Memperkecil rata-rata lama tanggap
Kelemahan : layanan terhadap proses panjang bisa tidak terlayani jika proses pendek datang terus.

Nama Proses
Saat Tiba
Lama Proses
Saat Mulai
Saat Rampung
Lama Tanggap
A
0
5
0
5
5
B
0
8
5
13
13
C
0
10
13
23
23
D
0
11
23
34
34






∑ Ti
75
Tr
18,75




Inisaja dulu ya, semoga bermanfaatsemoga bisa menjadi sebuah pelajaran yang berhrga dari setiap materi yang saya sampaikan.. tetap semanagat #ganbatte

Baca Selengkapnya...

Rabu, 29 April 2015

Kontrol LED Port Paralel dengan Visual Basic 6.0

( TUGAS INTERFACE )
ASSALAMUALAIKUM  WR.WB
Apa kabar nih? Postingan kali ini adalah lain dari yang lain (hehehe), karena pada postingan kali ini saya memposting tentang control LED Port paralel  menggunakan aplikasi komputer Visual Basic 6.0 lets Cekidot.


            Aplikasi yang digunakan untuk mengendalikan tampilan LED merupakan aplikasi yang paling sederhana, karena untuk menghidupkan dan mematikan sebuah LED hanya dibutuhkan tegangan standar TTL dengan komponen tambahan berupa sebuah resistor untuk pembatas arus.
Pada aplikasi yang menggunakan LED ini, terdapat LED yang dikendalikan oleh port Data, sedangkan  yang lainnya ada beberapa buah LED oleh Port Kontrol dalam port paralel yang didrive oleh software dengan bahasa pemograman visual basic. Adapun program ini dibuat adalah sebagai interface antara modul LED dengan komputer.
Untuk Bahan dan Peralatan nya ane pake yang ini gan :
-  Konektor DB-25 (jantan) 1 buah
-  LED 12 buah
-  Resistor 330 ohm 12 buah
-  Kabel data 13 potong
-  Komputer 1 unit

 Disini saya akan memberikan tutorial tentang Data Register Port Pararel dikontrol menggunakan program VB 6.0
Dari data D0 – D7 .semoga bermanfaat.
1.      PERTAMA BUAT TAMPILAN FORM DENGAN MEMILIH BUTTON DAN LABEL PADA GENERAL. DAN UBAH CAPTION PADA ALFABETIC.

2.CLIK DOUBLE KLIK PADA BUTTON ON DAN ISIKAN KODE SEPERTI PADA GAMBAR.

3.       SELANJUTNYA DOUBLE CLIK PADA BUTTON OFF DAN ISI KODE SEPERTI GAMBAR DIBAWAH.

4.DAN SETERUSNYA CLIK BUTTON ON DAN OFF SELANJUTNYA SEPERTI LISTING    PROGRAM KESELURUHAN PROGRAM DI BAWAH INI :

LISTING PROGRAM :
Private Sub KELUAR_Click()
Unload Me
End Sub
Private Sub LED1OFF_Click()
ClrPortBit &H378, 0
Label1.ForeColor = vbBlack
End Sub
Private Sub LED1ON_Click()
SetPortBit &H378, 0
Label1.ForeColor = vbRed
End Sub

Private Sub LED2OFF_Click()
ClrPortBit &H378, 1
Label2.ForeColor = vbBlack
End Sub

Private Sub LED2ON_Click()
SetPortBit &H378, 1
Label2.ForeColor = vbRed
End Sub
Private Sub LED3OFF_Click()
ClrPortBit &H378, 2
Label3.ForeColor = vbBlack
End Sub
Private Sub LED3ON_Click()
SetPortBit &H378, 2
Label3.ForeColor = vbRed
End Sub
Private Sub LED4OFF_Click()
ClrPortBit &H378, 3
Label4.ForeColor = vbBlack
End Sub
Private Sub LED4ON_Click()
SetPortBit &H378, 3
Label4.ForeColor = vbRed
End Sub
Private Sub LED5OFF_Click()
ClrPortBit &H378, 4
Label5.ForeColor = vbBlack
End Sub
Private Sub LED5ON_Click()
SetPortBit &H378, 4
Label5.ForeColor = vbRed
End Sub
Private Sub LED6OFF_Click()
ClrPortBit &H378, 5
Label6.ForeColor = vbBlack
End Sub
Private Sub LED6ON_Click()
SetPortBit &H378, 5
Label6.ForeColor = vbRed
End Sub
Private Sub LED7OFF_Click()
ClrPortBit &H378, 6
Label7.ForeColor = vbBlack
End Sub
Private Sub LED7ON_Click()
SetPortBit &H378, 6
Label7.ForeColor = vbRed
End Sub
Private Sub LED8OFF_Click()
ClrPortBit &H378, 7
Label8.ForeColor = vbBlack
End Sub
Private Sub LED8ON_Click()
SetPortBit &H378, 7
Label8.ForeColor = vbRed
End Sub
Private Sub OFF_ALL_Click()
PortOut &H378, &H0
Label1.ForeColor = vbBlack
Label2.ForeColor = vbBlack
Label3.ForeColor = vbBlack
Label4.ForeColor = vbBlack
Label5.ForeColor = vbBlack
Label6.ForeColor = vbBlack
Label7.ForeColor = vbBlack
Label8.ForeColor = vbBlack
End Sub
Private Sub ON_ALL_Click()
PortOut &H378, &HFF
Label1.ForeColor = vbRed
Label2.ForeColor = vbRed
Label3.ForeColor = vbRed
Label4.ForeColor = vbRed
Label5.ForeColor = vbRed
Label6.ForeColor = vbRed
Label7.ForeColor = vbRed
Label8.ForeColor = vbRed
End Sub  
Label1.ForeColor = vbRed
Label2.ForeColor = vbRed
Label3.ForeColor = vbRed
Label4.ForeColor = vbRed
Label5.ForeColor = vbRed
Label6.ForeColor = vbRed
Label7.ForeColor = vbRed
Label8.ForeColor = vbRed
End Sub


Baca Selengkapnya...