KL801

Interfacing

By

Essy 8 .TWI & I2C

Komunikasi I2C (Inter-Integrated Circuit) atau TWI (Two Wire Interface) Bagian 1

I2C (Inter-Integrated Circuit) atau TWI (Two Wire Interface)

 

I2C dilapalkan dengan (I Squared C), umumnya ditulis dengan I2C, adalah diciptakan pertama kali oleh Philips Semiconductors. Dengan metode ini komunikasi device yang dilengkapi dengan I2C protokol dapat dilakukan hanya dengan mempergunakan dua kabel. Pengiriman/penerimaan informasi/data secara serial dengan mempergunakan data line (SDA = Serial Data) dan sebuah sumber clock (SCL = Serial Clock). Kedua kabel, kabel data (SDA) dan kabel clock (SCL), harus di-Pull-UP dengan resistor eksternal. Gambar 1 memperlihatkan contoh arsitektur I2C dengan satu master, yang bertindak sebagai mater adalah UC, dan beberapa slave.

Master adalah yang menguasai bus sehingga ia mengendalikan/menghasilkan serial clock dan juga membangkitkan sinyal START dan sinyal STOP. Jadi Master yang menentukan kapan komunikasi dimulai dan komunikasi diakhiri. Sementara Slave menunggu/membaca perintah dari master apakah harus menerima/menulis data atau mengirim data ke Master. Slave tidak boleh membangkitkan pulsa clock (serial clock). Atau dapat disimpulkan Master dapat mengirim atau menerima data dari Slave dan sesama slave tidak boleh berkomunikasi.

Pada komunikasi serial secara I2C, meskipun serial clock berasal dari Master, namun Slave dapat menahan pulsa clock, pulsa clock berada dalam keadaan low, jika slave belum siap untuk menerima data. Hal ini biasanya terjadi pada peralatan yang lambat. Serial clock pada komunikasi ini harus bersumber dari Clock yang dibangkitkan oleh Master, tidak boleh berasal dari sumber yang lain.

memperlihatkan format pembacaan/pengiriman data dari Master ke Slave dengan mempergunakan komunikasi serial I2C. Komunikasi antara Master dengan Slave dimulai dengan membangkitkan pulsa START oleh Master. Pulsa START dibaca oleh Slave pada bus SDA dalam keadaan LOW pada saat pulsa clock dalam keadaan HIGH. Setelah pulsa START dikirimkan, maka pada clock berikutnya Master mengirimkan 8 bit alamat, yang dikirimkan secara serial melalui bus SDA, ke Slave dengan format B6, B5, B4, B3, B2, B1, B0, dan R/W. Bit alamat tersebut mengandung informasi R/W pada LSB. Jika LSB pada byte alamat “1” maka master ingin membaca data dari Slave tetapi jika LSB byte alamat “0” maka master akan menulis pada slave. Karena hanya 7 bit yang dipergunakan dalam byte alamat maka banyaknya device yang dapat dijadikan slave hanya 127. Alamat 0 dipergunakan untuk General Call. Bila alamat dan perintah, Read atau Write, yang dikirimkan oleh master dapat diterima oleh slave maka slave akan membangkitkan pulsa LOW (ACK), pada bus SDA, jika perintah tersebut dapat dijalankan dan pulsa HIGH (NACK) jika perintah tersebut gagal.

Setelah Master menerima pulsa LOW (ACK), Data dikirimkan/dibaca dari alamat Slave tersebut. Bila data telah berhasil dikirim/dibaca maka slave memberikan pulsa LOW (ACK) pada bus SDA tetapi jika terjadi kegagalan maka slave akan memberikan pulsa HIGH (NACK). Pulsa Stop, pulsa yang naik dari LOW ke HIGH pada saat pulsa clock dalam keadaan HIGH, akan dikrimkan oleh Master untuk menghentikan komunikasi. Hal yang patut dicatat pada komunikasi ini adalah, bit alamat dan bit data tidak boleh berubah keadaan pada saat pulsa clock berada pada keadaan HIGH. Bit bit tersebut (bit alamat dan bit data) hanya boleh berubah pada saat pulsa clock berada pada posisi LOW.

Kecepatan Clock pada I2C pada high speed mencapai 400 Khz, tetapai pada umumnya kecepatan clock 100 Khz. Kecepatan clock ini tidak dapat dijadikan standart karena setiap pabrik pembuat chip akan berbeda begitu juga device terkadang lambat dalam bekerja sehingga kecepatan clocknya terkadang samapai 10 Khz. Jika Slow device dihubungkan dengan high speed bus maka peralatan tersebut (slow device) akan merespon dengan menahan bus clock agar tetap LOW sampai peralatan tersebut siap menerima perintah berikutnya. Pada kasus ini Master harus menunggu sampai Slave melepaskan bus CLOCK.

TWI (Two Wire Serial Interface)

Komunikasi Serial I2C dipatenkan oleh Philips Semiconductor sehingga beberapa perusahaan terpaksa menggantikan istilah I2C dan protokolnya dengan nama TWI. Atmel mengantikan I2C dengan TWI begitu juga protokol komunikasi yang dipergunakan. Protokol komunikasi TWI dari Atmel sama seperti protokol komunikasi I2C hanya saja atmel menambahkan adanya interrupt. Kesimpulannya adalah komunikasi serial TWI compatible dengan komunikasi serial I2C, jadi peralatan Atmel, yang diperlengkapi dengan komunikasi serial TWI, dapat berkomunikasi dengan peralatan yang mendukung secara serial I2C.

Sisa bab ini akan membahas komunikasi serial secara TWI, tepatnya penggunaan protokol TWI pada UC ATMega328. Pada bab ini akan mempergunakan terminology sbb :

Master : Device yang mengawali dan mengakhiri transmisi data. Master juga membangkitkan pulsa serial clock (SCL).

Slave : Device yang dialamati/dituju oleh master

Transmitter : Device yang meletakkan data pada bus SDA

Receiver : Device yang membaca data dari bus SDA

START, STOP pada TWI sama seperti I2C tetapi ada tambahan REPEATED START seperti ditunjukkan pada gambar 3. Kaedah yang patut dijaga adalah Alamat dan Data tidak boleh berubah keadaan ketika pulsa clock dalam HIGH.

Seluruh paket alamat (Address Packets Format) terdiri dari 9 bit. Bit bit tersebut adalah : 7 address bit, 1 control bit (Read/Write) dan 1 bit Acknowledge (ACK) yang dibangkitkan oleh Slave. Bit control set menunjukkan operasi pembacaan (read) dan jika bit control clear menunjukkan operasi penulisan (write). Jika Slave mengenali alamat yang diberikan oleh master maka ia harus pulsa LOW pada bus SDA pada pulsa clock ke sembilan. Jika slave sedang sibuk atau sedang tidak dapat melayani permintaan master maka SDA line harus tetap HIGH pada pulsa clock ke sembilan. Jadi sebuah address packet terdiri dari alamat slave diikuti oleh READ atau WRITE yang masing masing disebut sebagai SLA+R dan SLA+W.

Alamat Slave dapat dengan bebas dirancang oleh designer, tetapi dengan ketentuan adalah MSB dari address byte dikirim pertama kali, ditunjukkan oleh gambar 4. Selain itu alamat 0000-000 dipergunakan untuk general call. General Call dipergunakan oleh Master untuk menrimkan pesan yang sama kesemua Slave. Seluruh Slave harus mengirimkan sinyal NACK ketika general call oleh master diikuti oleh pulsa write. Satu hal lagi yang perlu diingat pada komunikasi TWI pada UC kelurga Atmel adalah seluruh alamat dengan format 1111-xxx masih dicadangkan untuk pemakaian yang akan datang.

Data Packet format sama seperti halnya dengan Address packet format yaitu MSB dikirim lebih dahulu dan LSB adalah yang paling akhir dirim. Jika receiver telah menerima data terakhir, karena alasan tertentu tidak dapat mnerima data berikutnya maka receiver harus memberitahukan transmitter dengan mengirimkan sinyal NACK. Gambar 5 memberikan gambaran tentang pengiriman data pada komunikasi TWI.

Ketika suatu event menghendaki perhatian terhadap kejadian di bus TWI, maka TWI Interrupt Flag (TWINT) dapat dipergunakan sebagai indikatornya. Pada siklus clock berikutnya, TWI Status Register (TWSR) akan di Update dengan suatu kode yang menunjukkan event yang bersangkutan. Contoh kode pada TWSR ditunjukkan pada gambar 8, yaitu bilangan didalam lingkaran. Selama TWINT Flag dalam keadaan set, maka kabel serial Clock (SCL) akan dipertahankan dalam keadaan LOW. Hal ini memungkinkan suatu program (vector interrupt) untuk menyelesaikan tugasnya sebelum TWI Transmission dilanjutkan.

TWINT Flag akan set disebabkan oleh event event berikut :

  • Setelah TWI mengirimkan sinyal START/REPEATED START
  • Setelah TWI mengirimkan sinyal SLA+R/W
  • Setelah TWI mengirimkan sebuah address byte
  • Setelah TWI menerima sebuah data byte.
  • Untuk lengkapnya lihat datasheet ATMega328

 

Untuk memudahkan, maka gambar 6 menunjukan cara kerja dari bus TWI. Hal yang patut dicatat adalah jika TWI Interrupt Enable (TWIE) bit, yang terdapat pada register TWCR, dan Global Interrupt, yang terdapat pada register SREG, keduanya atau satu diclearkan maka TWINT Flag set tidak akan menghasilkan interrupt vektor. Dalam hal ini TWINT Flag hanya dipergunakan sebagai indikator suatu action pada bus TWI.

Prinsip prinsip yang dipergunakan pada TWI Transmission adalah sbb :

  • Ketika TWI telah selesai melaksanakan suatu tugas dan mengharapkan suatu response, TWINT Flag diset. Jalur SCL dipaksa LOW sampai TWINT diclearkan.
  • Ketika TWINT Flag set, maka user harus meng-update seluruh TWI register dengan harga yang relevan pada siklus clock berikutnya. Sebagai sebuah contoh, TWDR harus diisi dengan bit yang akan dikirim pada siklus clock berikutnya.
  • Setelah semua register TWI di-update dan seluruh penundaan prgram telah dilaksanakan, maka TWCR dapat ditulis. Pada saat menulisi TWCR, bit TWINT harus diset karena hal ini akan menclearkan TWINT flag.

Untuk memudahkan penggunaan TWI maka pada gambar 7 diberikan program dalam bahasa C sebagai implementasinya

Semua UC Atmel yang mendukung komunikas TWI dapat dioperasikan dalam 4 (empat) mode yaitu : Master Transmitter (MT), Master Receiver (MR), Slave Transmitter (ST) dan Slave Receiver (SR). Dalam bab ini kita hanya membahas mode master transmitter dan mode master receiver atau pada bus TWI hanya ada satu Master. Pembahasan tentang multiple Master akan dibahas pada kesempatan yang lain. Gambar 8 meringkaskan UC yang bekerja dalam mode Master Transmitter. Lingkaran pada gambar 8 mengindikasikan bahwa TWINT Flag dalam keadaan set. Angka pada lingkaran tersebut adalah kode status yang terdapat pada register TWSR, dengan bit bit prescaler di mask ke zero. Saat TWINT Flag menjadi set maka TWI Transfer akan ditunda sampai TWINT Flag di clearkan oleh software (user). Dalam bentuk tabel Mode Master Transmitter disajikan .

 

By

Essy 6 .Serial Pheripheral Interface (SPI) dan Universal Synchronous Asynchronous Receiver Transmitter (USART) pada ATmega8 / ATmega8535 dan bagaimana penggunaannya, berikan contoh implementasinya termasuk software yang digunakan.

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 mikrokontroller Penjelasan 3 jalur utama dari SPI adalah sebagai berikut :

>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.

CLK : Clock Jika dikonfigurasi sebagai master maka pin CLK berlaku sebagai output tetapi jika dikonfigurasi sebagai slave maka pin CLK berlaku sebagai input.

Untuk mengatur mode kerja komunikasi SPI ini dilakukan dengan menggunakan register SPCR (SPI Control Register), SPSR (SPI Status Register) dam SPDR (SPI Data Register) SPI Control Register (SPCR) Mode SPCR yang digunakan adalah sebagai berikut : Bit-6 SPE (SPI Enable) SPE digunakan untuk mengaktifkan dan menonaktifkan komunikasi SPI dimana jika SPI bernilai 1 maka komunikasi SPI aktif sedangkan jika bernilai 0 maka komunikasi SPI tidak aktif. Bit-4 MSTR (Master or Slave Select) MSTR digunakan untuk mengkonfigurasi sebagai master atau slave secara software dimana jika MSTR bernilai 1 maka terkonfigurasi sebagai master sedangkan MSTR bernilai 0 maka terkonfigurasi sebagai slave. Pengaturan bit MSTR ini tidak akan bisa dilakukan jika pin SS dikonfigurasi sebagai input karena jika pin SS dikonfigurasi sebagai input maka penentuan master atau slavenya otomatis dilakukan secara hardware yaitu dengan membaca level tegangan pada SS Bit-1 SPR1/0 (SPI Clock Rate Select) SPR1 dan SPR0 digunakan untuk menentukan kecepatan clock yang digunakan dalam komunikasi SPI. SPI Status Register (SPSR) Dalam SPSR mode pengaturan yang dilakukan adalah sebagai berikut : SPIF (SPI Interrupt Flag) SPIF merupakan bendera yang digunakan untuk mengetahui bahwa proses pengiriman data 1 byte sudah selesai. Jika proses pengiriman data sudah selesai maka SPIF akan bernilai satu (high). SPI Data Register (SPDR) SPDR merupakan register yang digunakan untuk menyimpan data yang akan dikirim atau diterima pada komunikasi SPI.

Pengenalan USART ATmega8535 USART (Universal Syschronous Asynchronous Received Transmitter) merupakan salah satu mode komunikasi yang dimiliki oleh Mikrokontroler ATMega8535. USART memiliki 2 pin (RxD dan TxD) untuk Asynchronous dan 3 bit TxD, RxD, xCK untuk Synchronous. Untuk mengatur komunikasi USART dilakukan melalui beberapa register yaitu : UDR (USART Data Register) adalah register yang paling penting dalam komunikasi serial ini. Sebab data yang dikirim keluar harus ditempatkan pada register ini, sedang data yang diterima dari luar dapat dibaca pada register ini pula. Pada intinya register UDR digunakan sebagai buffer untuk menyimpan data, baik yang akan dikirim maupun yang akan diterima. image Seperti yang dapat dilihat pada gambar, sejatinya UDR adalah terdiri dari 2 buah register terpisah, dengan alamat dan nama yang sama, yakni UDR. Saat kita menulis data pada UDR ini, maka sebenarnya kita menulis data pada UDR (Write) yang kemudian USART mem-frame dengan bit-bit frame dan segera akan segera mengirimkan data tersebut secara serial. Saat kita membaca UDR, sebenarnya adalah membaca UDR (Read). Data yang diterima secara serial akan disimpan dalam register tersebut, setelah hadirnya stop bit, maka USART akan membuang frame dan menyiapkan data pada UDR (Read ) sehingga dapat segera di ambil. Kita dapat menggunakan instruksi OUT dan IN untuk menulis dan membaca register UDR ini. UCSRA (USART Control dan Status Register A) adalah register yang penting. Sebegian besar adalah berisi status dari dari proses transfer komunikasi serial itu sendiri. Adapun penjelasan dari bit-bit tersebut adalah:

image

Bit 7 – RxC: USART Receive Complete Bit ini menjadi tinggi jika ada data yang masih belum diambil atau dibaca di dalam buffer penerima ( UDR-read ). Bit ini akan otomatis rendah setelah buffer penerima telah dibaca. Jika Unit Penerima tiba-tiba dimatikan setelah diaktifkan, maka isi dalam buffer penerima akan langsung dibuang (flushed) dan bit RxC ini akan langsung dibuat rendah. Bit ini juga bisa mengaktifkan instrupsi “Receive Complete interrupt ”. Lihat penjelasan tentang bit RxCIE. Untuk mengetahui penerimaan data jika high (1) ada data baru dan jika low (0) tidak ada data baru. Bit 6 – TxC: USART Transmit Complete Bit ini akan otomatis tinggi saat semua frame dalam shift-register pengiriman telah digeser semuanya keluar dan jika tidak ada data baru yang berarada dalam buffer pengiriman (UDR-write). Bit TxC ini akan otomatis rendah setelah “Transmit Complete interrupt ” dijalankan, atau dengan meng-clearkan secara manual dengan cara menulis bit ini dengan nilai 1’s (tinggi). Bit TxC ini pula dapat membangkitan “Transmit Complete interrupt ”. Lihat penjelasan tentang bit TxCIE. Untuk mengetahui pengiriman data, jika high (1) ada data baru dan jika low (0) tidak ada data baru. Bit 5 – UDRE: USART Data Register Empty Bit UDRE ini adalah untuk menjadikan tanda jika buffer pengiriman (UDR-write) telah siap untuk diberikan data baru. Bit ini akan bernilai 1 (tinggi) , berarti kita saat itu boleh menulis UDR. Bit ini dapat membangkitkan UDRIE atau “Data Register Empty interrupt ”. Lihat penjelasan tentang bit UDRIE. Bit ini setelah reset langsung bernilai 1, yang berarti siap untuk melakukan pengiriman. Bit 4 – FE: Frame Error Bit ini otomatis menjadi tinggi jika saat menerima data, ternyata ada kesalahan dari frame yang diterima. Misalnya saat Unit penerima seharusnya menunggu sebuah bit Stop, ternyata data yang ada adalah 0 (rendah). Bit ini valid setelah kita membaca UDR. Harap selalu menulis bit ini dengan 0 (rendah ) saat kita sedang menulis UCSRA. Bit 3 – DOR: Data OverRun Bit ini akan menjadi tinggi saat kondisi overrun terjadi. Kondisi ini terjadi saat buffer penerima sudah penuh dan berisi 2 data karakter, dimana data karakter terakhir tidak bisa dipindahkan ke UDR-read, karena tidak kunjung dibaca oleh user. Bit ini valid setelah kita membaca UDR. Harap selalu menulis bit ini dengan 0 (rendah ) saat kita sedang menulis UCSRA. Bit 2 – PE: Parity Error Bit ini akan menjadi tinggi saat karakter yang sedang diterima ternyata memiliki format parity yang salah. Tentu saja hal ini terjadi jika bit parity checking diaktifkan (UPM1 = 1). Bit ini valid setelah kita membaca UDR. Harap selalu menulis bit ini dengan 0 (rendah ) saat kita sedang menulis UCSRA. Bit 1 – U2X: Double the USART Transmission Speed Bit ini hanya berlaku untuk operasi tak sinkron (asynchronous). Jika bit ini kita tulis dengan 1’s (tinggi) maka baud rate akan menjadi lebih cepat 2 kali. Hal itu terjadi karena pembagi baud rate yang biasanya membagi 16 kemudian menbagi menjadi dengan 8 saja. Tulis bit ini dengan 0’s (rendah) untuk oprasi sinkron (synchronous). Bit 0 – MPCM: Multi-processor Communication Mode Bit ini digunakan untuk mode komunikasi Multi-Prosesor. Saat bit PMCM ini dibuat menjadi tinggi maka setiap data yang diterima oleh unit penerima, namun tidak dilengkapi dengan informasi alamat, data yang benar, maka akan diabaikan. Bit ini hanya berguna untuk penerima, dan bukan untuk pengirim. UCSRC (USART Control dan Status Register C) regsiter ini adalah register penting, untuk melakukan kontrol pada peralatan USART. Namuin jika tidak menggunakan fungsi USART, maka boleh mengabaikan register ini seperti dalam keadaan resetnya. dengan nilai $96, yang berarti bahwa sedang meggunakannya sebagai UART, Parity-none, 1 stop bit, ukuran data 8-bit (UCSZ2 = 0).

image

Catatan : Register UCSRC adalah berbagi alamat I/O yang sama dengan register UBBRH. Lihat bagaimana mengakses UBBRH dan UCSRC pada “Accessing UBRRH/UCSRC Registers” untuk mendapatkan penjelasan lebih lengkap. Bit 7 – URSEL: Register Select Saat akan menulis port $20 maka ada dua register yang akan akan diakses, yang ditentukan dari D7 dari data yang dituliskan. Jika D7 (MSB) adalah 1 atau datanya diatas $80 maka sedang menuliskan data pada UCSRC. Sedang jika data yang hendak dituliskan adalah dibawah $80, maka kita sedang menulis UBRRH. Bagaimana saat membaca UCSRC, pastikan sebelumnya bit ini dalam keadaan tinggi sebelumnya membaca lokasi $20 ini. Bit 6 – UMSEL: USART Mode Select Bit ini untuk memilih USART dijadikan mode Taksinkron (Asynchronous) atau Sinkron (Synchronous).

Bit 5:4 – UPM1:0: Parity Mode Bit-bit ini adalah untuk menghidupkan pembangkit dan pemeriksa parity. Jika diaktifkan maka akan otomatis membangkitkan parity pada setiap data yang dikirimkan dan akan memeriksa validitas parity dari setiap data yang diterima. Pada Unit penerima kita akan mendapatkan parity yang diterima, kemudian parity tersebut akan dibandingkan dengan status dari UMP0. Jika ternyata tidak cocok, maka bendera bit PE (Parity Error) pada UCSRA akan diaktifkan.

Hasil gambar

 

Bit 3 – USBS: Stop Bit Select Dengan membiarkan bit in menjadi 0 maka frame akan dilengkapi dengan Stop-bit selebar 1-bit. Sedang jika bit ini ditulis tinggi, maka bit stop menjadi 2-bit. Stop bit sepanjang 2-bit ini biasanya diperlukan bagi system lain yang terhubung dengan AVR akan memiliki waktu yang cukup untuk memproses data yang baru saja diterimanya, dan sudah berar-benar siap untuk menerima data berikutnya. Unit penerima USART tidak menggunakan bit ini.

Bit 2:1 – UCSZ1:0: Character Size Menentukan karakter dari data yang hendak dikirimkan dan diterima haruslah merujuk pada bit-bit ini. Yakni bit UCSZ1 dan bit UCSZ0 milik register ini. Ditambah dengan bit UCSZ2 pada register UCSRB.

Bit 0 – UCPOL: Clock Polarity Bit ini hanya digunakan pada mode Synchronous. Dalam mode ini akan direlasikan antara daya yang diterima dan data yang dikirm dan disinkronkan dengan status dari XCX (synchronous clock). Perhatikan tabel 5 untuk mendalami bagaimana singkronikasi terjadi untuk ujung XCX (edge) yang berbeda dengan mengatur bit UCPOL ini.

Hasil gambar untuk Tabel Pengaturan Polaritas Dalam Mode Synchronous

Pemrograman AVR SPI dengan Codevision

Buka projeck baru, gunakan codewizard

set icon sebagai master

Fungsi Mengirim data: SPI(char data)

Menerima data: char hasil = SPI(0)

Contoh Program membuat Voltmeter dgn SPI ADC AD7896 12 bit :

Rangkaian

Koneksi SPI ADC dan AVR

By

Essay: 5. Sub-interface pada Cisco

Pelajari tentang VLAN pada switch Cisco 2960 Series dan hubungannya dengan Sub-interface pada router Cisco 2621xm. Berikan contoh configurasinya ( menggunakan IP class C )

VLAN atau Virtual Local Area Network adalah sebuah interface yang dapat membuat beberapa segmen ip dalam satu switch manageable atau router. Jika pada pendekatan tradisional satu port LAN hanya bisa diberi satu nilai IP, pada VLAN satu port LAN dapat memiliki interface virtual yang biasa disebut VLAN, dengan pendekatan ini memungkinkan menggunakan banyak ip dalam satu port LAN pada router.

pada prakteknya suatu vlan harus bisa berkomunikasi dengan vlan lain contohnya antara vlan divisi dengan vlan pada group server.  Dengan adanya kondisi seperti itu maka diperlukanRouter yang memiliki fitur subinterface untuk memungkinkan terjadinya intervlan communication.

Penambahan sub-interface pada VLAN, ini sesuai dengan banyaknya VLAN yang akan ditangani.

contoh configurasinya ( menggunakan IP class C )

Pertama pasang cable console ke switch dan hubungkan ke PC pada port serial, kemudian kalo pake windows XP buka aplikasi Hyper terminal 

Kemudian isi terminal misalkan “switch” klik OK
pilih com1 lalu klik OK
Pilih bits per second 9600, databits 8, parity none, stop bits 1, parity control none klik OK
Press RETURN to get started!
tekan enter…
Switch>
Switch>enable
Switch#clock set 12:45:00 12 October 2014
Switch#config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#hostname Testing
Testing(config)#enable secret cisco123
Testing(config)#line vty 0 4
Testing(config-line)#password cisco
Testing(config-line)#login
Testing(config-line)#exit
Testing(config)#interface vlan 1
Testing(config-if)#ip address 192.168.1.10 255.255.255.0
Testing(config-if)#no shutdown
%LINK-5-CHANGED: Interface Vlan1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up
Testing(config-if)#
Testing(config)#int fa0/1
Testing(config-if)#duplex ?
auto Enable AUTO duplex configuration
full Force full duplex operation
half Force half-duplex operation
Testing(config-if)#duplex full
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
Testing(config-if)#speed ?
10 Force 10 Mbps operation
100 Force 100 Mbps operation
auto Enable AUTO speed configuration
Testing(config-if)#speed auto
Testing(config-if)#description koneksi Server Email
Testing(config-if)#no shutdown
Testing(config-if)#exit
Testing(config)#int fa0/2
Testing(config-if)#duplex full
%LINK-5-CHANGED: Interface FastEthernet0/2, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to up
Testing(config-if)#speed auto
Testing(config-if)#description koneksi Server Dns
Testing(config-if)#no shutdown
Testing(config-if)#exit
Testing(config)#exit
Testing#copy running-config startup-config
Destination filename [startup-config]?
Building configuration…
[OK]
Testing#
Untuk mengecek bisa mengetikan perintah
show ?
show running-config
show interface status
show interface summary
show host

Interface Pada Cisco Router

Serial Interface

Cisco router seri 2621 adalah router akses modular dengan koneksi LAN dan WAN yang dapat dikonfigurasi dengan cara modul dipertukarkan dan kartu antarmuka WAN.

Ethernet interface

Semua Cisco router seri 2621 termasuk tambahan 115Kbps pendukung pelabuhan Dial On Demand Routing, ideal untuk konektivitas back-up WAN. Interface fisik termasuk steker listrik untuk catu daya dan tombol power. Router memiliki dua Fast Ethernet (10/100 RJ-45) konektor untuk transfer data masuk dan keluar. Modul ini juga memiliki dua lainnya RJ-45 konektor pada panel belakang untuk konsol terminal untuk akses sistem lokal dan port tambahan untuk akses sistem remote atau cadangan panggilan menggunakan modem. Port 10/100Base-T LAN memiliki Link / Activity, 10/100Mbps, dan setengah / LED full duplex.

Console

Console Application ( Aplikasi Konsol ) adalah baris perintah yang berorientansi aplikasi yang memungkinkan kita untuk membaca karakter dari konsol, menulis karakter ke konsol dan dijalankan dalam versi DOS. Aplikasi konsol ditulis dalam kode dan didukung oleh nama space System Console.

By

Essay: 4. Sensor asap/gas MQ2 dan ADC MCP3002

Sensor Asap (MQ-2)

(Datasheet Sensor Gas Dan Asap MQ-2 2011).Sensor gas asap MQ-2 ini mendeteksi konsentrasi gas yang mudah terbakar di udara serta asap dan output membaca sebagai tegangan analog.

Sensor gas asap MQ-2 dapat langsung diatur sensitifitasnya dengan memutar trimpot. Sensor ini biasa digunakan untuk mendeteksi kebocoran gas baik di rumah maupun di industri. Gas yang dapat dideteksi diantaranya : LPG, i-butane, propane, methane ,alcohol, Hydrogen, smoke.

Gambar. Sensor MQ-2

Spesifikasi sensor :

  • Catu daya pemanas : 5V AC/DC

  • Catu daya rangkaian : 5VDC

  • Range pengukuran :

200 – 5000ppm untuk LPG, propane

300 – 5000ppm untuk butane

5000 – 20000ppm untuk methane

300 – 5000ppm untuk Hidrogen

100 – 2000ppm untuk alkohol

  • Luaran : analog (perubahan tegangan)

Sensor ini dapat mendeteksi konsentrasi gas yang  mudah terbakar di udara serta asap dan keluarannya berupa tegangan analog. Sensor dapat mengukur konsentrasi gas mudah terbakar dari 300 sampai 10.000 sensor ppm. Dapat beroperasi pada suhu dari -20°C sampai 50°C dan mengkonsumsi arus kurang dari 150 mA pada 5V

MQ-2-smoke-sensor-pinout

MQ-2 Smoke Sensor Circuit with Raspberry Pi Schematic

The circuit we will build is shown below.

MQ-2 smoke sensor circuit with Raspberry Pi

The real-life diagram of the circuit above is shown below.

MQ-2 smoke sensor circuit with Raspberry Pi

Jadi untuk daya sensor asap, kita menghubungkan pin 2 dari sensor asap ke terminal 5V dari pi raspberry dan terminal 3 ke terminal GND dari pi raspberry. Hal ini memberikan asap sensor 5 volt perlu didukung. Output dari sensor masuk ke MCP3002 pin ch0, yang merupakan pin 2 dari MCP3002. Ini adalah salah satu pin input analog dari MCP3002. The MCP3002 perlu mengubah sinyal analog ini dari sensor asap menjadi sinyal digital, yang merupakan satu-satunya jenis sinyal bahwa pi Raspberry dapat menafsirkan. Jika Anda tidak yakin bagaimana untuk menghubungkan MCP3002 converter analog-ke-digital ke Raspberry Pi, lihat artikel full-length, Bagaimana Hubungkan MCP3002 analog-ke-digital converter untuk Raspberry Pi. Ini akan mencakup pinout dari chip MCP3002 serta semua koneksi ke papan Raspberry Pi. Melalui koneksi ini, Raspberry Pi dapat membaca tegangan output analog dari sensor. Kami akan membuatnya dalam kode kita bahwa jika tegangan sensor asap melebihi ambang batas tertentu, yang kita akan tentukan, kita akan membuatnya sehingga program kami output pernyataan, “merokok terdeteksi.” Sekarang kita telah menunjukkan koneksi hardware, satu-satunya komponen lain yang kita butuhkan adalah kode perangkat lunak kami.

By

Pelajari tentang Sensor Suhu DS18B20 dan bagaimana penyambungan alat tersebut sebagai input pada perangkat Raspberry Pi sebagai sensor suhu sebuah ruangan.

DS18B20 adalah sensor suhu digital seri terbaru dari Maxim IC (dulu yang buat adalah Dallas Semiconductor, lalu dicaplok oleh Maxim Integrated Products). Sensor ini mampu membaca suhu dengan ketelitian 9 hingga 12-bit, rentang -55°C hingga 125°C dengan ketelitian (+/-0.5°C ). Setiap sensor yang diproduksi memiliki kode unik sebesar 64-Bit yang disematkan pada masing-masing chip, sehingga memungkinkan penggunaan sensor dalam jumlah besar hanya melalui satu kabel saja (single wire data bus/1-wire protocol). Ini merupakan komponen yang luar biasa, dan merupakan batu patokan dari banyak proyek-proyek data logging dan kontrol berbasis temperatur di luar sana.

Fitur dari sensor suhu DS18B20

Sebagai acuan dan informasi pendukung, sensor ini memiliki fitur utama sebagai berikut:

  1. Antarmuka hanya menggunakan satu kabel sebagai komunikasi (menggunakan protokol Unique 1-Wire)
  2. Setiap sensor memiliki kode pengenal unik 64-bit yang tertanam di onboard ROM
  3. Kemampuan multidrop yang menyederhanakan aplikasi penginderaan suhu terdistribusi
  4. Tidak memerlukan komponen tambahan
  5. Juga bisa diumpankan daya melalui jalur datanya. Rentang dayanya adalah 3.0V hingga 5.5V
  6. Bisa mengukur temperatur mulai dari -55°C hingga +125 °C
  7. Memiliki akurasi +/-0.5 °C  pada rentang -10 °C hingga +85 °C
  8. Resolusi sensor bisa dipilih mulai dari 9 hingga 12 bit
  9. Bisa mengkonversi data suhu ke 12-bit digital word hanya dalam 750 milidetik (maksimal)
  10. Memiliki konfigurasi alarm yang bisa disetel (nonvolatile)
  11. Bisa digunakan untuk fitur pencari alarm dan alamat sensor yang temperaturnya diluar batas (temperature alarm condition)
  12. Penggunaannya bisa dalam lingkungan kendali termostatis, sistem industri, produk rumahan, termometer, atau sistem apapun yang memerlukan pembacaan suhu.

Sensor DS18B20 memiliki dua jenis casing, yang umum beredar di pasaran yaitu casing biasa dan casing anti air (kiri).

 

Interfacing Sensor Suhu DS18B20 di Raspberry Pi

Pada tulisan kali ini saya akan mencoba berbagi cara interfacing sensor DS18B20 di Raspberry Pi. Tujuan dari tulisan ini adalah kita memahami bagaimana cara melakukan pembacaan sensor DS18B20 di Raspberry Pi yang terhubung melalui komunikasi 1-wire, menggunakan bahasa pemrograman Python 3.

Langkah pertama adalah, kita melakukan perakitan perangkat keras. Komponen yang kita perlukan disini adalah sensornya sendiri, baik tipe anti air atau yang biasa dan sebuah resistor/hambatan dengan nilai 4.7KΩ.

DS18B20 adalah “1-wire” sensor yang bisa dihubungkan secara parallel. Jika dipasang lebih dari satu, semua sensor berbagi pin yang sama, tapi resistor 4.7Knya cukup dipasang satu saja.

Fungsi dari resistor ini adalah sebagai ‘pullup’ dari jalur data, dan diperlukan untuk membantu memastikan proses transfer data tetap berjalan stabil dan baik.

Perhatian: meskipun bentuk dari DS18B20 yang biasa berkaki tiga, sangat mirip dengan sensor suhu analog LM35 atau sensor jenis lain seperti TMP36, sensor-sensor itu sama sekali tidak cocok dengan tulisan ini, jadi jangan coba-coba untuk menggunakan tipe lain karena dapat merusak sensor dan Raspberry Pi sendiri.

Skema Pengkabelan Single/Multi DS18B20 di Raspberry Pi

Kabel merah adalah tegangan positif 3.3V, hitam adalah negatif/ground, dan biru adalah Data.

Koding Program Pembacaan Sensor Suhu DS18B20 dengan Python 3

Pada console Raspberry pi, pertama kita perlu menginstall library w1thermsensor. Library ini mendukung pembacaan sensor digital 1-wire tidak hanya DS18B20 tapi juga sensor saudaranya seperti DS18S20 * DS1822 * DS18B20 * DS28EA00 * DS1825/MAX31850K.

Pertama kita aktifkan dulu modul kernel 1-wire. Buka file konfigurasi Raspberry Pi,

$ sudo nano /boot/config.txt

Cari baris yang berisi tulisan #Additional overlays and parameters are documented… dan tambahkan dibawahnya dtoverlay=w1-gpio,gpiopin=4 sehingga menjadi:

# Additional overlays and parameters are documented /boot/overlays/README
dtoverlay=w1-gpio,gpiopin=4

Tekan CTRL+X+Y enter untuk keluar dari nano. Lalu reboot Raspi:

$ sudo reboot

Setelah reboot, kita bisa menginstall w1thermsensor:

$ sudo apt-get install python3-w1thermsensor -y

Tunggu proses download dan instalasi selesai. Setelah itu, kita buka console Raspi lagi untuk mencari tahu kode unik dari sensor yang terpasang. Caranya cukup masuk ke direktori w1_bus_master1 menggunakan perintah ls:

$ ls /sys/devices/w1_bus_master1/

Akan muncul hasil seperti berikut:

28-000005504c8b  w1_master_attempts         w1_master_remove
driver           w1_master_max_slave_count  w1_master_search
subsystem        w1_master_name             w1_master_slave_count
uevent           w1_master_pointer          w1_master_slaves
w1_master_add    w1_master_pullup           w1_master_timeout

Bisa terlihat yang saya bold dan garis bawahi adalah kode unik dari sensor. Kita ambil kodenya setelah tanda (-), angka 28 kita abaikan. Sehingga kode sensor saya adalah 000005504c8b.

Setelah mendapatkan kode unik sensor, kemudian buka Python 3, dan coba ketik perintah berikut untuk memastikan sensor suhu terpasang dengan baik:

$ sudo python3

>>> from w1thermsensor import W1ThermSensor as PembacaSensor
>>> sensorSuhu = PembacaSensor(PembacaSensor.THERM_SENSOR_DS18B20, “000005504c8b”)
>>> sensorSuhu.get_temperature()
32.687

Dari hasil diatas, bisa terlihat suhunya adalah 32.687 derajat selsius. Selanjutnya, program bisa dikembangkan tanpa batas.

 

 

By

SKUP SATRIA

Hasil gambar untuk satria puji irawan

Hola nama saya satria puji irawan ,saya sedang mengikuti perkuliahan ILp Kelas SK202Z ( Interfacing ) yang dibimbing oleh Bapak. Ignatius Agus Supriyono,SKom.,MM.

No. Assignment Status grade
1 Students Agrrement ILP Tercapai
2
3
4
5
6

By

Essay: 13. 7 Segment

Pengertian Seven Segment Display (Layar Tujuh Segmen)

Pengertian Seven Segment Display

Pengertian Seven Segment Display – Seven Segment Display (7 Segment Display) dalam bahasa Indonesia disebut dengan Layar Tujuh Segmen adalah komponen Elektronika yang dapat menampilkan angka desimal melalui kombinasi-kombinasi segmennya. Seven Segment Display pada umumnya dipakai pada Jam Digital, Kalkulator, Penghitung atau Counter Digital, Multimeter Digital dan juga Panel Display Digital seperti pada Microwave Oven ataupun Pengatur Suhu Digital . Seven Segment Display pertama diperkenalkan dan dipatenkan pada tahun 1908 oleh Frank. W. Wood dan mulai dikenal luas pada tahun 1970-an setelah aplikasinya pada LED (Light Emitting Diode).

Seven Segment Display memiliki 7 Segmen dimana setiap segmen dikendalikan secara ON dan OFF untuk menampilkan angka yang diinginkan. Angka-angka dari 0 (nol) sampai 9 (Sembilan) dapat ditampilkan dengan menggunakan beberapa kombinasi Segmen. Selain 0 – 9, Seven Segment Display juga dapat menampilkan Huruf Hexadecimal dari A sampai F. Segmen atau elemen-elemen pada Seven Segment Display diatur menjadi bentuk angka “8” yang agak miring ke kanan dengan tujuan untuk mempermudah pembacaannya. Pada beberapa jenis Seven Segment Display, terdapat juga penambahan “titik” yang menunjukan angka koma decimal.  Terdapat beberapa jenis Seven Segment Display, diantaranya adalah Incandescent bulbs, Fluorescent lamps (FL), Liquid Crystal Display (LCD) dan Light Emitting Diode (LED).

LED 7 Segmen (Seven Segment LED)

Salah satu jenis Seven Segment Display yang sering digunakan oleh para penghobi Elektronika adalah 7 Segmen yang menggunakan LED (Light Emitting Diode) sebagai penerangnya.  LED 7 Segmen ini umumnya memiliki 7 Segmen atau elemen garis dan 1 segmen titik yang menandakan “koma” Desimal. Jadi Jumlah keseluruhan segmen atau elemen LED sebenarnya adalah 8. Cara kerjanya pun boleh dikatakan mudah, ketika segmen atau elemen tertentu diberikan arus listrik, maka Display akan menampilkan angka atau digit yang diinginkan sesuai dengan kombinasi yang diberikan.

Terdapat 2 Jenis LED 7 Segmen, diantaranya adalah “LED 7 Segmen common Cathode” dan “LED 7 Segmen common Anode”.

LED 7 Segmen Tipe Common Cathode (Katoda)

Pada LED 7 Segmen jenis Common Cathode (Katoda), Kaki Katoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan Kaki Anoda akan menjadi Input untuk masing-masing Segmen LED.  Kaki Katoda yang terhubung menjadi 1 Pin ini merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal) akan diberikan kepada masing-masing Kaki Anoda Segmen LED.LED Seven Segment Display Tipe Common Katoda

LED 7 Segmen Tipe Common Anode (Anoda)

Pada LED 7 Segmen jenis Common Anode (Anoda), Kaki Anoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan kaki Katoda akan menjadi Input untuk masing-masing Segmen LED. Kaki Anoda yang terhubung menjadi 1 Pin ini akan diberikan Tegangan Positif (+) dan Signal Kendali (control signal) akan diberikan kepada masing-masing Kaki Katoda Segmen LED.LED Seven Segment Display Tipe Common Anoda

Prinsip Kerja Dasar Driver System pada LED 7 Segmen

Berikut ini adalah Blok Diagram Dasar untuk mengendalikan LED 7 Segmen :Blok Diagram Seven Segment Display

Blok Dekoder pada diagram diatas mengubah sinyal Input yang diberikan menjadi 8 jalur yaitu “a” sampai “g” dan poin decimal (koma) untuk meng-ON-kan segmen sehingga menghasilkan angka atau digit yang diinginkan. Contohnya, jika output dekoder adalah a, b, dan c, maka Segmen LED akan menyala menjadi angka “7”.   Jika Sinyal Input adalah berbentuk Analog, maka diperlukan ADC (Analog to Digital Converter) untuk mengubah sinyal analog menjadi Digital sebelum masuk ke Input Dekoder. Jika Sinyal Input sudah merupakan Sinyal Digital, maka Dekoder akan menanganinya sendiri tanpa harus menggunakan ADC.

Fungsi daripada Blok Driver adalah untuk memberikan arus listrik yang cukup kepada Segmen/Elemen LED untuk menyala. Pada Tipe Dekoder tertentu, Dekoder sendiri dapat mengeluarkan Tegangan dan Arus listrik yang cukup untuk menyalakan Segmen LED maka Blok Driver ini tidak diperlukan. Pada umumnya Driver untuk menyalakan 7 Segmen ini adalah terdiri dari 8 Transistor Switch pada masing-masing elemen LED.

Tabel Pengaktifan Seven Segment Display

ANGKA h g f e d c b a
0 0 0 1 1 1 1 1 1
1 0 0 0 0 0 1 1 0
2 0 1 0 1 1 0 1 1
3 0 1 0 0 1 1 1 1
4 0 1 1 0 0 1 1 0
5 0 1 1 0 1 1 0 1
6 0 1 1 1 1 1 0 1
7 0 0 0 0 0 1 1 1
8 0 1 1 1 1 1 1 1
9 0 1 1 0 1 1 1 1

Catatan :

1 = ON (High)
0 = OFF (Low)

berikan contoh penggunaan 7 Segment dalam rangkaian ATmega8 / ATmega8535 sebagai display,

berikan juga contoh programnya.

Seven segment merupakan penampil yang setingkat dengan LED, hanya saja seven segment dapat menampilkan data ke bentuk karakter. Dalam pemrogrmannya, seven segment harus diberi data khusus agar dapat terbentuk karakter tertentu. Oleh karena itu harus diperhatikan hardware yang terpasang. Ada dua tipe pengaplikasian seven segement yaitu common anode atau common katode. Untuk percobaan kali ini menggunakan single seven segment dengan konfigurasi common anode seperti gambar dibawah ini:

Aplikasi Seven Segment dengan simulasi program PROTEUS

Data Karakter Angka Pada Seven Segment

Pemrograman Seven Segment dengan Bascom AVR

Program berikut ini digunakan untuk menampilkan angka 5 dan 7. Diantara data yang di keluarkan pada port A tersebut terdapat waktu tunda kurang lebih 1000 milisekon ato 1 detik. Didalam program utama terdapat pernyataan “do loop”. Pernyataan itu berfungsi untuk melakukan looping  secara terus menerus.

Result:

 

By

Essay: 12. LCD

Pelajari tentang LCD, pengertian pada pin -pin LCD dan penggunaannya,

berikan contoh penggunaan LCD dalam rangkaian ATmega8 / ATmega8535 sebagai display,

berikan juga contoh programnya.

1.Pin – Pin yang dipergunakan pada LCD

Fungsi Pin LCD (Liquid Cristal Display) Dot Matrix 2×16 M1632 DB0 – DB7 adalah jalur data (data bus) yang berfungsi sebagai jalur komunikasi untuk mengirimkan dan menerima data atau instruksi dari mikrokontrooler ke modul LCD. RS adalah pin yang berfungsi sebagai selektor register (register sellect) yaitu dengan memberikan logika low (0) sebagai register perintah dan logika high (1) sebagai register data. R/W adalah pin yang berfungsi untuk menentukan mode baca atau tulis dari data yang terdapat pada DB0 – DB7. Yaitu dengan memberikan logika low (0) untuk fungsi read dan logika high (1) untuk mode write. Enable (E), berfungsi sebagai Enable Clock LCD, logika 1 setiap kali pengiriman atau pembacaan data.

2.Bagaimana pemasangan pin-pin LCD pada ATmega8535 dan cara pemrograman pin-pin tersebut.

1. Kaki 1 dan 16 terhubung dengan Ground (GND)

2. Kaki 2 dan 15 terhubung dengan VCC (+5V)

3. Kaki 3 dari LCD 16×2 adalah pin yang digunakan untuk mengatur kontras kecerahan LCD. Jadi kita bisa memasangkan sebuah trimpot 103 untuk mengatur kecerahanya. Pemasanganya seperti terlihat pada rangkaian tersebut. Karena LCD akan berubah kecerahanya jika tegangan pada pin 3 ini di turunkan atau dinaikan.

4. Pin 4 (RS) dihubungkan dengan pin mikrokontroler

5. Pin 5 (RW) dihubungkan dengan GND

6. Pin 6 (E) dihubungkan dengan pin mikrokontroler

7. Sedangkan pin 11 hingga 14 dihubungkan dengan pin mikrokontroler sebagai jalur datanya.

3.Bagaimana menampilkan character pd LCD yang diprogram dari ATmega8535

LCD (Liquid Crystal Display) adalah modul penampil yang banyak digunakan karena tampilannya menarik. LCD yang paling banyak digunakan saat ini ialah tipe M1632 karena harganya cukup murah. LCD M1632 merupakan modul LCD dengan tampilan 2×16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD.

Untuk rangkaian interfacing, LCD tidak banyak memerlukan komponen pendukung. Hanya diperlukan satu variable resistor untuk memberi tegangan kontras pada matriks LCD.

Dengan menggunakan CodeVision AVR, pemrograman untuk menampilkan karakter atau string ke LCD sangat mudah karena didukung library yang telah disediakan oleh CodeVision AVR itu sendiri. Kita tidak harus memahami karakteristik LCD secara mendalam, perintah tulis dan inisialisasi sudah disediakan oleh library dari CodeVision AVR.

A. Pin – Pin yang dipergunakan pada LCD

– Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.

– Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data.

– Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data.

– Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.

– Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.

B. Bagaimana pemasangan pin-pin LCD pada ATmega8535 dan cara pemrograman pin-pin tersebut.

dari gambar tersebut dapat dilihat bahwa LCD 16×2 mempunya 16 pin. sedangkan pengkabelanya adalah sebagai berikut :

1. Kaki 1 dan 16 terhubung dengan Ground (GND)

2. Kaki 2 dan 15 terhubung dengan VCC (+5V)

3. Kaki 3 dari LCD 16×2 adalah pin yang digunakan untuk mengatur kontras kecerahan LCD. Jadi kita bisa memasangkan sebuah trimpot 103 untuk mengatur kecerahanya. Pemasanganya seperti terlihat pada rangkaian tersebut. Karena LCD akan berubah kecerahanya jika tegangan pada pin 3 ini di turunkan atau dinaikan.

4. Pin 4 (RS) dihubungkan dengan pin mikrokontroler

5. Pin 5 (RW) dihubungkan dengan GND

6. Pin 6 (E) dihubungkan dengan pin mikrokontroler

7. Sedangkan pin 11 hingga 14 dihubungkan dengan pin mikrokontroler sebagai jalur datanya.

C. Bagaimana menampilkan character pd LCD yang diprogram dari ATmega8535

Susunan alamat pada LCD

Alamat awal karakter 00H dan alamat akhir 39H. Jadi, alamat awal di baris kedua dimulai dari 40H. Jika Anda ingin meletakkan suatu karakter pada baris ke-2 kolom pertama, maka harus diset pada alamat 40H. Jadi, meskipun LCD yang digunakan 2×16 atau 2×24, atau bahkan 2×40, maka penulisan programnya sama saja.

CGRAM merupakan memori untuk menggambarkan pola sebuah karakter, dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan. Namun, memori akan hilang saat power supply tidak aktif sehingga pola karakter akan hilang. Berikut tabel pin untuk LCD M1632. Perbedaannya dengan LCD standar adalah pada kaki 1 VCC, dan kaki 2 Gnd. Ini kebalikan dengan LCD standar.
Susunan kaki pada LCD

Perlu diketahui, driver LCD seperti HD44780 memiliki dua register yang aksesnya diatur menggunakan pin RS. Pada saat RS berlogika 0, register yang diakses adalah perintah, sedangkan pada saat RS berlogika 1, register yang diakses adalah register data.

$regfile = “8535def.dat”
$crystal = 4000000

Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.1 , Rs = Porta.0

Config Lcd = 16 * 2

Do
Cls
Locate 1 , 1
Lcd “Pengenalan”
Waitms 100
Locate 2 , 1
Lcd “Pemograman”
Waitms 100
cls
Locate 1 , 4
Lcd “ATMEGA8535″
Waitms 100
Locate 2 , 1
Lcd “Dengan BASCOM-AVR”
Waitms 100
Cls
Locate 1 , 1
Lcd “BY”
Locate 2 , 1
Lcd “Frengki”
Waitms 100
Loop

Pembahasan Program :

$regfile = “8535def.dat” library yang menyatakan bahwa mikrokontroller yang kita pakai adalah atmega32,
$crystal = 4000000 meyatakan bahwa clock oscillator yang kita pakai sebesar 8Mhz,
Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.1 , Rs = Porta.0 inisialisasi pin-pin pada LCD sendiri,
Config Lcd = 16 * 2 LCD yang kita pakai adalah LCD berukuran 20*4,
Cls = LCD dibersihkan terlebih dahulu
Locate 1 , 1 = menyatakan huruf atau angka yang akan ditampilkan pertama kali akan keluar pada kolom 1 baris 1,
Lcd “Pengenalan” = kata yang akan ditampilkan pada LCD adalah “pengenalan”

By

Serial Pheripheral Interface (SPI) dan Universal Synchronous Asynchronous Receiver Transmitter (USART) pada ATmega8 / ATmega8535 dan bagaimana penggunaannya, berikan contoh implementasinya termasuk software yang digunakan.

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 mikrokontroller Penjelasan 3 jalur utama dari SPI adalah sebagai berikut :

>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.

CLK : Clock Jika dikonfigurasi sebagai master maka pin CLK berlaku sebagai output tetapi jika dikonfigurasi sebagai slave maka pin CLK berlaku sebagai input.

Untuk mengatur mode kerja komunikasi SPI ini dilakukan dengan menggunakan register SPCR (SPI Control Register), SPSR (SPI Status Register) dam SPDR (SPI Data Register) SPI Control Register (SPCR) Mode SPCR yang digunakan adalah sebagai berikut : Bit-6 SPE (SPI Enable) SPE digunakan untuk mengaktifkan dan menonaktifkan komunikasi SPI dimana jika SPI bernilai 1 maka komunikasi SPI aktif sedangkan jika bernilai 0 maka komunikasi SPI tidak aktif. Bit-4 MSTR (Master or Slave Select) MSTR digunakan untuk mengkonfigurasi sebagai master atau slave secara software dimana jika MSTR bernilai 1 maka terkonfigurasi sebagai master sedangkan MSTR bernilai 0 maka terkonfigurasi sebagai slave. Pengaturan bit MSTR ini tidak akan bisa dilakukan jika pin SS dikonfigurasi sebagai input karena jika pin SS dikonfigurasi sebagai input maka penentuan master atau slavenya otomatis dilakukan secara hardware yaitu dengan membaca level tegangan pada SS Bit-1 SPR1/0 (SPI Clock Rate Select) SPR1 dan SPR0 digunakan untuk menentukan kecepatan clock yang digunakan dalam komunikasi SPI. SPI Status Register (SPSR) Dalam SPSR mode pengaturan yang dilakukan adalah sebagai berikut : SPIF (SPI Interrupt Flag) SPIF merupakan bendera yang digunakan untuk mengetahui bahwa proses pengiriman data 1 byte sudah selesai. Jika proses pengiriman data sudah selesai maka SPIF akan bernilai satu (high). SPI Data Register (SPDR) SPDR merupakan register yang digunakan untuk menyimpan data yang akan dikirim atau diterima pada komunikasi SPI.

Pengenalan USART ATmega8535 USART (Universal Syschronous Asynchronous Received Transmitter) merupakan salah satu mode komunikasi yang dimiliki oleh Mikrokontroler ATMega8535. USART memiliki 2 pin (RxD dan TxD) untuk Asynchronous dan 3 bit TxD, RxD, xCK untuk Synchronous. Untuk mengatur komunikasi USART dilakukan melalui beberapa register yaitu : UDR (USART Data Register) adalah register yang paling penting dalam komunikasi serial ini. Sebab data yang dikirim keluar harus ditempatkan pada register ini, sedang data yang diterima dari luar dapat dibaca pada register ini pula. Pada intinya register UDR digunakan sebagai buffer untuk menyimpan data, baik yang akan dikirim maupun yang akan diterima. image Seperti yang dapat dilihat pada gambar, sejatinya UDR adalah terdiri dari 2 buah register terpisah, dengan alamat dan nama yang sama, yakni UDR. Saat kita menulis data pada UDR ini, maka sebenarnya kita menulis data pada UDR (Write) yang kemudian USART mem-frame dengan bit-bit frame dan segera akan segera mengirimkan data tersebut secara serial. Saat kita membaca UDR, sebenarnya adalah membaca UDR (Read). Data yang diterima secara serial akan disimpan dalam register tersebut, setelah hadirnya stop bit, maka USART akan membuang frame dan menyiapkan data pada UDR (Read ) sehingga dapat segera di ambil. Kita dapat menggunakan instruksi OUT dan IN untuk menulis dan membaca register UDR ini. UCSRA (USART Control dan Status Register A) adalah register yang penting. Sebegian besar adalah berisi status dari dari proses transfer komunikasi serial itu sendiri. Adapun penjelasan dari bit-bit tersebut adalah:

image

Bit 7 – RxC: USART Receive Complete Bit ini menjadi tinggi jika ada data yang masih belum diambil atau dibaca di dalam buffer penerima ( UDR-read ). Bit ini akan otomatis rendah setelah buffer penerima telah dibaca. Jika Unit Penerima tiba-tiba dimatikan setelah diaktifkan, maka isi dalam buffer penerima akan langsung dibuang (flushed) dan bit RxC ini akan langsung dibuat rendah. Bit ini juga bisa mengaktifkan instrupsi “Receive Complete interrupt ”. Lihat penjelasan tentang bit RxCIE. Untuk mengetahui penerimaan data jika high (1) ada data baru dan jika low (0) tidak ada data baru. Bit 6 – TxC: USART Transmit Complete Bit ini akan otomatis tinggi saat semua frame dalam shift-register pengiriman telah digeser semuanya keluar dan jika tidak ada data baru yang berarada dalam buffer pengiriman (UDR-write). Bit TxC ini akan otomatis rendah setelah “Transmit Complete interrupt ” dijalankan, atau dengan meng-clearkan secara manual dengan cara menulis bit ini dengan nilai 1’s (tinggi). Bit TxC ini pula dapat membangkitan “Transmit Complete interrupt ”. Lihat penjelasan tentang bit TxCIE. Untuk mengetahui pengiriman data, jika high (1) ada data baru dan jika low (0) tidak ada data baru. Bit 5 – UDRE: USART Data Register Empty Bit UDRE ini adalah untuk menjadikan tanda jika buffer pengiriman (UDR-write) telah siap untuk diberikan data baru. Bit ini akan bernilai 1 (tinggi) , berarti kita saat itu boleh menulis UDR. Bit ini dapat membangkitkan UDRIE atau “Data Register Empty interrupt ”. Lihat penjelasan tentang bit UDRIE. Bit ini setelah reset langsung bernilai 1, yang berarti siap untuk melakukan pengiriman. Bit 4 – FE: Frame Error Bit ini otomatis menjadi tinggi jika saat menerima data, ternyata ada kesalahan dari frame yang diterima. Misalnya saat Unit penerima seharusnya menunggu sebuah bit Stop, ternyata data yang ada adalah 0 (rendah). Bit ini valid setelah kita membaca UDR. Harap selalu menulis bit ini dengan 0 (rendah ) saat kita sedang menulis UCSRA. Bit 3 – DOR: Data OverRun Bit ini akan menjadi tinggi saat kondisi overrun terjadi. Kondisi ini terjadi saat buffer penerima sudah penuh dan berisi 2 data karakter, dimana data karakter terakhir tidak bisa dipindahkan ke UDR-read, karena tidak kunjung dibaca oleh user. Bit ini valid setelah kita membaca UDR. Harap selalu menulis bit ini dengan 0 (rendah ) saat kita sedang menulis UCSRA. Bit 2 – PE: Parity Error Bit ini akan menjadi tinggi saat karakter yang sedang diterima ternyata memiliki format parity yang salah. Tentu saja hal ini terjadi jika bit parity checking diaktifkan (UPM1 = 1). Bit ini valid setelah kita membaca UDR. Harap selalu menulis bit ini dengan 0 (rendah ) saat kita sedang menulis UCSRA. Bit 1 – U2X: Double the USART Transmission Speed Bit ini hanya berlaku untuk operasi tak sinkron (asynchronous). Jika bit ini kita tulis dengan 1’s (tinggi) maka baud rate akan menjadi lebih cepat 2 kali. Hal itu terjadi karena pembagi baud rate yang biasanya membagi 16 kemudian menbagi menjadi dengan 8 saja. Tulis bit ini dengan 0’s (rendah) untuk oprasi sinkron (synchronous). Bit 0 – MPCM: Multi-processor Communication Mode Bit ini digunakan untuk mode komunikasi Multi-Prosesor. Saat bit PMCM ini dibuat menjadi tinggi maka setiap data yang diterima oleh unit penerima, namun tidak dilengkapi dengan informasi alamat, data yang benar, maka akan diabaikan. Bit ini hanya berguna untuk penerima, dan bukan untuk pengirim. UCSRC (USART Control dan Status Register C) regsiter ini adalah register penting, untuk melakukan kontrol pada peralatan USART. Namuin jika tidak menggunakan fungsi USART, maka boleh mengabaikan register ini seperti dalam keadaan resetnya. dengan nilai $96, yang berarti bahwa sedang meggunakannya sebagai UART, Parity-none, 1 stop bit, ukuran data 8-bit (UCSZ2 = 0).

image

Catatan : Register UCSRC adalah berbagi alamat I/O yang sama dengan register UBBRH. Lihat bagaimana mengakses UBBRH dan UCSRC pada “Accessing UBRRH/UCSRC Registers” untuk mendapatkan penjelasan lebih lengkap. Bit 7 – URSEL: Register Select Saat akan menulis port $20 maka ada dua register yang akan akan diakses, yang ditentukan dari D7 dari data yang dituliskan. Jika D7 (MSB) adalah 1 atau datanya diatas $80 maka sedang menuliskan data pada UCSRC. Sedang jika data yang hendak dituliskan adalah dibawah $80, maka kita sedang menulis UBRRH. Bagaimana saat membaca UCSRC, pastikan sebelumnya bit ini dalam keadaan tinggi sebelumnya membaca lokasi $20 ini. Bit 6 – UMSEL: USART Mode Select Bit ini untuk memilih USART dijadikan mode Taksinkron (Asynchronous) atau Sinkron (Synchronous).

Bit 5:4 – UPM1:0: Parity Mode Bit-bit ini adalah untuk menghidupkan pembangkit dan pemeriksa parity. Jika diaktifkan maka akan otomatis membangkitkan parity pada setiap data yang dikirimkan dan akan memeriksa validitas parity dari setiap data yang diterima. Pada Unit penerima kita akan mendapatkan parity yang diterima, kemudian parity tersebut akan dibandingkan dengan status dari UMP0. Jika ternyata tidak cocok, maka bendera bit PE (Parity Error) pada UCSRA akan diaktifkan.

Hasil gambar

 

Bit 3 – USBS: Stop Bit Select Dengan membiarkan bit in menjadi 0 maka frame akan dilengkapi dengan Stop-bit selebar 1-bit. Sedang jika bit ini ditulis tinggi, maka bit stop menjadi 2-bit. Stop bit sepanjang 2-bit ini biasanya diperlukan bagi system lain yang terhubung dengan AVR akan memiliki waktu yang cukup untuk memproses data yang baru saja diterimanya, dan sudah berar-benar siap untuk menerima data berikutnya. Unit penerima USART tidak menggunakan bit ini.

Bit 2:1 – UCSZ1:0: Character Size Menentukan karakter dari data yang hendak dikirimkan dan diterima haruslah merujuk pada bit-bit ini. Yakni bit UCSZ1 dan bit UCSZ0 milik register ini. Ditambah dengan bit UCSZ2 pada register UCSRB.

Bit 0 – UCPOL: Clock Polarity Bit ini hanya digunakan pada mode Synchronous. Dalam mode ini akan direlasikan antara daya yang diterima dan data yang dikirm dan disinkronkan dengan status dari XCX (synchronous clock). Perhatikan tabel 5 untuk mendalami bagaimana singkronikasi terjadi untuk ujung XCX (edge) yang berbeda dengan mengatur bit UCPOL ini.

Hasil gambar untuk Tabel Pengaturan Polaritas Dalam Mode Synchronous

Pemrograman AVR SPI dengan Codevision

Buka projeck baru, gunakan codewizard

set icon sebagai master

Fungsi Mengirim data: SPI(char data)

Menerima data: char hasil = SPI(0)

Contoh Program membuat Voltmeter dgn SPI ADC   AD7896  12 bit   :

Rangkaian

Koneksi SPI   ADC dan AVR

By

VLAN pada switch Cisco 2960 Series dan hubungannya dengan Sub-interface pada router Cisco 2621xm. Berikan contoh configurasinya ( menggunakan IP class C )

VLAN atau Virtual Local Area Network adalah sebuah interface yang dapat membuat beberapa segmen ip dalam satu switch manageable atau router. Jika pada pendekatan tradisional satu port LAN hanya bisa diberi satu nilai IP, pada VLAN satu port LAN dapat memiliki interface virtual yang biasa disebut VLAN, dengan pendekatan ini memungkinkan menggunakan banyak ip dalam satu port LAN pada router.

pada prakteknya suatu vlan harus bisa berkomunikasi dengan vlan lain contohnya antara vlan divisi dengan vlan pada group server.  Dengan adanya kondisi seperti itu maka diperlukan Router yang memiliki fitur subinterface untuk memungkinkan terjadinya intervlan communication.

Penambahan sub-interface suatu vlan harus bisa berkomunikasi dengan vlan lain contohnya antara vlan divisi dengan vlan pada group server. Dengan adanya kondisi seperti itu maka diperlukan Router yang memiliki fitur subinterface untuk memungkinkan terjadinya intervlan communication.pada VLAN, ini sesuai dengan banyaknya VLAN yang akan ditangani.

contoh configurasinya (menggunakan IP class C)

Pertama pasang cable console ke switch dan hubungkan ke PC pada port serial, kemudian kalo pake windows XP buka aplikasi Hyper terminal

 

pilih com1 lalu klik OK
Pilih bits per second 9600, databits 8, parity none, stop bits 1, parity control none klik OK

Kemudian isi terminal misalkan “switch” klik OK

 

Pilih bits per second 9600, databits 8, parity none, stop bits 1, parity control none klik OK

Press RETURN to get started!
tekan enter…
Switch>
Switch>enable
Switch#clock set 12:45:00 12 October 2014
Switch#config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#hostname Testing
Testing(config)#enable secret cisco123
Testing(config)#line vty 0 4
Testing(config-line)#password cisco
Testing(config-line)#login
Testing(config-line)#exit
Testing(config)#interface vlan 1
Testing(config-if)#ip address 192.168.1.10 255.255.255.0
Testing(config-if)#no shutdown
%LINK-5-CHANGED: Interface Vlan1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up
Testing(config-if)#
Testing(config)#int fa0/1
Testing(config-if)#duplex ?
auto Enable AUTO duplex configuration
full Force full duplex operation
half Force half-duplex operation
Testing(config-if)#duplex full
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
Testing(config-if)#speed ?
10 Force 10 Mbps operation
100 Force 100 Mbps operation
auto Enable AUTO speed configuration
Testing(config-if)#speed auto
Testing(config-if)#description koneksi Server Email
Testing(config-if)#no shutdown
Testing(config-if)#exit
Testing(config)#int fa0/2
Testing(config-if)#duplex full
%LINK-5-CHANGED: Interface FastEthernet0/2, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to up
Testing(config-if)#speed auto
Testing(config-if)#description koneksi Server Dns
Testing(config-if)#no shutdown
Testing(config-if)#exit
Testing(config)#exit
Testing#copy running-config startup-config
Destination filename [startup-config]?
Building configuration…
[OK]
Testing#

Untuk mengecek bisa mengetikan perintah
show ?
show running-config
show interface status
show interface summary
show host