Archive for the ‘Dasar Mikrokontroller’ Category

Apakah Arduino itu?

Monday, February 22nd, 2021

Banyak orang menganggap bahwa Arduino adalah salah satu jenis mikrokontroler, hal ini merupakan anggapan yang salah karena Arduino sama sekali bukan merupakan jenis mikrokontroler, lalu apakah Arduino itu?

Arduino adalah sebuah platform elektronik yang bersifat Open Source baik hardware maupun software dan diciptakan oleh Hernando Barragan di Institute Ivrea Italia pada tahun 2005 dan kemudian dikembangkan oleh Massimo Banzi dan David Cuartielles. Untuk bagian hardware berupa Arduino Board dan bagian software berupa Arduino IDE dan Arduino Programming Language.

1. Arduino Board

Merupakan bagian hardware dari Arduino yaitu berupa Sistem Mikrokontroler yang memiliki input dan output baik digital maupun analog.

Terdapat berbagai macam versi Arduino Board mulai dari versi yang paling sederhana Arduino Nano hingga Arduino Due dan Arduino Robot. Sedangkan yang paling umum digunakan adalah Arduino Uno yang menggunakan ATMega328 yaitu mikrokontroler produksi Atmel dari keluarga AVR. Hampir semua Arduino Board menggunakan Mikrokontroler Keluarga AVR dari Atmel karena memiliki lokasi memory yang disebut Boot Flash Section yaitu sebuah lokasi yang digunakan untuk menyimpan Bootloader yaitu sebuah program kecil yang terdapat pada mikrokontroler yang digunakan oleh Arduino Board dan berfungsi untuk mengisi program hasil compile dari Arduino IDE  diisikan Application Flash Section dan dieksekusi setelah proses pengisian selesai.

Semua I/O dari mikrokontroler ini dapat digunakan sebagai Digital Input maupun Digital Output. Sedangkan untuk Analog Input terdapat 8 analog input dan 6 analog output (PWM)

Bootloader

Berbeda dengan sistem mikrokontroler yang lain, pada Arduino Board selalu terdapat bootloader yaitu seperti yang disebutkan di atas berupa program kecil yang berfungsi untuk membantu mengupload hasil compile Arduino IDE ke Application Flash Section.

Bootloader ini memang berbeda dengan sistem mikrokontroler pada umumnya di mana biasanya program hasil compile akan didownload langsung ke Application Flash Section menggunakan Flash Downloader melalui ISP Port.

Bootloader bekerja dengan cara menangkap program obyek yang merupakan hasil compile dari Arduino IDE yaitu berupa file Hex. File Hex ini diterima melalui port serial mikrokontroler dan dituliskan ke Application Flash Section yang terletak di dalamat 0×0000. Setelah proses penulisan selesai maka bootloader akan mengeksekusi program yang tersimpan di alamat 0×0000 tersebut.

Teknik ini mirip dengan teknik pemrograman Sistem Mikrokontroler yang dikembangkan oleh Delta Electronic pada tahun 1998 yaitu DST-51 atau Delta System Tools 51

Di sini ALDS IDE ekivalen dengan Arduino IDE, Program Monitor di Flash PEROM ekivalen dengan bootloader Arduino dan EEPROM AT28C64 ekivalen dengan Application Flash Section.

Bahkan pada Program Monitor DST-51 juga terdapat fungsi breakpoint dan Real Time Debugging

Karena sifatnya yang open source, arduino board ini tidak harus menggunakan board-board buatan Arduino, namun anda dapat menggunakan sistem mikrokontroler lain yang menggunakan mikrokontroler keluarga AVR sebagai Arduino Board. Bahkan anda juga dapat membuat ST-8535 Small System ATMega8535 produksi Delta Electronic sebagai Arduino Board dengan teknik yang dibahas pada artikel ini.

Bahkan pada DST-51 sekalipun juga dapat digunakan sebagai Arduino Board dengan menambahkan Socket Converter ATMega8535 dan mengganti AT89S51nya dengan ATMega32 yang sudah diisi bootloader Arduino.

2. Arduino IDE

Merupakan IDE (Integrated Development Environtment) yaitu sebuah software yang terintegrasi antara Teks Editor, Compiler dan Downloader yang juga dilengkapi dengan berbagai macam library siap pakai seperti GSM, Ethernet, Keyboard, Mouse dan lain-lain.

Pada Arduino IDE juga terdapat fitur penulisan bootloader yang dapat digunakan untuk menuliskan bootloader ke mikrokontroler yang masih kosong

Juga terdapat fitur Serial Monitor yang dapat digunakan untuk melihat aktifitas data di serial port

3. Arduino Programming Language

Merupakan Bahasa Pemrograman yang digunakan untuk merancang program yang akan didownload ke Arduino Board. Bahasa yang digunakan untuk ini adalah C++ yaitu Bahasa C yang telah mengalami penyempurnaan sehingga lebih user friendly bagi pemula.

Arduino Programming Language ini terdiri dari Functions, values (variables and constants) dan structure yang akan dijelaskan lebih detail pada artikel di sini.

DELTA ELECTRONIC

Paulus Andi Nalwan, ST

Penggunaan Arduino IDE pada Sistem Minimum ATMega32 ST-32

Saturday, February 13th, 2021

Penggunaan Arduino IDE (Integrated Development Environment) pada pembuatan proyek-proyek mikrokontroler dan robotik saat ini sangat familiar digunakan oleh para praktisi, pelajar maupun hobbyist karena kemudahannya. IDE ini sudah dilengkapi dengan berbagai macam library seperti SPI, Wifi, Ethernet, GSM, Mouse, Keyboard dan lain-lain sehingga sangat mempermudah pemula dalam mendisain program.

Namun Arduino IDE didisain untuk ATMega328 yang jumlah I/Onya sedikit dan ATMega2560 yang I/Onya terlalu banyak dan harganya agak mahal. Untuk jumlah I/O yang sedang seperti 32 I/O dapat digunakan ATMega32 yang harganya cukup ekonomis, namun agar Arduino IDE ini dapat digunakan pada ATMega32, berikut adalah langkah-langkah yang harus dilakukan.

  1. Lakukan instalasi Arduino IDE di PC / Laptop anda
  2. Klik File lalu Preferences

3. Copy paste kan link ini ke additional Board url https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json

4. Tools dan pilih ATMega32 di Board Manager

5. Pilih pin out Bobuino pinout

Bobino Pint Out ini adalah standard I/O Arduino untuk mikrokontroler ATMEGA8535, ATMega16, ATMega32, ATMega164, ATMega324, ATMega644, ATMega1284 seperti pada gambar di bawah ini.

Sampai pada tahap ini Arduino IDE di PC / Laptop anda telah siap untuk digunakan pada mikrokontroler ATMeg32. Berikutnya kita harus menyiapkan Sistem Minimum ATMega32 agar support Arduino dengan tahap-tahap sebagai berikut.

1. Siapkan IC ATMega32 yang sudah dilengkapi bootloader Arduino. IC tersebut dapat diperoleh di sini

2. Siapkan Sistem Minimum ATMega32 ST-32 yang dapat diperoleh di sini

3. Siapkan USB to Serial CH340 yang akan digunakan untuk menghubungkan ke PC / Laptop. Unit ini dapat diperoleh di sini

4. Hubungkan USB to Serial CH340 dan ST-32 dengan koneksi seperti pada gambar berikut

5. Pasang Kabel USB ke Port USB PC / Laptop

6. Apabila pada PC / Laptop belum terdapat driver CH340, maka lakukan instalasi driver terlebih dahulu

7. Periksa control panel dan periksa COM yang terdeteksi

8. Klik Tool dan arahkan Port ke com yang sesuai dengan USB to Serial terdeteksi di control panel

Sampai di tahap ini, antara Arduino IDE dan Sistem Mikrokontroler ATMega32 ST-32 telah terhubung dan siap untuk digunakan.

Anda tinggal membuka salah satu aplikasi yang akan didownload

Lalu Upload file ke sistem mikrokontroler hingga dipastikan upload done

Sampai di sini program / sketch yang ditulis pada Arduino IDE telah berhasil didownload ke ATMega32.

DELTA ELECTRONIC

Paulus Andi Nalwan, ST

AN-0202 Mempelajari Teori Dasar LCD 16×2 karakter M1632 dengan Delta Robotic Studio

Wednesday, October 11th, 2017

Pada artikel AN-201 Teori Dasar LCD 16×2 karakter M1632 telah kita ketahui bahwa untuk membuat tampilan pada LCD ini dibutuhkan program yang berbeda pada mikrokontroler yang berbeda. Pada mulanya pemrograman mikrokontroler masih menggunakan bahasa assembly, kemudian C dan yang marak dewasa ini adalah C yang disederhanakan oleh Arduino. Akan lebih mudah lagi bagi kita apabila dapat membuat program mikrokontroler tanpa harus memikirkan mikrokontroler apa dan bahasa apa yang digunakan?

Delta Robotic Studio adalah sebuah Software IDE yang dibuat oleh Delta Electronic untuk mempermudah pengguna mikrokontroler dalam hal ini dapat menghadapi masalah ini. Hanya dengan menggunakan Flowchart dan gambar-gambar saja anda sudah dapat memprogram mikrokontroler dengan mudah. Untuk compiler dari berbagai jenis mikrokontroler dan bahasanya telah diatur oleh Program Mikrokontroler Delta Robotic Studio.

Langkah-langkah yang perlu dilakukan adalah:

1. Pilih Bahasa, Keluarga Mikrokontroler, Jenis Mikrokontroler  dan Board Mikrokontroler yang digunakan

Setup IDE Program Mikrokontroler Delta Robotic Studio

Setup IDE Program Mikrokontroler Delta Robotic Studio

2. Kemudian pilih group makro yang akan digunakan. Dalam hal ini apabila kita akan mengakses LCD, maka cari group makro untuk akses LCD

pilih-makro-program-mikrokontroler

Pilih Kelompok Makro yang akan digunakan

3. Ambil makro yang akan digunakan dan letakkan di bawah makro start. Panah akan otomatis terbentuk yang menunjukkan hubungan antara makro yang di atas dan dibawahnya

flowchart-program-mikrokontroler

Panah akan langsung terbentuk saat makro diletakkan dibawahnya

4. Apabila kita membutuhkan info lebih detail mengenai makro dapat dilakukan dengan klik kanan dan pilih help pada makro tersebut sehingga layar sebelah kanan akan menampilkan informasi lebih detail. Contohnya pada LCD akan diberikan informasi semacam datasheet dari LCD tersebut dalam Bahasa Indonesia

help-makro-program-mikrokontroler

Fungsi Help pada Delta Robotic Studio

5. Berikut adalah Contoh Program untuk mengakses LCD yang dibuat dengan menggunakan Delta Robotic Studio

demo-lcd-program-mikrokontroler

Contoh Program Mikrokontroler LCD 16x2 karakter M1632



Program LCD dapat didownload di sini

Software Delta Robotic Studio dapat didownload di sini

Penambahan Makro

Delta Robotic Studio memang memudahkan bagi para pemula yang belum familiar dengan Bahasa C maupun Assembly dalam merancang program mikrokontroler. Namun bagi pengguna tingkat advance kadang-kadang dibutuhkan makro-makro khusus sesuai kebutuhan. Hal ini dapat dilakukan dengan langkah-langkah berikut.



Untuk membeli LCD 16×2 karakter M1632 dapat dilakukan pada link berikut ini

LCD 16×2 karakter M1632 backlight hijau

LCD 16×2 karakter M1632 backlight biru

LCD 16×2 karakter M1632 backlight putih

Berikut adalah demo program pada Modul Trainer Board TRN-02

Paulus Andi Nalwan, DELTA ELECTRONIC

Teori Dasar LCD 16×2 karakter M1632 Arduino

Monday, October 9th, 2017

Artikel berikut ini akan menjelaskan mengenai Dasar Teori LCD 16×2 karakter M1632 Arduino yang pernah kami bahas dalam AN-0034 LCD Module 16×32 (M1632) di mana dalam artikel ini akan kami bahas lebih detail mengenai struktur memori, register-register, inisialisasi dan teknik antar mukanya ke mikrokontroler / arduino.

  1. DDRAM (Data Display Random Access Memory), DDRAM dalam dasar teori LCD 16×2 karakter M1632 Arduino adalah merupakan memori tempat karakter yang ditampilkan berada. Contoh, untuk karakter ‘A’ atau 41H yang ditulis pada alamat 00, maka karakter tersebut akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut ditulis di alamat 40h, maka karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD.
    DDRAM (Teori Dasar LCD 16x2 karakter M1632 arduino)

    DDRAM (Teori Dasar LCD 16x2 karakter M1632 Arduino)

  2. CGROM (Character Generator Read Only Memory), CGROM dalam dasar teori LCD 16×2 karakter M1632 Arduino adalah merupakan memori permanen yang menggambarkan pola tiap karakter pada LCD yang tersimpan pada chipset LCD HD44780 dan tidak dapat diubah oleh pengguna. Karena sifatnya permanen, maka pola ini tidak akan hilang walau power supply dimatikan. Yang dimaksud dengan pola di sini adalah bagaimana bentuk karakter, contohnya ‘A’ dibentuk.

    CGROM Teori Dasar LCD 16x2 karakter M1632 Arduino

    Gambar 2 CGROM Teori Dasar LCD 16x2 karakter M1632 Arduino

    Contoh pada gambar 2 di atas, terlihat bagaimana pola karakter ‘A’ atau kode biner 0100 0001b ditampilkan dalam layar LCD. Pola tersebut adalah tampilan pada saat kode biner 0100 0001b atau 41h dituliskan ke dalam DDRAM dengan posisi sesuai Address Counter DDRAM saat itu

  3. CGRAM (Character Generator Randem Access Memory, CGRAM dalam teori dasar LCD 16×2 karakter M1632 arduino sama halnya dengan CGROM merupakan memori untuk menggambarkan pola sebuah karakter yang akan ditampilkan pada layar saat data dituliskan ke dalam DDRAM. Namun pada CGRAM  bentuk dari karakter dapat diubah-ubah sesuai keinginan dengan mengubah data pada CGRAM. Namun memori ini akan hilang saat power supply tidak aktif, sehingga pola karakter akan hilang. Untuk mengantisipasi kondisi tersebut biasanya pola karakter di simpan pada memori sistem minimum atau mikrokontroler yang mengakses LCD ini dan selalu diupdate saat power pertama kali diaktifkan

Register-register pada LCD 16×2

Pada artikel Teori Dasar LCD 16×2 karakter M1632 Arduino ini terdapat dua buah register yaitu Register Data dan Register Perintah. Register Data, dalam Teori Dasar LCD 16×2 karakter M1632 Arduino adalah register di mana mikrokontroler ataupun arduino dapat menuliskan atau membaca data ke atau dari DDRAM ataupun CGRAM. Akses data ke DDRAM baik penulisan maupun pembacaan adalah merupakan akses ke bagian memori dari tampilan pada layar LCD. Sedangkan akses ke CGRAM adalah merupakan proses untuk meng-edit pola karakter yang ada pada lokasi CGRAM tersebut. Register Data diakses dengan kondisi nilai RS (Register Select = 0)

Register Perintah dalam Teori Dasar LCD 16×2 karakter M1632 Arduiono adalah register di mana perintah-perintah dari mikrokontroler ataupun arduino ke chipset HD44780 selaku pengendali modul LCD 16×2 karakter M1632 diberikan. Perintah-perintah tersebut berfungsi untuk mengatur tampilan pada LCD 16×2 karakter M1632 atau alamat dari DDRAM dan CGRAM. Selain itu register ini juga merupakan tempat di mana status dari HD44780 dapat dibaca. Bit ketujuh dari data status yang terbaca adalah merupakan busy flag (tanda sibuk) yaitu suatu tanda yang mengindikasikan bahwa chipset HD44780 masih dalam kondisi sibuk sehingga proses akses data lebih lanjut dari mikrokontroler yang terhubung pada Modul LCD 16×2 karakter M1632 harus menunggu hingga tanda sibuk ini selesai. Sedangkan bit keenam hingga bit nol adalah merupakan Address Counter (Penghitung Alamat) dari DDRAM. Address Counter ini menunjukkan lokasi dari DDRAM yang sedang ditunjuk pada saat tersebut.

Address Counter LCD 16x2 karakter M1632

Gambar 3. Address Counter LCD 16x2 karakter M1632

Perintah-perintah pada LCD 16×2 karakter M1632

Berikut ini adalah daftar perintah yang dapat dikirimkan ke Register Perintah LCD 16×2 karakter M1632 arduino dengan tujuan untuk mengatur tampilan pada LCD tersebut.

Perintah D7 D6 D5 D4 D3 D2 D1 D0 Deskripsi
Hapus Display 0 0 0 0 0 0 0 1 Hapus Display dan DDRAM
Posisi Awal 0 0 0 0 0 0 1 X Set Alamat DDRAM di 0
Set Mode 0 0 0 0 0 1 I/D S Atur arah pergeseran cursor dan display
Display On/OFF 0 0 0 0 1 D C B Atur display (D) On/OFF, cursor (C) ON/OFF, Blinking (B)
Geser Cursor/Display 0 0 0 1 S/C R/L X X Geser Cursor atau display tanpa merubah alamat DDRAM
Set Fungsi 0 0 1 DL N F X X Atur panjang data, jumlah baris yang tampil, dan font karakter
Set Alamat CGRAM 0 1 ACG ACG ACG ACG ACG ACG Data dapat dibaca atau ditulis setelah alamat diatur
Set Alamat DDRAM 1 ADD ADD ADD ADD ADD ADD ADD Data dapat dibaca atau ditulis setelah alamat diatur

X = diabaikan

I/D 1=Increment, 0=Decrement

S  0=Display tidak geser

S/C 1=Display Shift, 0=Geser Cursor

R/L 1=Geser Kiri, 0=Geser Kanan

DL 1=8 bit, 0=4bit

N 1=2 baris, 0=1 baris

F 1=5×10, 0=5×8

D 0=Display OFF, 1=Display ON

C 0=Cursor OFF, 1=Cursor ON

B 0=Blinking OFF, 1=Blinking ON

Data pada tabel di atas adalah data yang harus dituliskan ke Register Perintah untuk mengatur tampilan LCD 16×2 karakter M1632

Mengatur posisi karakter pada layar LCD 16×2 karakter M1632

Untuk menentukan posisi tampilan pada layar LCD 16×2 karakter M1632 dilakukan dengan menuliskan data ke Address Counter dari LCD. Address Counter dapat diakses dengan membuat bit 7 dari data yang ditulis ke Register Perintah berlogika 1.

Pengaturan posisi karakter pada LCD 16x2 karakter M1632

Pengaturan posisi karakter pada LCD 16x2 karakter M1632

Contoh apabila kita ingin menampilkan karakter ‘D’ di kolom kedua baris pertama di layar LCD maka terlebih dahulu Address Counter kita set 01h atau 0000 0001b dan bit ke 7 diberi logika 1 sehingga menjadi 1000 0001b atau 81h. Data tersebut dituliskan pada Register Perintah agar Address Counter menunjuk ke kolom dua baris pertama dari layar LCD 16×2 karakter M1632

Kemudian data karakter ‘D’ atau 41h atau 0100 0001b dituliskan ke Register Data sehingga tersimpan dalam DDRAM pada alamat 01h dan tampil pada layar di kolom kedua baris pertama.

Posisi Karakter pada Layar LCD 16x2 karakter M1632

Posisi Karakter pada Layar LCD 16x2 karakter M1632

Inisialisasi LCD 16×2 Karakter M1632

Untuk menggunakan sebuah modul LCD 16×2 karakter M1632 maka terlebih dahulu dilakukan proses inisialisasi yang digunakan untuk mempersiapkan modul tersebut. Selain itu juga digunakan untuk  mode kerja dari  LCD 16×2 karakter M1632. Pengaturan mode ini harus ditentukan pada hanya pada saat inisialisasi awal saja yaitu:

  • Panjang Data
  • Jumlah baris LCD yang aktif
  • Bentuk Font (5×8 atau 5×10)

Diagram alir pada gambar 6 menunjukkan proses yang selalu terjadi (secara standard) pada saat inisialisasi modul LCD ini dilakukan sebelum masuk ke bagian pengaturan mode. Sistem harus menunggu selama 15 mS atau lebih setelah sumber daya mencapai tegangan 4,5 Volt agar chipset HD44780 siap untuk berhubungan dengan  mikrokontroler yang mengendalikannya.

Data 0011xxxx di mana x adalah kondisi tidak menentu (bisa 0 atau 1) dikirimkan 2 kali dengan waktu tunda 4,1 mS atau lebih dan 100 uS atau lebih. Pada bagian ini proses pembacaan status sibuk memang belum dapat dilakukan sehingga mikrokontroler harus memberikan waktu tunda terlebih dahulu.

Kemudian dilanjutkan dengan data 0010xxxx yang membuat modul ini berada pada kondisi pengaturan mode. Pada saat ini, status sibuk sudah dapat dibaca sehingga tidak harus digunakan waktu tunda. Proses pengaturan fungsi dan dilanjutkan dengan mode juga sudah dapat mulai dilakukan dengan mengirimkan data-data ke register perintah.

Inisialisasi LCD 16x2 karakter M1632

Gambar 6. Inisialisasi LCD 16x2 karakter M1632

Pengaturan Fungsi digunakan untuk mengatur panjang data, jumlah baris dan font sedangkan pengaturan mode digunakan untuk mengatur arah pergeseran kursor maupun display. Listing 4 menunjukkan bagian pengaturan fungsi dan mode pada potongan program inisialisasi LCD 16×2 karakter M1632. Pada contoh di listing ini, proses dilakukan dengan mengatur font 8×5, dua baris LCD dan panjang data 4 bit (antarmuka 4 bit). Kemudian layar LCD 16×2 karakter M1632 dimatikan dan data 01h dikirim ke register perintah untuk memastikan bahwa memori data dalam DDRAM dihapus sekaligus dan Address Counter berada pada posisi awal. Kemudian dilanjutkan dengan mengirimkan data 0Eh atau 00001110 yang berfungsi untuk mengaktifkan kembali layar LCD 16×2 karakter M1632.

Selanjutnya pengaturan mode dilakukan dengan mengirimkan data 06h atau 00000110 dalam biner di mana dalam hal ini kursor aktif dengan mode auto increment (otomatis bertambah). Yaitu posisi Address Counter akan bertambah secara otomatis saat setiap kali proses penampilan data ke layar LCD 16×2 karakter M1632 dilakukan sehingga kursor juga akan bergeser ke kanan. Pada saat ini layar LCD 16×2 karakter M1632 akan menampilkan kursor di pojok kiri atas (alamat awal) yang menandakan bahwa proses inisialisasi LCD 16×2 karakter M1632 telah berhasil dilakukan

Cara penulisan dan pembacaan data ke dan dari register-register LCD 16×2 karakter M1632

Setelah kita mengetahui data-data apa saja yang harus dikirimkan ke register-register LCD 16×2 karakter M1632 untuk mengatur LCD tersebut, berikut perlu kita pelajari bagaimana menulis dan membaca data ke register-register tersebut

1. Penulisan data ke Register Perintah

Penulisan data ke Register Perintah digunakan untuk memberikan perintah-perintah pada LCD 16×2 karakter M1632 sesuai dengan data-data yang dikirimkan ke register tersebut. (lihat tabel  Perintah-perintah LCD 16×2 karakter M1632).

Gambar 7 menunjukkan proses penulisan data ke register perintah dengan menggunakan mode 4 bit interface. Kondisi RS berlogika 0 menunjukkan akses data ke Register Perintah. RW berlogika 0 yang menunjukkan proses penulisan data akan dilakukan. Nibble tinggi (bit 7 sampai bit 4) terlebih dahulu dikirimkan dengan diawali pulsa logika 1 pada E Clock. Kemudian Nibble rendah (bit 3 sampai bit 0) dikirimkan dengan diawali pulsa logika 1 pada E Clock lagi. Untuk mode 8 bit interface, proses penulisan dapat langsung dilakukan secara 8 bit (bit 7 … bit 0) dan diawali sebuah pulsa logika 1 pada E Clock.

Menulis data ke Register Perintah LCD 16x2 karakter M1632

Menulis data ke Register Perintah LCD 16x2 karakter M1632

2. Penulisan data ke Register Data

Penulisan data ke Register Data digunakan dalam proses penulisan data karakter yang akan ditampilkan ke LCD (DDRAM) atau proses penulisan data pola karakter ke CGRAM. Proses diawali dengan adanya logika 1 pada RS yang menunjukkan akses ke Register Data, kondisi R/W diatur pada logika 0 yang menunjukkan proses penulisan data. Data 4 bit nibble tinggi (bit 7 hingga bit 4) dikirim dengan diawali pulsa logika 1 pada sinyal E Clock dan kemudian diikuti 4 bit nibble rendah (bit 3 hingga bit 0) yang juga diawali pulsa logika 1 pada sinyal E Clock.

Menulis data ke Register Data LCD 16x2 karakter M1632

Menulis data ke Register Data LCD 16x2 karakter M1632

3. Pembacaan data dari Register Perintah

Proses pembacaan data dari Register Perintah ini digunakan untuk membaca status sibuk LCD 16×2 karakter M1632 dan Address Counter  saja. RS diatur pada logika 0 untuk akses ke Register Perintah, R/W diatur pada logika 1 yang menunjukkan proses pembacaan data. 4 bit nibble tinggi dibaca dengan diawali pulsa logika 1 pada E Clock dan kemudian 4 bit nibble rendah dibaca dengan diawali pulsa logika 1 pada E Clock. Untuk Mode 8 bit interface, pembacaan 8 bit (nibble tinggi dan rendah) dilakukan sekaligus dengan diawali sebuah pulsa logika 1 pada E Clock.

Membaca data dari register perintah LCD 16x2 karakter M1632

Membaca data dari register perintah LCD 16x2 karakter M1632

4. Membaca data dari Register Data

Pembacaan data dari Register Data dilakukan untuk membaca kembali data yang tampil pada LCD. Proses dilakukan dengan mengatur RS pada logika 1 yang menunjukkan adanya akses ke Register Data. Kondisi R/W diatur pada logika tinggi yang menunjukkan adanya proses pembacaan data. Data 4 bit nibble tinggi (bit 7 hingga bit 4) dibaca dengan diawali adanya pulsa logika 1 pada E Clock dan dilanjutkan dengan data 4 bit nibble rendah (bit 3 hingga bit 0) yang juga diawali dengan pulsa logika 1 pada E Clock.

Membaca data dari register data LCD 16x2 karakter M1632

Membaca data dari register data LCD 16x2 karakter M1632

ANTARMUKA LCD 16X2 KARAKTER M1632

Berikut ini adalah contoh-contoh antarmuka LCD 16×2 karakter M1632 beserta contoh programnya dengan sistem minimum / sistem mikrokontroler. Yang menjadi perbedaan adalah setiap contoh memiliki koneksi I/O yang berbeda sehingga terdapat perbedaan juga pada bagian deklarasi I/O di tiap contoh program.

Antarmuka LCD 16×2 karakter M1632 dengan DST-51 / DST-52

Antarmuka LCD 16x2 karakter M1632 dengan DST-51 / DST-52

Antarmuka LCD 16x2 karakter M1632 dengan DST-51 / DST-52

Contoh Program:

- hd44783-asm511.asm contoh program dengan menggunakan bahasa assembly dan compiler ASM51

- lcd.c contoh program dengan menggunakan bahasa C

Antarmuka LCD 16×2 karakter M1632 dengan mikrokontroler AT89S51, AT89S52

Antarmuka LCD 16x2 karakter M1632 dengan AT89S51 / AT89S52

Antarmuka LCD 16x2 karakter M1632 dengan AT89S51 / AT89S52

Contoh Program:

- lcd.asm contoh program dengan menggunakan bahasa assembly

Antarmuka LCD 16×2 karakter M1632 dengan mikrokontroler ATMega8515

Antarmuka LCD 16x2 karakter M1632 dengan ATMega8515

Antarmuka LCD 16x2 karakter M1632 dengan ATMega8515

Contoh Program:

- lcd-44780-4bit-avr.asm contoh program dengan menggunakan bahasa assembly

Untuk membeli LCD 16×2 karakter M1632 dapat dilakukan pada link berikut ini

LCD 16×2 karakter M1632 backlight hijau

LCD 16×2 karakter M1632 backlight biru

LCD 16×2 karakter M1632 backlight putih

Paulus Andi Nalwan, DELTA ELECTRONIC

AN-0200 Merancang Program Mikrokontroler menggunakan Flowchart dengan Delta Robotic Studio

Wednesday, September 9th, 2015

Bahasa pemrograman seringkali menjadi kendala bagi para pemula untuk mempelajari pemrograman mikrokontroler. Pada dasarnya mikrokontroler hanya mengenali Bahasa Mesin / Mnemonic yang disimpan dalam file Hex atau Binary.

Supaya bahasa tersebut dapat dikenali oleh seorang programmer, maka dibutuhkan bahasa yang lebih tinggi tingkatannya yaitu Assembler. Namun bahasa ini kadang-kadang masih terlalu dasar bagi pengguna pemula mengingat inti dari bahasa ini adalah pemindahan data di register dan manipulasi bit, sehingga pengguna harus terlebih dahulu mengenali fungsi-fungsi register mikrokontroler.

Untuk mempermudah masalah ini, maka diciptakan bahasa yang lebih tinggi tingkatannya yaitu Bahasa C yang lebih manusiawi. Tidak sesulit Bahasa Assembler namun masih dibutuhkan waktu juga bagi pengguna pemula untuk mempelajari.

Berikut ini kami telah meluncurkan Software IDE menggunakan Sistem Flowchart yaitu Delta Robotic Studio.

Dengan menggunakan IDE ini seorang pemula dapat merancang pemrograman mikrokontroler hanya dengan menggunakan flowchart dan mengatur parameter-parameternya. Dengan menggunakan tampilan gambar maka seorang pemula dapat memrogram mikrokontroler tanpa harus mempelajari datasheet / hardware dari mikrokontroler tersebut.

Makro

Cara Membuat Macro di Delta Robo StudioRancangan Flowchart pada IDE ini dilakukan dengan menyusun makro-makro yang memiliki tampilan gambar serta deskripsi detail saat kita arahkan mouse di atasnya.

Setiap makro selain dapat diubah parameternya, juga bagi pengguna yang menguasai bahasa pemrograman mikrokontroler dapat mengubah hingga level bahasa pemrograman dasar.

Pengguna juga dapat menambahkan makro-makro sendiri sesuai kebutuhan, termasuk mengedit icon dan deskripsi makro.

Help

Setiap makro dilengkapi dengan menu help yang menjelaskan lebih detail mengenai penggunaan makro

Fuzzy

Delta Robotic Studio juga dilengkapi dengan Fuzzy Designer sehingga mempermudah pengguna dalam merancang sistem kontrol dan mengatur parameter-parameternya.

Download

Hasil dari flowchart akan dicompile menjadi file yang dikenali mikrokontroler yaitu file hex dan dapat langsung didownload dengan fungsi download yang ada di Delta Robotic Studio menggunakan USB Downloader

Lebih detail mengenai software ini dapat didownload di link berikut

1 April 2016, update library untuk GSM Relay dapat di download di link berikut. Copy – Paste hasil ekstrak ke folder Delta Robotic Studio dan Overwrite semua file

22 April 2016, update library untuk GPS dapat didownload di link berikut. Copy – Paste hasil ekstrak ke folder Delta Robotic Studio dan Overwrite semua file

15 Nopember 2017, update library untuk DS1307, Joystick, makro-makro LCD 16×2, Joystick dan DS1307 dapat didownload di link berikut. Copy – Paste ke folder Delta Robotic Studio dan Overwrite semua file

Paulus Andi Nalwan, Delta Electronic

AN0175 Penggunaan I2C pada DST-ARM

Tuesday, November 22nd, 2011

Pada artikel kali ini saya akan membahas cara penggunaan I2C yang tersedia di modul DST ARM. Pada DST ARM telah tersedia IC DS1307 dan juga LCD 16×2 karakter, kedua komponen ini dapat dijadikan aplikasi jam digital dengan arm sebagai mikrokontrolernya.

Pada DST ARM telah disediakan 2 komponen yang dapat di coba untuk penggunaan komunikasi serial (I2C) yaitu EEPROM, RTC DS1307. Dimana untuk penggunaannya kita hanya cukup menjumper koneksi yang telah disediakan, dalam hal ini pin SDA, SCL. Jadi kita tidak lagi direpotkan untuk penyolderan kabel lagi. Pin SDA,SCL dari kedua IC dikeluarkan melalui header 2 pin yaitu JP8, dan juga pin SDA,SCL ini tersambung lagi ke header 4 pin, yaitu JP7. JP7 ini berfungsi untuk menyambungkan pin SDA,SCL dari IC RTC maupun EEPROM ke pin SDA,SCL pada mikrokontroler ARM. Jadi untuk konfigurasi hardware untuk artikel ini, anda hanya cukup menambahkan jumper pada JP7.

Sedangkan konfigurasi hardware untuk LCD anda dapat lihat pada artikel penggunaan LCD pada mikrokontroler ARM. Setelah semua tersambung, pastikan tidak ada koneksi yang salah.

Artikel ini dapat didownload di sini

Penulis: Januar Susanto

Modul-modul yang digunakan

- Modul DST-ARM

- Modul LCD M1632

- Switch Pushbutton

AN0174 Pengaturan Register Mikrokontroler ARM

Thursday, October 27th, 2011

Artikel kali ini akan membahas cara pengaturan register yang ada pada mikrokontroler arm. Fungsi register dalam hal ini adalah untuk mengatur fungsi masing-masing port pada arm dan fungsi-fungsi lainnya seperti interupsi, serial maupun timer.

Modul pendukung artikel ini adalah

- DST-ARM Development Board

- atau DST ARM Stamp LPC1114 ARM Low Cost System

Detail artikel dapat didownload di sini

Penulis: Januar Susanto

AN0173 Antarmuka LCD M1632 dengan LPC1114 pada Modul DST-ARM

Thursday, September 8th, 2011

Artikel kali ini saya akan membahas cara pemakaian LCD M1632 pada LPC1114 dengan Modul DST-ARM. LCD yang digunakan adalah LCD 16×2 karakter atau M1632. LCD ini sangat popular pemakaiannya, disatu sisi dikarenakan pemogramannya yang gampang, dan harganya yang tidak terlalu mahal.

Modul Pendukung Artikel ini adalah:

- DST ARM Development Board

- LCD M1632

Source code dapat didownload di sini

Artikel lengkap dapat didownload di sini

Penulis Januar Susanto

Bekerja dengan LPC1xxx (ARM Cortex M) Bagian II

Friday, June 17th, 2011

Perangkat Keras Minimum untuk Pemrograman Mikrokontroler LPC1xxx
Untuk memprogram memori Flash di LPC1xxx, terdapat tiga cara:
• Melalui LPC1xxx InSystem
Programming
• Melalui JTAG (Joint Test Action Group)
• Melalui Secondary Boot Loader yang dibuat oleh pengguna
LPC1xxx InSystem
Programming
Tiap mikrokontroler LPC1xxx dilengkapi dengan BootROM yang dapat digunakan untuk memprogram
memori Flash internal LPC1xxx melalui peripheral yang terdapat pada mikrokontroler (umumnya UART0).
Dengan demikian, program yang terdapat di mikrokontroler LPC1xxx dapat diupdate
tanpa harus melepas
mikrokontroler dari papan sirkuit.
Program yang terdapat di BootROM akan dijalankan setiap kali mikrokontroler dinyalakan atau direset.
Program tersebut, dikenal dengan nama BootROM bootloader, dapat menjalankan rutin untuk mengupdate
program di mikrokontroler atau menjalankan program pengguna. Jika pin ISP di mikrokontroler dalam kondisi
LOW voltage (digital ‘0′) saat mikrokontroler dinyalakan atau direset,
BootROM bootloader akan
menjalankan rutin untuk untuk mengupdate
program di mikrokontroler.
Jika pin ISP mikrokontroler dalam kondisi HIGH voltage (digital ‘1′), BootROM bootloader akan mengecek
memori Flash internal. Jika terdapat program pengguna yang valid, BootROM bootloader akan menjalankan
program tersebut. Jika tidak terdapat program pengguna yang valid, BootROM bootloader akan menjalankan
rutin untuk untuk mengupdate
program di mikrokontroler.

Lebih detail mengenai artikel ini dapat didownload di sini. Penulis Daniel Widyanto

Microcontroller ini dapat diperoleh di link berikut

Untuk Development Board dapat diperoleh di link berikut

Bekerja dengan LPC1xxx (ARM CortexM)

Tuesday, May 31st, 2011

Klasifikasi Mikrokontroler LPC1xxx
Mikrokontroller LPC1xxx adalah mikrokontroler buatan NXP Semiconductor N. V. (Nasdaq: NXPI, dulunya
merupakan Royal Philips Semiconductor) yang menggunakan prosesor seri ARM CortexM
(ARM CortexM0
dan ARM CortexM3)
sebagai prosesor intinya.

Lebih detail mengenai artikel ini dapat didownload di sini. Penulis Daniel Widyanto

Microcontroller ini dapat diperoleh di link berikut

Untuk Development Board dapat diperoleh di link berikut