Pengenalan Arduino Duemilanove


Gambaran Umum

Arduino Duemilanove ("2009") adalah mikrokontroler Board berbasis ATmega168 (datasheet) atau ATmega328 (datasheet). Arduino Duemilanove memiliki 14 digital input/output pin (dimana 6 diantaranya  dapat digunakan sebagai output PWM), 6 input analog, osilator 16 MHz kristal, koneksi USB, soket listrik, header ICSP, dan tombol reset. Ini berisi semua yang diperlukan untuk mendukung mikrokontroler, hanya dengan menghubungkan ke komputer dengan kabel USB atau menghidupkannya dengan adaptor AC-DC atau baterai untuk memulainya.
"Duemilanove" artinya 2009 dalam bahasa Italia dan dinamai setelah tahun peluncurannya. Duemilanove adalah yang terbaru dalam rangkaian USB Arduino board, untuk perbandingan dengan versi sebelumnya, lihat indeks Arduino board.


Microcontroller
ATmega168
Tegangan saat Operasi
5V
Tegangan Masukan (Disarankan)
7-12V
Tegangan Masukan (Batasan)
6-20V
Digital I/O Pin
14 (termasuk 6 PWM output yang disediakan)
Input Analog Pin
6
DC Current per I/O Pin
40 mA
DC Current for 3.3V Pin
50 mA
Flash Memory
16 KB (ATmega168) atau 32 KB (ATmega328) dimana 2 KB digunakan oleh bootloader
SRAM
1 KB (ATmega168) atau 2 KB (ATmega328)
EEPROM
512 bytes (ATmega168) atau 1 KB (ATmega328)
Clock Speed
16 MHz


SKEMA & REFERENSI DESAIN

Anda dapat temukan referensi tentang Arduino Duemilanove dibawah ini : 
EAGLE files : arduino-duemilanove-reference-design.zip
Skema : arduino-duemilanove-schematic.pdf

Mapping 





Power

Arduino Duemilanove dapat diaktifkan melalui koneksi USB atau dengan power supply eksternal. Sumber daya akan dipilih secara otomatis.
Eksternal (non-USB) daya dapat berasal baik itu dari adaptor AC-DC (dinding-kutil) atau baterai. Adaptor ini dapat dihubungkan dengan mencolokkan sebuah 2.1mm steker pusat-positif ke colokan listrik board. Arahan dari baterai dapat dimasukkan ke dalam header pin Gnd dan Vin dari konektor DAYA.
Board dapat beroperasi pada persediaan eksternal 6 sampai 20 volt. Jika disertakan dengan kurang dari 7V, maka pin 5V hanya menyuplai kurang dari lima volt dan board mungkin tidak stabil. Jika menggunakan lebih dari 12V, tegangan regulator bisa panas dan merusak board. Kisaran yang disarankan adalah 7 sampai 12 volt.
Power pada pin adalah sebagai berikut:
  • VIN. Tegangan input ke papan Arduino saat menggunakan sumber daya eksternal (dibandingkan dengan 5 volt dari koneksi USB atau sumber daya lain). Anda dapat menyediakan tegangan melalui pin ini, atau jika menyediakan tegangan melalui colokan listrik, akses melalui pin ini (VIN).
  • 5V. Regulated power supply digunakan untuk daya mikrokontroler dan komponen lainnya di board. Ini dapat berasal baik dari VIN melalui regulator on-board, atau dipasok oleh USB atau suplai 5V regulated.
  • 3V3. 3,3 volt pasokan yang dihasilkan oleh chip FTDI on-board. Menarik arus maksimum 50 mA.
  • GND. Pin Ground.

Memori

ATmega168 memiliki 16 KB memori flash untuk menyimpan kode (yang 2 KB digunakan untuk bootloader), sedangkan ATmega328 memiliki 32 KB_ (juga dengan 2 KB digunakan untuk bootloader). ATmega168 memiliki 1 KB dari SRAM dan 512 byte EEPROM (yang dapat dibaca dan ditulis dengan perpustakaan EEPROM), ATmega328 memiliki 2 KB dari SRAM dan 1 KB EEPROM.

Input dan Output

Masing-masing dari 14 digital pin pada Duemilanove dapat digunakan sebagai input atau output_ menggunakan pinMode ()_ digitalWrite ()_ dan digitalRead () fungsi. Mereka beroperasi pada 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki resistor pull-up internal yang (secara default terputus) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus:
  • Serial: 0 (RX) and 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini terhubung ke pin sesuai FTDI USB-to-TTL Serial chip.
  • External Interrupts: 2 and 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah, tepi naik atau jatuh_ atau perubahan nilai. Lihat attachInterrupt () fungsi untuk rincian.
  • PWM: 3, 5, 6, 9, 10, and 11. Menyediakan 8-bit PWM output dengan analogWrite () function.
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI menggunakan perpustakaan SPI.
  • LED: 13. Terdapat built-in LED terhubung ke pin digital 13. Ketika pin adalah nilai HIGH, LED menyala, saat pin adalah LOW, LED Mati.
Duemilanove memiliki 6 input analog, yang masing-masing menyediakan 10 bit resolusi (yaitu 1024 nilai yang berbeda). Secara default mereka mengukur dari tanah sampai 5 volt, meskipun sebenarnya bisa diganti batas atas jangkauan mereka menggunakan pin AREF dan analogReference () function. Selain itu, beberapa pin memiliki fungsi khusus:
  • I2C: analog input pins A4 (SDA) and A5 (SCL). Mendukung I2C (TWI) komunikasi menggunakan Wire Library.
Ada beberapa pin lainnya pada board :
  • AREF. Tegangan referensi untuk input analog. Digunakan dengan analogReference ().
  • Reset. untuk me-reset mikrokontroler. Biasanya digunakan untuk menambahkan tombol reset untuk pelindung yang memblok salah satu di board.
Lihat juga pemetaan antara pin Arduino dan port ATmega168 disini

Komunikasi

Arduino Duemilanove memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya. ATmega168 dan ATmega328 menyediakan UART TTL (5V) komunikasi serial, yang tersedia di pin digital 0 (RX) dan 1 (TX). Sebuah FTDI FT232RL pada saluran forum ini komunikasi serial melalui USB dan driver FTDI (disertakan dengan versi Windows dari software Arduino) menyediakan port com virtual untuk perangkat lunak pada komputer. Perangkat lunak Arduino termasuk monitor seri yang memungkinkan data tekstual sederhana yang akan dikirim ke dan dari papan Arduino. RX dan TX LED di papan akan berkedip ketika data sedang dikirim melalui chip FTDI dan koneksi USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1).

SoftwareSerial library memungkinkan untuk komunikasi serial pada salah satu pin digital Duemilanove.



ATmega168 dan ATmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Software Arduino termasuk perpustakaan Kabel untuk mempermudah penggunaan bus I2C, lihat Dokument untuk rincian. Untuk komunikasi SPI, menggunakan SPI Library.

Pemrograman

Arduino Duemilanove dapat diprogram dengan software Arduino (download). Pilih "Arduino Diecimila atau Duemilanove w / ATmega168" atau "Arduino Duemilanove w / ATmega328" dari Tools> Board menu (sesuai dengan mikrokontroler pada Board Anda). Untuk rincian, lihat referensi dan tutorial.
ATmega168 atau ATmega328 pada Arduino Duemilanove dilengkapi preburned dengan bootloader yang memungkinkan Anda untuk meng-upload kode baru padanya tanpa menggunakan programmer hardware eksternal. Hal ini berkomunikasi menggunakan protokol STK500 asli (referensi, C file header). Anda juga bisa melewatkan bootloader dan program mikrokontroler melalui ICSP (In-Circuit Serial Programming) Header, lihat petunjuk ini untuk rincian.


USB Proteksi Arus Lebih

Arduino Duemilanove memiliki polyfuse reset yang melindungi port USB komputer Anda dari arus pendek dan arus lebih. Meskipun kebanyakan komputer memberikan perlindungan internal mereka sendiri, sekering menyediakan lapisan tambahan perlindungan. Jika lebih dari 500 mA diterapkan ke port USB, sekering akan secara otomatis memutuskan sambungan sampai pendek atau kelebihan beban dihilangkan.

Karakteristik fisik

Panjang maksimum dan lebar Duemilanove PCB adalah 2,7 dan 2,1 inci masing-masing, dengan konektor USB dan colokan listrik memanjang melewati yang pertama ukuran. Tiga lubang sekrup memungkinkan board harus terpasang ke permukaan atau case. Perhatikan bahwa jarak antara pin digital 7 dan 8 adalah 160 mil (0,16 "), bukan kelipatan genap dari 100 mil jarak pin lainnya.

Sekian Penjelasan tentang Arduino Duemilanove, semoga bermanfaat.. dan terimakasih telah berkunjung...

Pengenalan Netbeans

Berikut saya akan coba menjelaskan pengenalan Netbeans dan cara membuat project baru di netbeans.

Setelah JDK dan Netbeans di install, maka jalan kan Netbeans anda :

  • Pilih pada menu Start>All Programs>NetBeans>NetBeans IDE 6.9 (disini saya menggunakan netbeans 6.9) atau double klik pada shorcut NetBeans di dekstop, sehingga akan tampil seperti gambar dibawah ini :


Gambar Gui Netbeans IDE 6.9

Keterangan :
  1. Jendela Project : dimana dijendela ini menampilkan project-project yang telah dibuat, seperti gambar diatas terdapat beberapa project di dalam jendela project
  2. Menampilkan Output : jendela Output berfungsi untuk menampilkan keluaran dari proses-proses pembuatan project, misalnya informasi dari compile project akan ditampilkan pada jendela ini.
  3. Run Main Project : klik untuk running program (project).
  4. Debug Main Project
  5. Profile Main Project

INSTALASI NETBEANS

Kali ini saya ingin membahas cara install netbeans, netbeans yang saya gunakan disini yaitu netbeans 6.8.

Anda bisa download netbean terbaru disini

Berikut langkah-langkah installasi Netbeans :
  • Terlebih dahulu install java SDK, Java SDK adalah platform dasar Java yang diperlukan agar PC anda bisa mengeksekusi kode-kode program anda yang menggunakan bahasa Java. Untuk cara install java SDK bisa anda lihat disini
  • Klik-double file instalasi Netbeans
  • Installer akan membutuhkan waktu beberapa detik untuk mengkonfigurasi dirinya sendiri, lalu setelah itu akan menampilkan selamat datang dan siap melanjutkan instalasi NetBeans.

Cara Install JDK dan Netbeans


Disini saya coba membahas cara / langkah-langkah menginstall Netbeans


  • INSTALASI JDK
anda dapat download JDK disini
1. Klik-Double file instalasi Java JDK untuk mengeksekusi instalasi.
2. Maka akan muncul kotak dialog seperti gambar dibawah ini :


3. Klik tombol Accept, maka prosedur instalasi segera dimulai, ditandai dengan munculnya pilihan-pilihan fitur atau komponen yang ingin anda sertakan dalam instalasi. Jika anda ragu mengenai pilihannya, biarkan saja pilihan default atau aslinya. Klik Next untuk melanjutkan instalasi.

Download Netbeans IDE terbaru

NetBeans IDE adalah sebuah Integrated Development Environment untuk para pengembang software. 


Tool yang disediakan NetBeans IDE saya rasa cukup lengkap untuk membuat aplikasi-aplikasi desktop profesional, perusahaan, web, dan mobile dengan bahasa Java, C/C++, dan bahkan bahasa-bahasa dinamis seperti PHP, JavaScript, Groovy, dan Ruby. 

Pengenalan (PIR Motion Sensor) Sensor Gerak PIR

pirlens_t.jpg
piranno.gifpirsensor.jpg

Pyroelectric ("Passive") InfraRed sensors (PIR):


Sensor PIR memungkinkan kita untuk mendeteksi adanya gerakan, digunakan untuk mendeteksi apakah manusia/benda telah bergerak atau keluar dari jangkauan sensor. Sensor PIR kecil, murah, berdaya rendah, mudah digunakan dan tidak mudah rusak. Itu alasan mereka banyak digunakan dalam peralatan rumah dan gadget. Mereka sering disebut sebagai PIR, "Pasif Infrared", "Piroelektrik", atau "Motion IR" sensor.

PIR pada dasarnya terbuat dari sensor piroelektrik (seperti gambar di atas, seperti logam bulat dengan kristal segi empat di tengah), yang dapat mendeteksi tingkat radiasi inframerah. Sensor PIR memancarkan sejumlah radiasi tingkat rendah, dan panas. Sensor dalam pendeteksi gerak sebenarnya terbagi dalam dua bagian untuk mendeteksi gerakan (perubahan). Kedua bagian ini berkabel sehingga mereka dapat berhubungan satu sama lain. Jika salah satu mendeteksi radiasi Infrared dari yang lainnya, maka menghasilkan output yang bernilai High atau Low.


Sensor piroelektrik  dalah sekumpulan pendukung rangkaian, resistor dan kapasitor. Sebagian kecil penghobi sensor menggunakan BISS0001 ("Micro Power PIR Detector IC"), karena harga yang sangat murah. IC ini mengambil output dari sensor dan melakukan pengolahan (proses) kecil dan mengeluarkan (output) berupa pulsa output digital dari sensor analog.

Beberapa statistik dasar

Hampir semua jenis sensor PIR akan memiliki spesifikasi memiliki perbedaan, meskipun semuanya memiliki cara kerja yang sama. Anda dapat cek perbedaan tersebut dalam datasheet.


  • Ukuran : Persegi
  • Harga : $10.00 di Adafruit shop
  • Output : Nilai Digital High (3V) saat dipicu (gerakan terdeteksi), dan nilai digital Low saat menganggur (tidak ada gerakan terdeteksi). Panjang pulsa ditentukan oleh resistor dan kapasitor pada PCB.
  • Jangkauan sensitivitas : sampai 20 kaki (6 meters) 110 derajat x 70 derajat jangkauan deteksi
  • Power supply: 3.3V - 5V tegangan input.



  • More links!





    Cara Menggunakan IReport di Netbeans


    Tool untuk reporting yang paling populer di Java adalah iReport. iReport penggunaanya mirip dengan Crystal Report yang sudah banyak dikenal orang. Dengan iReport kita dapat membuat report dengan mudah. Cukup dengan drag n drop dan juga wizard yang sangat mudah digunakan. iReport sendiri tersedia dalam bentuk aplikasi tunggal dan yang paling baru adalah iReport sudah dapat diintegrasikan dengan Netbeans IDE. Artinya kita tidak perlu lagi menggunakan 2 tools yang berbeda untuk membuat aplikasi yang lengkap dengan reportnya. Dengan Netbeans IDE + iReport plugin maka tools pengembangan aplikasi kita udah lengkap.
      
    Pada tulisan kali ini, saya coba menunjukan bagaimana mengintegrasikan iReport dengan Netbeans, kemudian membuat report sederhana.
    • Pada tulisan ini saya menggunakan Netbeans 6.1
    • Download iReport Plugin untuk Netbeans di Sini
    • Tambahkan iReport Plugin ke dalam Netbeans dengan cara click pada menu Tools>Plugin. Maka Window Plugin akan ditampilkan seperti berikut:
    • Pada window plugin pilih tab Downloaded dan klik tombol Add Plugins..
    • Pada window add plugins.. arahkan ke lokasi dimana anda telah mengekstrak iReport Plugin yang telah didownload sebelumnya.
    • Tambahkan ketiga file .nbm seperti pada gambar diatas, sehingga tampilan Window Plugin menjadi seperti gambar berikut ini
    • Pastikan ketiga file .nbm sudah ditambahakan, selajutnya tekan tombol Install
    • Setelah Instalasi selesai, sebaiknya anda merestart Netbeans untuk memastikan iReport plugin sudah terinstal dengan sempurna.
    • Apabila iReport sudah terinstal dalam Netbeans, maka tampilan Netbeans akan seperti gambar di bawah ini.
    • Sampai di sini kita sudah menginstal iReport ke dalam Netbeans. Selanjutnya kita akan mencoba membuat laporan sederhana menggunakan iReport yang sudah terintegrasi ke dalam Netbeans tadi.
    • Database yang akan kita hubungkan dengan laporan yang akan kita buat adalah database sample yang sudah ada dalam instalasi Java DB. Java DB secara default terinstal saat kita menginstal Netbeans untuk JEE.
    • Klik kanan pada node database sample seperti pada gambar di atas, kemudian pilih connect. Maka koneksi ke database sample akan tercipta sehingga kita dapat melihat table apa saja yang terdapat dalam database sample tersebut.
    • Yang akan kita gunakan dalam report kita adalah table CUSTOMER. Kita akan membuat report yang menampilkan daftar Customer.
    • Selanjutnya buatlah project baru dengan memilih Java Application. Berilah nama Report.
    • Buatlah File Report baru dengan memilih menu File>New File. Pada Window New File pilihlah Categories Report dan Report untuk File Typenya
    • Kemudian klik Next dan beri nama Customer.jrxml dan selanjutnya klik Next lagi
    • Pada Connections/Data Sources kita klik tombol New, maka akan ditampilkan window Datasource. Kita pilih Netbeans Database JDBC Connection kemudian tekan tombol Next.
    • Pada Netbeans Database JDBC Connection beri nama sample dan pilihlah Connection ke database Sample seperti pada gambar di bawah ini
    • Tekan tombol Save untuk menyimpan koneksi
    • Pada bagian Query ketik perintah sql SELECT * FROM CUSTOMER kemudian tekan tombol Next.
    • Selanjutnya akan ditampilkan daftar field yang dapat kita gunakan dalam report. Pilihlah field-field yang akan ditampilkan dalam report, misalnya NAME, ADDRESSLINE1, ADDRESSLINE2, CITY, STATE, PHONE dan EMAIL.
    • Klik Next dan pada Group by kita abaikan saja. Klik Next sekali lagi dan pilih Tabular Layout seperti pada gambar di bawah ini
    • Klik Next dan Finis untuk mengakhiri pembuatan Report, maka akan ditampilkan Report Designer yang dapat kita gunakan untuk mengatur layout laporan kita
    • Untuk menjalankan Report ini klik pada tab Preview seperti pada gambar di bawah ini
    • Tunggu beberapa saat untuk proses compilasi Report, kemudian laporan List Customer akan ditampilkan langsung di dalam Netbeans IDE
    • Di sini juga kita dapat langsung memprint laporan tersebut atau kita simpan dalam format yang lain seperti ke pdf atau ke xls

    Dasar Pemrograman ATmega8535


    Prosedur umum untuk memprogram ATmega8535 secara berurutan adalah :

    1. Menuliskan listing program menggunakan bahasa tingkat pemrograman tingkat tinggi (assembler, C, Basic, Pascal, dll) 
    2. Mengkompail program ke dalam set instruksi ATmega8535 menggunakan software compiler (WinAVR, GCC, CVAVR, BASCOM, AVR-Studio, dll)
    3. Memasukkan file hasil proses compile atau make ke dalam IC ATmega8535 menggunakan software downloader atau chip programmer (Ponyprog, CVAVR, USB-Downloader, dll). Biasanya file ini berekstensi .hex atau .bin.
    4. IC ATmega8535 telah terprogram dan siap digunakan
    Dalam praktikum ini digunakan bahasa C sebagai bahasa pemrograman dan Codevision AVR (CVAVR) sebagai compiler. CVAVR dipilih karena tersedia dalam versi bajakan (hehehe…) dan memiliki fasilitas Code Wizard yang sangat membantu. Software chip programmer menggunakan CVAVR standard V 1.24, Ponyprog2000 atau Universal ISP Programmer V 1.04, tergantung mode download, menggunakan port paralel atau port USB.
    Jika menggunakan PC dengan fasilitas port paralel, pemrograman dapat dilakukan langsung menggunakan CVAVR. Sebelumnya dibuat dulu kabel downloader, untuk menghubungkan port paralel PC dengan port SPI (Serial Peripheral Interface) pada mikrokontroler.



    Skema Kabel Downloader Paralel



    Jika pemrograman menggunakan laptop, yang hanya mengandalkan USB, maka harus dipakai peralatan downloader via port USB, seperti AVRdoper, USB-downloader, dll. 



    Langkah untuk menghasilkan file .hex dengan menggunakan CVAVR secara umum adalah :
    1. Membuat Project baru, diberi nama.
    2. Membuat file Source baru, dalam bahsa C, edit, simpan.
    3. Hubungkan/koneksikan file Source dengan Project yang ada.
    4. Lakukan proses make (shift+F9) untuk membuat file .hex.
    5. Jika ada yang salah, dikoreksi sampai berhasil



    FASILITAS DASAR INPUT-OUTPUT 
    Fasilitas input/output merupakan fungsi mikrokontroller untuk dapat menerima sinyal masukan (input) dan memberikan sinyal keluaran (output). Sinyal input maupun sinyal output adalah berupa data digital 1 (high, mewakili tegangan 5 volt) dan 0 (low, mewakili tegangan 0 volt). Mikrokontroller ATMEGA8535 memiliki 4 buah PORT 8 bit bidirectional yang dapat difungsikan sebagai PORT input maupun PORT output yaitu PORTA, PORTB , PORTC, dan PORT D. Register digunakan untuk mengatur fungsi dari pin-pin pada tiap port. Register dapat dianalogikan sebagai kumpulan switch on/off yang digunakan untuk mengaktifkan fungsi apa yang akan dipakai dari port mikrokontroller. Pada setiap port pin terdapat 3 buah register 8 bit: DDRxn, PORTxn, dan PINxn. 
    Register DDRxn digunakan untuk menentukan arah dari pin yang bersangkutan. Jika DDRxn diberikan nilai 1 (high), maka pin digunakan sebagai output. Jika DDRxn diberikan nilai 0 (low), maka pin difungsikan sebagai input. Register PORTxn digunakan untuk mengaktifkan pull-up resistor (pada saat pin difungsikan sebagai input), dan memberikan nilai keluaran pin high/low (pada saat difungsikan sebagai output). PINxn merupakan register yang berfungsi untuk mengetahui keadaan tiap-tiap pin pada mikrokontroller. Register ini digunakan untuk membaca keadaan pin pada saat difungsikan sebagai input. 



    Rangkaian Output LED dan Input Tombol



    Percobaan pertama adalah menyalakan LED sesuai dengan pola tertentu. Sesuai skema, LED dikonfigurasikan dalam posisi SINK, artinya LED menyala jika port yang bersesuaian diberi logika 0 (tegangan 0 volt atau dianggap ground). Demikian halnya dengan saklar tombol. Jika ditekan, maka port yang bersesuaian akan terhubung ke ground.



    Tugas : menyalakan LED yang terhubung ke port B, selang seling ON dan OFF dimulai dari port B yang paling besar (PORT B.7)



    Penyelesaian : 
    1. Konfigurasikan PORT B sebagai keluaran
    2. Kirimkan urutan bilangan 1 0 1 0 1 0 1 0




    Pelaksanaan tanpa menggunakan CodeWizard AVR:
    1. Hubungkan PC dengan minimum system 8535 melalui port ISP. Nyalakan catu daya.
    2. Buka Codevision AVR, lakukan konfigurasi chip programmer. Pilih menu Setting>>Programmer, lalu pilih type Kanda System STK200+/300.
    3. Pilih menu File>>New, pilih Project.
    4. Jika ditawari untuk menggunakan CodeWizardAVR, pilih No saja dulu.
    5. Beri nama project baru dengan nama “kenalan” (tanpa “)
    6. Buat file source C. Pilih menu File>> New, pilih Source.
    7. Ketikkan listing seperti ini.



    #include 
    void main(void)
    {
    DDRB=0xFF;
    PORTB=0xFF;
    while(1)
    {
    PORTB=0xAA;
    }
    }
    8. Simpan dulu file C nya. Beri nama “nocw” saja.
    9. Lakukan konfigurasi project. Pilih menu Project>>Configure. Tekan tombol Add, lalu pilih file dengan nama “nocw”. Pilih tab C Compiler. Pada pilihan Chip pilih Atmega8535. Ubah Clock menjadi 4 MHz. Lalu pilih tab After Make, centang pilihan Program the Chip. Setelah semua selesai, klik OK.
    10. Simpan dulu filenya.
    11. Lakukan compile dengan menekan shift+F9. Jika tidak ada pesan error atau peringatan, maka klik Program. Tunggu sebentar, semoga tidak ada kesalahan teknis.
    12. Amati keluaran LED pada sismin.

    Pelaksanaan menggunakan CodeWizard AVR:
    1. Hubungkan PC dengan minimum system 8535 melalui port ISP. Nyalakan catu daya.
    2. Buka Codevision AVR, lakukan konfigurasi chip programmer. Pilih menu Setting>>Programmer, lalu pilih type Kanda System STK200+/300.
    3. Pilih menu File>>New, pilih Project.
    4. Jika ditawari untuk menggunakan CodeWizardAVR, pilih Yes.
    5. Pada tab Chip, pilih 8535 dengan clock 4 MHz.
    6. Pilih tab Ports, lalu pilih tab Port B. Setelah itu klik semua pilihan di bawah tulisan Data Direction dari In berubah menjadi Out. Klik juga semua pilihan di bawah tulisna Pull-up/Output Value dari 0 menjadi 1.
    7. Pilih menu File>>Generate, save and exit.
    8. Beri nama sourcenya dengan nama withcw
    9. Beri nama projectnya dengan nama kenalan2. juga file cwp-nya.
    10. Lihatlah, program awal sudah dibuatkan. Scroll ke bawah, amati tulisan DDRB dan PORT B. Bandingkan nilainya dengan listing program sebelumnya. Sama …
    11. Scroll lagi ke bawah. Cari tulisan //place your code here. Di bawahnya tuliskan perintah PORTB=0xAA;
    12. Simpan dulu file C nya. 
    13. Lakukan konfigurasi project. Pilih menu Project>>Configure. Lalu pilih tab After Make, centang pilihan Program the Chip. Setelah semua selesai, klik OK.
    14. Lakukan compile dengan menekan shift+F9. Jika tidak ada pesan error atau peringatan, maka klik Program. Tunggu sebentar, semoga tidak ada kesalahan teknis.
    15. Amati keluaran LED pada sismin.

    PENJELASAN
    1. Semua port 8 bit memiliki indeks 0 s/d 7. Misalkan PORTB.0, PORTB.1 s/d PORTB.7
    2. Indeks port yang paling besar merupakan bagian Most Significant Bit (MSB).
    3. Indeks port yang paling kecil merupakan bagian Least Significant Bit (LSB).
    4. Penulisan bilangan biner, yang paling kiri adalah MSB, dan sebaliknya. 
    5. Biasakan menuliskan data dalam format Heksadesimal. Syntax-nya adalah 0xXX di mana XX merupakan bilangan heksadesimal. Misalkan dituliskan PORTB=0xAA, artinya kita memasukkan data AA atau 1 0 1 0 1 0 1 0 ke port B.
    6. DDRB=0xFF artinya kita memasukkan bilangan 1 1 1 1 1 1 1 1 ke Data Direction Register B, yang membuat semua pin B menjadi output.
    7. PORTB=0xFF artinya kita memasukkan bilangan 1 1 1 1 1 1 1 1 ke Register PORT B, yang membuat semua pin B menjadi berlogika high. 
    8. Perintah #include artinya kita menggunakan file Header mega8535.h yang berisi perintah-perintah yang dapat dikenali oleh compiler. Nanti kita akan menggunakan header-header lainnya.
    9. void main(void) menunjukkan program utama.
    10. Tulisan yang berada di belakan tanda // dan berwarna biru dianggap sebagai komentar, dan tidak dijalankan dalam program. Demikian juga tulisan di antara tanda /* …. */
    11. while (1) artinya adalah looping yang tanpa henti.

    LATIHAN 1. LAMPU BERKEDIP

    Masukkan listing berikut ini ke dalam 8535.

    #include
    #include
    void main()
    {
    DDRB=0xFF;
    while(1)
    {
    PORTC=0;
    delay_ms(1000);
    PORTC=0xFF;
    delay_ms(1000);
    }
    }

    PENJELASAN
    1. Pada program di atas, digunakan file header untuk mengijinkan digunakannya perintah/fungsi delay_ms(1000). 
    2. Perintah ini artinya melakukan delay/penundaan dalam satuan milidetik, sebanyak data yang dimasukkan dalam (…).
    3. Agar lama delaynya akurat, maka setting clock pada 8535 harus persis sama dengan nilai osilator kristal yang dipasang.

    TIPE DATA

    Tipe data yang dapat dioperasikan dalam C untuk aplikasi mikrokontroler adalah :
    1. byte. Mulai 0 s/d 255 (8 bit)
    2. char. Mulai -128 s/d 127 (8 bit)
    3. unsigned. Sama dengan byte. (8 bit)
    4. int. Mulai -32768 s/d 32767 (16 bit)
    5. Unsigned int. Mulai 0 s/d 65535 (16 bit)
    6. long int (int versi 32 bit)
    7. float dan double mulai 1,175e-38 s/d 3,402e38 (32 bit)

    VARIABEL
    Variabel Global, digunakan di seluruh program. Dideklarasikan di luar fungsi, di bagian paling atas. Saat program berjalan, jika tidak ditentukan, akan bernilai 0. Variabel Lokal, digunakan secara lokal di dalam fungsi tertentu. Dideklarasikan di dalam fungsi tersebut, dan tidak diinisialisasikan pada awal program berjalan. Variabel dalam bentuk Array, indeks paling kecilnya adalah 0.
    OPERATOR ARITMATIKA
    * Multiplication x*y kalikan x dengan y 
    / Division x/y bagi x dengan y 
    % Modulo x%y sisa x dibagi oleh y 
    + Addition x+y jumlahkan x dan y 
    - Subtraction x-y Kurangkan y dari x 
    ++ Increment x++ Increment x setelahnya 
    -- Decrement --x Decrement x sebelumnya
    - Negation -x Kalikan x dengan –1 

    OPERATOR LOGIKA. 
    > Greater than x>y 1 jika terpenuhi 
    >= Greater than or equal to x>=y 1 jika terpenuhi 
    < Less than x<= Less than or equal to x<=y 1 jika terpenuhi == Equal to x==y 1 jika sama != Not equal to x!=y 1 jika tidak sama ! Logical NOT !x 1 jika x adalah 0 && Logical AND x&&y 0 jika x atau y ada yang 0 || Logical OR x||y 0 jika x dan y adalah 0 OPERATOR BITWISE ~ Bitwise complement ~x Mengubah 1 jadi 0 dan sebaliknya NOT & Bitwise AND x&y AND Bitwise antara x dan y | Bitwise OR x|y OR Bitwise x dan y ^ Bitwise exclusive OR x^y XOR Bitwise << Left shift x<<2 geser ke kiri 2 posisi bit >> Right shift x>>3 geser ke kanan3 posisi bit 

    Nb. Syntax variabel = variabel & data dapat dituliskan variabel &= data
    KONTROL ALIRAN
    Struktur if – else
    if (expression) 
    statement 1
    else 
    statement2
    artinya jika expression bernilai true, statement 1 dikerjakan. Kalau tidak statement 2 dikerjakan.

    Struktur – while

    while(expression)
    {
    Statement
    }

    artinya jika expression bernilai true, statement dikerjakan. Kalau false, selesai.

    Struktur for –
    For(expression1; expression2; expression3)
    {
    Statement
    }

    Expression1 adalah inisialisasi, Expression3 adalah operasi atau fungsi yang dilakukan, Expression2 adalah pengujian. Selama Expression2 terpenuhi, statement dikerjakan. Jika tidak, selesai. 

    LATIHAN 2. MEMBACA TOMBOL:

    #include
    #define tombol PIND

    void main()
    {
    DDRB=0xFF;
    DDRD=0x00;
    PORTD=0XFF;
    while(1)
    {
    if((tombol&0x01)==0) PORTB=0x55;
    if((tombol&0x02)==0) PORTB=0xAA;
    if((tombol&0x04)==0) PORTB=0x00;
    if((tombol&0x08)==0) PORTB=0xFF;
    }
    }

    PENJELASAN :
    1. Tombol dipasang di PORTD. Jika ditekan berlogika 0.
    2. Lampu LED dipasang di PORTB. Jika berlogika 0 akan menyala.

    Blogger templates

    Followers

    Popular Posts

    Lencana Facebook

    Popular Posts