Category: Mikrokontroler AVR

Konstanta di Ruang Flash AVR

Dalam beberapa kasus, konstanta, khususnya yang berupa array, perlu ditempatkan di ruang Flash, mengingat ruang SRAM relatif kecil. Sebagai contoh, AVR ATmega16 memiliki ruang Flash 16k, sementara SRAM 1k. Berikut adalah sebuah contoh program dimana konstanta, berupa array, ditempatkan di ruang Flash, kemudian dibaca dan ditampilkan di layar LCD: #include <LiquidCrystal.h> LiquidCrystal lcd(24,25,26,28,29,30,31); PROGMEM const …

Continue reading

NS.One dan Keypad

Berikut adalah sebuah program contoh untuk operasional NS.One dengan keypad 3×4, dengan rujukan pin pada keypad, sbb: Pin 1 – 7 pada keypad dihubungkan dengan pin 24 (PA0) – 30 (PA6). Setiap key yang ditekan akan dikirim ke Serial Monitor. const int numRows = 4; const int numCols = 3; const int debounceTime = 20; …

Continue reading

Buku Aplikasi Mikrokontroler AVR Berbasis Modbus

Secara de facto, Modbus adalah sebuah protokol standard industri, yang digunakan untuk meng-komunikasikan antar divais yang terhubung melalui platform RS232 atau RS485 atau TCP. Buku ini membahas Modbus dari sisi praktis, membuat Modbus Master dan Modbus Slave dengan menggunakan mikrokontroler AVR. Untuk pelatihan intensif terkait dengan Aplikasi Mikrokontroler AVR Berbasis Modbus, silahkan menghubungi: NEXT SYSTEM …

Continue reading

NS.One dan I2C Slave

Untuk membuat I2C Slave, kita harus men-definisikan alamat slave serta melengkapinya dengan fungsi untuk mengirim dan menerima data. Dalam contoh berikut, sinyal acknowledge berupa pengiriman balik digit yang diterima slave. #include <Wire.h> #define SLAVE_ADDRESS 0x04 int number = 0; int state = 0; void setup() { pinMode(21, OUTPUT); Serial.begin(9600); Wire.begin(SLAVE_ADDRESS); Wire.onReceive(receiveData); Wire.onRequest(sendData); Serial.println("Ready!"); } void …

Continue reading

Software NS.One versi 1.0.5

Hari ini, software NS.One menggunakan label versi 1.0.5. Menggunakan rujukan software arduino versi 1.0.5, dengan penambahan sejumlah fitur, diantaranya informasi estimasi penggunaan SRAM. Fitur ini cukup penting mengingat mikrokontroler tidak memberikan indikator apapun ketika kehabisan SRAM, selain hang atau “bertingkah aneh”. NS.One mendukung jenis mikrokontroler AVR yang mudah didapat di pasaran lokal, seperti: m8535, m16, …

Continue reading

Meng-akses Variabel Volatile

Terdapat hal yang perlu diperhatikan ketika menggunakan variabel yang di-share antara Interrupt Service Routine (ISR) dan program utama. Ketika ISR dipicu ketika interupsi di-enable, kita perlu memperhatikan bagaimana meng-akses shared variable tersebut. Sebuah variabel harus diberi prefix volatile bila digunakan di dalam ISR dan di luarnya. Variabel yang hanya digunakan di luar ISR, tidak perlu …

Continue reading

I2C Scanner

Bila kita memiliki sebuah divais – I2C Slave, yang tidak kita ketahui alamatnya, maka sketch Arduino / NS.One berikut dapat membantu menemukan alamat divais I2C slave yang bersangkutan: #include <Wire.h> void setup() { Serial.begin (9600); Serial.println ("I2C scanner. Scanning …"); byte count = 0; Wire.begin(); for (byte i = 1; i < 120; i++) { …

Continue reading

Pengaturan Bit Rate pada I2C NS.One

Library Wire yang disediakan software NS.One atau Arduino, merujuk pada komunikasi secara I2C pada bit rate 100 kHz. Untuk beberapa divais, seperti beberapa produk dari Innovative Electronics, bit rate ini terlalu cepat. Beberapa divais hanya mendukung bit rate 50 kHz. Untuk itu, perlu dilakukan pengaturan ulang agar software dapat digunakan untuk maksud tersebut. Untuk mudahnya, …

Continue reading

Atmel Studio dan AVR Toolchain Update 2013

Selama semester pertama tahun 2013, Atmel me-release sejumlah versi update untuk software yang dikembangkannya. ** Atmel Studio 6.1-2674 (806 MB, 2013/06) ** AVR Toolchain 3.4.2-1573 (86.6 MB, avr-gcc 4.7.2, AVR-Libc 1.8.0, updated 2013/04) Atmel Studio (sebelumnya AVR Studio) merupakan integrated development platform untuk mengembangkan aplikasi berbasis mikrokontroler Atmel ARM Cortex dan Atmel AVR, dengan pemrograman …

Continue reading

NS.One dan Wire Library

Wire library yang disertakan dalam software NS.One dan Arduino, memungkinkan kita untuk berkomunikasi dengan divais I2C / TWI. Bus I2C mendukung hingga 119 divais. Walaupun memiliki alamat 7-bit (128 nilai), alamat 0 digunakan untuk broadcast ke seluruh divais dan alamat 120-127 untuk kebutuhan ke depan. Pada board NS.One, SDA (jalur data) dan SCL (jalur clock) …

Continue reading