Tampilkan postingan dengan label Praktikum. Tampilkan semua postingan
Tampilkan postingan dengan label Praktikum. Tampilkan semua postingan

Modul III Praktikum Mikroprosesor dan Mikrokontroler



MODUL III
COMMUNICATION

1. Tujuan


a) Memahami prinsip kerja UART, SPI, dan I2C
b) Mengaplikasikan protokol komunikasi UART, SPI, dan I2C pada Arduino


a)   Modul Arduino
b)  Push Button
c)  LED



A. Universal Asynchronous Receiver Transmitter (UART)

UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal.

Cara Kerja Komunikasi UART

Data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima.

B. Serial Peripheral Interface (SPI)

Serial Peripheral Interface ( SPI ) merupakan salah satu mode komunikasi serial synchrounous kecepatan tinggi yang dimiliki oleh ATmega 328. Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, MISO, dan SCK. Melalui komunikasi ini data dapat saling dikirimkan baik antara mikrokontroller maupun antara mikrokontroller dengan peripheral lain di luar mikrokontroler.

MOSI : Master Output Slave Input Artinya jika dikonfigurasi sebagai master maka pin MOSI sebagai output tetapi jika dikonfigurasi sebagai slave maka pin MOSI sebagai input.

MISO : Master Input Slave Output Artinya jika dikonfigurasi sebagai master maka pin MISO sebagai input tetapi jika dikonfigurasi sebagai slave maka pin MISO sebagai output.
SCLK : Clock Jika dikonfigurasi sebagai master maka pin CLK berlaku sebagai output tetapi jika dikonfigurasi sebagai slave maka pin CLK berlaku sebagai input.
SS/CS : Slave Select/ Chip Select adalah jalur master memilih slave mana yang akan dikirimkan data.

Cara Kerja Komunikasi SPI
Sinyal clock dialirkan dari master ke slave yang berfungsi untuk sinkronisasi. Master dapat memilih slave mana yang akan dikirimkan data melalui slave select, kemudian data dikirimkan dari master ke slave melalui MOSI. Jika master butuh respon data maka slave akan mentransfer data ke master melalui MISO.
C. Inter Integrated Circuit (I2C)
Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. 

Cara Kerja Komunikasi I2C

Pada I2C, data ditransfer dalam bentuk message yang terdiri dari kondisi start, Address Frame, R/W bit, ACK/NACK bit, Data Frame 1, Data Frame 2,  dan kondisi Stop.
Kondisi start dimana saat pada SDA beralih dari logika high ke low sebelum SCL.
Kondisi stop dimana saat pada SDA beralih dari logika low ke high sebelum SCL.
R/W bit berfungsi untuk menentukan apakah master mengirim data ke slave atau meminta data dari slave. (logika 0 = mengirim data ke slave, logika 1 = meminta data dari slave)


ACK/NACK bit berfungsi sebagai pemberi kabar jika data frame ataupun address frame telah diterima receiver.


Arduino



Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain. Adapun spesifikasi dari Arduino Uno ini adalah sebagai berikut :




Microcontroller
ATmega2560
Operating Voltage
5V
Input Voltage (recommended)
7-12V
Input Voltage (limits)
6-20V
Digital I/O Pins
54 (of which 15 provide PWM output)
Analog Input Pins
16
DC Current per I/O Pin
20 mA
DC Current for 3.3V Pin
50 mA
Flash Memory
256 KB of which 8 KB used by bootloader
SRAM
8 KB
EEPROM
4 KB
Clock Speed
16 MHz

BAGIAN-BAGIAN ARDUINO UNO

POWER USB
Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.

POWER JACK
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.

Crystal Oscillator Kristal
ini digunakan sebagai layaknya detak jantung pada Arduino. Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.

Reset
Digunakan untuk mengulang program Arduino dari awal atau Reset.

Digital Pins I / O
Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika ( 0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.

Analog Pins
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.

LED Power Indicator
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.

Modul I Praktikum Mikroprosesor dan Mikrokontroler



MODUL I
GENERAL INPUT DAN OUTPUT

1. Tujuan

a) Memahami cara penggunaan input dan output digital pada mikrokontroler
b) Menggunakan komponen input dan output sederhana dengan Arduino


a) Modul Arduino
b) Keypad
c) 7-Segment
d) LED
e) LCD


General Input Output

Input adalah semua data dan perintah yang dimasukkan ke dalam memori untuk diproses lebih lanjut oleh mikroprosesor. Sebuah perangkat input adalah komponen piranti keras yang memungkinkan user atau pengguna memasukkan data ke dalam mikroprosesor. Output adalah data hasil yang telah diproses. Perangkat output adalah semua komponen piranti keras yang menyampaikan informasi kepada orang-orang yang menggunakannya. 

Pada Arduino, pin input/output terdiri dari digital dan analog yang jumlah pin-nya tergantung jenis Arduino yang digunakan. Input digital digunakan untuk mendeteksi perubahan logika biner pada pin tertentu. Adanya input digital memungkinkan mikrokontroler untuk dapat menerjemahkan 0V menjadi logika LOW dan 5V menjadi logika HIGH. Membaca sinyal digital pada Arduino dapat menggunakan sintaks digitalRead(pin); 

Output digital terdiri dari dua buah logika, yaitu kondisi logika HIGH dan kondisi logika LOW. Untuk menghasilkan output kita dapat menggunakan sintaks digitalWrite(pin,nilai); yang sebelumnya pin sudah diset ke mode OUTPUT, lalu parameter kedua adalah set nilai HIGH atau LOW. Apabila pin diset dengan nilai HIGH, maka voltase pin tersebut akan diset ke 5V atau 3.3V dan bila pin diset ke LOW, maka voltase pin tersebut akan diset ke 0V. 

Arduino
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain. 

Adapun spesifikasi dari Arduino Uno ini adalah sebagai berikut : 


Gambar Arduino Uno

Microcontroller                                            ATmega328P
Operating Voltage                                      5 V
Input Voltage (recommended)                   7 – 12 V
Input Voltage (limit)                                   6 – 20 V
Digital I/O Pins                                          14 (of which 6 provide PWM output)
PWM Digital I/O Pins                                6
Analog Input Pins                                       6
DC Current per I/O Pin                              20 mA
DC Current for 3.3V Pin                            50 mA

BAGIAN-BAGIAN ARDUINO UNO 

POWER USB 
Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB. 

POWER JACK 
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V. 

Crystal Oscillator 
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino. Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz. 

Reset 
Digunakan untuk mengulang program Arduino dari awal atau Reset. 

Digital Pins I / O 
Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika ( 0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM. 

Analog Pins 
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital. 

LED Power Indicator 
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.

Modul II Praktikum Elektronika dan Sistem Digital



MODUL II 
COUNTER, SHIFT REGISTER DAN SEVEN SEGMENT


1. Merangkai dan Menguji operasi logika dari counter asyncron dan counter syncronous
2. Merangkai dan Menguji aplikasi dari sebuah Counter
3. Merangkai dan Menguji Shift Register dan Seven Segment


1. Panel DL 2203D 
2. Panel DL 2203C 
3. Panel DL 2203S 
4. Jumper


COUNTER
Counter adalah sebuah rangkaian sekuensial yang mengeluarkan urutan statestate tertentu, yang merupakan aplikasi dari pulsa-pulsa inputnya. Pulsa input dapat berupa pulsa clock atau pulsa yang dibangkitkan oleh sumber eksternal dan muncul pada interval waktu tertentu. Counter banyak digunakan pada peralatan yang berhubungan dengan teknologi digital, biasanya untuk menghitung jumlah kemunculan sebuah o kejadian/event atau untuk menghitung pembangkit waktu. Counter yang mengeluarkan urutan biner dinamakan Biner Counter. Sebuah n-bit binary counter terdiri dari n buah flip-flop, dapat menghitung dari 0 sampai 2n - 1 . Counter secara umum diklasifikasikan atas counter asyncron dan counter syncronous.

a. Counter Asyncronous
Counter Asyncronous disebut juga Ripple Through Counter atau Counter Serial (Serial Counter), karena output masing-masing flip-flop yang digunakan akan bergulingan (berubah kondisi dan “0” ke “1”) dan sebaliknya secara berurutan atau langkah demi langkah, hal ini disebabkan karena hanya flipflop yang paling ujung saja yang dikendalikan oleh sinyal clock, sedangkan sinyal clock untuk flip-flop lainnya diambilkan dan masing-masing flipflop sebelumnya.



b. Counter Syncronous
Counter syncronous disebut sebagai Counter parallel, output flip-flop yang digunakan bergulingan secara serempak. Hal mi disebabkan karena masingmasing flip- flop tersebut dikendalikan secara serempak oleh sinyal clock.



Shift register Register geser (shift register) merupakan salah satu piranti fungsional yang banyak digunakan dalam sistem digital. Tampilan pada layar kalkulator dimana angka bergeser ke kiri setiap kali ada angka baru yang diinputkan menggambarkan karakteristik register geser tersebut. Register geser ini terbangun dari flip-flop. Register geser dapat digunakan sebagai memori sementara, dan data yang tersimpan didalamnya dapat digeser ke kiri atau ke kanan. Register geser juga dapat digunakan untuk mengubah data seri ke paralel atau data paralel ke seri. Ada empat tipe register yang dapat dirancang dengan kombinasi masukan dan keluaran dan kombinasi serial atau paralel :
1. Serial in serial out (SISO)
Pada register SISO, jalur masuk data berjumlah satu dan jalur keluaran juga berjumlah satu. Pada jenis register ini data mengalami pergeseran, flip flop pertama menerima masukan dari input, sedangkan flip flop kedua menerima masukan dari flip flop pertama dan seterusnya.
2. Serial in paralel out (SIPO)
Register SIPO, mempunyai satu saluran masukan saluran keluaran sejumlah flip flop yang menyusunnya. Data masuk satu per satu (secara serial) dan dikeluarkan secara serentak.Pengeluaran data dikendalikan oleh sebuah sinyal kontrol. Selama sinyal kontrol tidak diberikan, data akan tetap tersimpan dalam register.
3. Paralel In serial Out (PISO)
Register PISO, mempunyai jalur masukan sejumlah flip flop yang menyusunnya, dan hanya mempunyai satu jalur keluaran. Data masuk ke dalam register secara serentak dengan di kendalikan sinyal kontrol, sedangkan data keluar satu per satu (secara serial).
4. Paralel In Paralel Out (PIPO)
Register PIPO, mempunyai jalur masukan dan keluaran sesuai dengan jumlah flip flop yang menyusunnya. Pada jenis ini data masuk dan keluar secara serentak.

Seven Segment

Seven segmentPiranti tampilan modern disusun sebagai pola 7-segmen atau dot matriks.Jenis 7-segmen, sebagaimana namanya, menggunakan pola tujuh batang yang disusun membentuk angka 8 seperti ditunjukkan pada gambar 3.1.Menurut kesepakatan, huruf-huruf yang diperlihatkan dalam Gambar 3.1 ditetapkan untuk menandai segmen-segmen tersebut. Dengan menyalakan beberapa segmen yang sesuai akan dapat diperagakan digit-digit dari 0 sampai 9, juga bentuk huruf A sampai F (dimodifikasi).

Sinyal input dari switches tidak dapat langsung dikirimkan ke peraga 7-segmen, sehingga harus menggunakan decoder BCD ke 7-segmen sebagai antar muka. Decoder ini terdiri dari gerbang-gerbang logika yang masukannya berupa digit BCD dan keluarannya berupa saluran-saluran untuk mengemudikan tampilan 7-segmen.



Modul I Praktikum Elektronika dan Sistem Digital



MODUL I
Gerbang Logika Dasar, Monostable Multivibrator
&
Flip flop

1. Tujuan


  1. Merangkai dan menguji operasi dari gerbang logika dasar
  2. Merangkai dan menguji gerbang logika dasar, Aljabar Boelean, dan PetaKarnaugh
  3. Merangkai dan menguji Multivibrator
  4. Merangkai dan menguji berbagai macam flip-flop


2. Alat dan Bahan


  1.  Panel DL 2203C 
  2.  Panel DL 2203D 
  3.  Panel DL 2203S 
  4.  Jumper
3. Dasar Teori
                                               Gerbang Logika Dasar 
1. Gerbang AND
Gambar 1.1 (a) Rangkaian dasar gerbang AND (b) Simbol gerbang AND 


Tabel 1.1 Tabel Kebenaran Logika AND


Bisa dilihat diatas bahwa keluaran akan bernilai 1 jika semua nilai input adalah 1, dan jika salah satu atau lebih input ada yang bernilai nol maka output akan bernilai nol.


2. Gerbang OR

Gambar 1.2 (a) Rangkaian dasar gerbang OR (b) Simbol gerbang OR 
Tabel 1.2 Tabel Kebenaran Logika OR

Bila dilihat dari rangkaian dasarnya maka didapat tabel kebenaran seperti di atas. Pada gerbang logika OR ini bisa dikatakan bahwa jika salah satu atau lebih input bernilai 1 maka output akan bernilai 1 . Nilai output bernilai 0 hanya pada jika nilai semua input bernilai 0. 

3. Inverter ( Gerbang NOT )
Gambar 1.3 (a) Rangkaian dasar gerbang NOT (b) Simbol gerbang NOT Tabel 
1.3 Tabel Kebenaran Logika NOT


Gerbang NOT merupakan gerbang di mana keluarannya akan selalu berlawanan dengan masukannya. Bila pada masukan diberikan tegangan ,maka transistor akan jenuh dan keluaran akan bertegangan nol. Sedangkan bila pada masukannya diberi tegangan tertentu, maka transistor akan cut off, sehingga keluaran akan bertegangan tidak nol. 

 4. Gerbang NOR

(a)

(b)

Gambar 1.4 (a) Rangkaian dasar gerbang NOR (b) Simbol gerbang NOR 
Tabel 1.4 Tabel Kebenaran Logika NOR

Gerbang NOR adalah gerbang OR yang disambung ke inverter. Jadi nilai keluarannya merupakan kebalikan dari gerbang OR. 


5. Gerbang NAND


Gambar 1.5 (a) Rangkaian dasar gerbang NAND (b) Simbol gerbang NAND 
Tabel 1.5 Tabel Kebenaran Logika NAND


Gerbang NAND adalah gerbang AND yang keluarannya disambungkan ke inverter. Dan nilai dari tabel kebenarannya merupakan kebalikan dari tabel kebenaran dari gerbang AND. 

6. Gerbang Exlusive OR (X-OR)

Gambar 1.6 (a) Rangkaian dasar gerbang X-OR (b) Simbol gerbang X-OR
Tabel 1.6 Tabel Kebenaran Logika X-OR
X-OR merupakan gerbang OR yang bersifat exlusif, di mana keluarannya akan nol jika masukannya bernilai sama, dan jika salah satu masukannya berbeda maka keluarannya akan bernilai 1.
Multivibrator
Multivibrator termasuk kedalam rangkaian generatif, artinya suatu rangkaian yang satu atau lebih titik keluarannya dengan sengaja dihubungkan kembali kemasukan untuk memberikan umpan balik.

Multivibrator adalah rangkaian sekuensial atau rangkaian aktif. Rangkaian ini dirancang untuk mempunyai karakteristik jika salah satu rangkaian aktif bersifat menghantar, maka rangkaian aktif yang lain bersifat cut-off atau terpancung. Multivibrator berfungsi untuk menyimpan bilangan biner, mencacah pulsa, menahan atau mengingat pulsa trigger, menyerempakkan operasi aritmatika, dan fungsi lain yang ada dalam sistem digital. Keluarga multivibrator yang akan dibahas adalah rangkaian astabil, rangkaian bistabil dan rangkaian monostabil.

1. Multivibrator Astabil
Multivibrator astabil adalah multivibrator yang tidak mempunyai keadaan stabil. Multivibrator akan berada pada salah satu keadaan selama sesaat dan kemudian berpindah ke keadaan lain selama sesaat pula. Keluaran berosilasi di antara dua keadaan tinggi dan rendah ditentukan oleh parameter rangkaian dan tidak memerlukan pulsa masukan.Oleh karena itulah multivibrator astabil disebut juga multivibator bebas bergerak atau free running multivbrator.Multivibrator ini biasa digunakan sebagai pembangkit pula(clock). Multivibrator astabil juga dapat dibangun menggunakan transistor IC pewaktuan dan resistor.




2. Multivibrator Monostabil


Multivibrator ini hanya mempunyai satu keadaan stabil. Kuasi stabil terjadi bila keadaan stabil dipicu ke keadaan lain. Waktu perubahan dari keadaan stabil dipicu ke keadaan lain. Waktu perubahan dari keadaan tidak stabil ke keadaan stabil (kuasi stabil) ditentukan oleh rangkaian RC.Monostabil juga disebut  ultivibrator satu bidikan (one shot multivibrator).











3.Multivibrator Bistabil
Rangkaian mulvibrator bistabil adalah rangkaian multivibrator yang mempunyai dua keadaan stabil yaitu stabil tinggi atau keadaan logika tinggi dan stabil rendah atau stabil rendah atau keadaan logika rendah. Keluaran bistabil akan berubah dari keadaan tinggi ke keadaan rendah atau sebaliknya jika rangkaian tersebut diberi suatu masukan atau di-triger. Rangkaian bistabil disebut juga flipflop.Ada beberapa macam flip-flop yaitu  S, D, Togle, JK, dan JK master save flipflop