Tutorial Starduino: Mengontrol 4 Relay Dari Komputer Via Komunikasi Serial RS232 Dengan Perantaraan Starduino Board

starduino_drv04_lcd

Pada tutorial Starduino kali ini, kita akan membahas tentang bagaimana mengontrol relay dari komputer melalui port komunikasi serial RS232 dengan menggunakan Starduino Board.

Gambar di samping adalah foto pengujian Starduino Board untuk mengontrol relay dan menampilkan statusnya di LCD 16×2.

Starduino Board, Modul Relay DRV04, dan Modul LCD 16×2 dapat dipesan melalui email ke info@teknikelektrolinks.com atau SMS ke 081231784018 atau BB ke 24B15B64.

Untuk pembelian paket Starduino + Modul DRV04 akan mendapatkan source code sketch Arduino pengontrolan relay melalui port serial + source code program VB.NET lengkap dengan Installer VB.NET 2005 Express Edition.

Untuk memudahkan eksperimen,  berikut adalah tabel perintah pengontrolan relay.

Perintah Aksi
‘A’ RELAY 1 ON
‘1’ RELAY 1 OFF
‘B’ RELAY 2 ON
‘2’ RELAY 2 OFF
‘C’ RELAY 3 ON
‘3’ RELAY 3 OFF
‘D’ RELAY 4 ON
‘4’ RELAY 5 OFF

Berikut adalah looping utama program yang berfungsi menerima data dari port serial dan mengeksekusi perintah sesuai data yang diterima dari komputer.

if (Serial.available())
{
  char inChar = Serial.read();
  if (inChar==’A’)
    digitalWrite(RL1, HIGH);
  else if (inChar==’1′)
    digitalWrite(RL1, LOW);
  else if (inChar==’B’)
    digitalWrite(RL2, HIGH);
  else if (inChar==’2′)
    digitalWrite(RL2, LOW);
  else if (inChar==’C’)
    digitalWrite(RL3, HIGH);
  else if (inChar==’3′)
    digitalWrite(RL3, LOW);
  else if (inChar==’D’)
    digitalWrite(RL4, HIGH);
  else if (inChar==’4′)
    digitalWrite(RL4, LOW);
}

Fungsi Serial.available() berfungsi mengembalikan jumlah karakter yang ada di dalam buffer port serial. Jika fungsi Serial.available() bernilai 0 (nol), maka tidak ada karakter dalam buffer. Jika fungsi Serial.available() > 0, maka ada karakter yang diterima dalam buffer port serial.

Fungsi Serial.read() berfungsi membaca/mengambil data karakter dari buffer port serial. Perintah char inChar = Serial.read() berfungsi mendeklarasikan variable inChar sebagai penampung data karakter hasil pembacaan fungsi Serial.read().

Selanjutnya, karakter dibandingkan dengan konstanta karakter sesuai dengan tabel perintah di atas untuk mengetahui perintah apa yang harus dieksekusi oleh kontroler.

Jika inChar==’A’, maka aktifkan RELAY-1 dan jika inChar==’1’, maka matikan RELAY-1. Pembandingan yang sama juga berlaku untuk perintah ‘B’, ‘2’, ‘C’, ‘3’, ‘D’, dan ‘4’.

Setelah program di upload ke Starduino, maka pengujian dapat dilakukan dengan mengirimkan karakter ‘A’, ‘1’, ‘B’, dan seterusnya dari komputer.

Untuk mengirimkan data secara manual bisa menggunakan terminal bawaan IDE Arduino atau program terminal seperti Hyperterminal.

Dapat juga pengontrolan dilakukan dengan menggunakan program aplikasi yang dapat Anda peroleh jika membeli paket Starduino Board + Modul DRV04. Berikut adalah tampilan program aplikasi Starduino+DRV04 yang dibuat menggunakan VB.NET 2005 Express Edition.

starduino_drv04_vbnet

Demikian sekelumit penjelasan mengenai pengontrolan relay dari komputer melalui port serial RS232 dengan perantaraan Starduino Board.

Untuk informasi harga dan pemesanan Starduino Board, silakan cek di: http://teknikelektrolinks.com.

Selamat belajar dan selamat berkarya!

🙂

Tutorial Starduino: Membaca Data Dari Modul Sensor Suhu LM35AZ

starduino_lm35az_400

LM35AZ adalah modul sensor suhu LM35DZ siap-pakai dengan tegangan keluaran 0-5V untuk suhu 0-100°C. Sedangkan Starduino adalah board mikrokontroler ATmega8 yang telah diisi dengan bootloader Arduino sehingga bisa digunakan dengan IDE Arduino dan memanfaatkan segala kemudahan yang ditawarkan oleh Arduino.

Gambar di samping adalah foto pengujian pembacaan data analog dari modul sensor LM35AZ menggunakan Starduino. Tegangan keluaran modul sensor yang berkisar 0-5V untuk suhu 0-100°C, dihubungkan dengan pin Analog-Input 5 dari Starduino. Pin Analog-Input 5 pada Starduino adalah pin ADC5 pada ATmega8.

Berikut adalah program Arduino untuk membaca data suhu dari modul sensor suhu LM35AZ melalui pin Analog-Input 5.

/* PROGRAM MONITORING SUHU STARDUINO */

int Jumlah_Sampling = 50;
long Nilai_ADC;
float Nilai_Rerata_ADC;
float Nilai_Suhu;

void setup()
{
  pinMode(13, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  digitalWrite(13, HIGH); delay(100);
  digitalWrite(13, LOW);

  //baca ADC
  Nilai_ADC = 0;
  for (int i=1; i<=Jumlah_Sampling; i++)
  {
    Nilai_ADC += analogRead(5);
    delayMicroseconds(10);
  }

  //hitung nilai rerata ADC
  Nilai_Rerata_ADC = (float)Nilai_ADC / (float)Jumlah_Sampling;

  //hitung nilai suhu
  Nilai_Suhu = Nilai_Rerata_ADC / 1024.0 * 100.0;

  Serial.print(“Suhu = “);
  Serial.print(Nilai_Suhu);
  Serial.println(“C”);
  delay(500);
}

Untuk mendapatkan hasil pengukuran yang baik, program menerapkan teknik statistik sederhana yakni nilai rerata. Suhu disampling sebanyak 50 kali dan diambil nilai reratanya. Selanjutnya, nilai rerata inilah yang digunakan untuk pada kalkulasi nilai suhu.

Dengan program di atas, nilai suhu yang ditampilkan pada terminal adalah sebagai berikut.

image

Nampak bahwa tampilan suhu sangatlah mantap, bahkan hingga 2 angka dibelakang koma.

Modul sensor LM35AZ terdiri dari rangkaian filter low-pass RC dan penguat opamp dengan nilai penguatan 5 kali, sehingga untuk tegangan keluaran LM35DZ dengan jangkauan 0-1V untuk suhu 0-100°C, maka tegangan keluaran modul LM35AZ adalah 0-5V DC.

Jika Anda perhatikan pada listing program di atas, program tidak menginisialisasi ADC akan tetapi langsung menggunakan ADC pada proses pembacaan data suhu dengan perintah: analogRead(5);

ADC ATmega8 dapat bekerja pada tegangan referensi VCC (5V), INTERNAL (2.56V), atau EXTERNAL melalui pin AREF. Jika tidak ada proses inisialisasi, maka ARDUINO akan menginisialisasi ADC untuk bekerja pada tegangan referensi 5V.

Sebagai contoh, untuk menginisialisasi ADC agar bekerja pada tegangan referensi 2.56V (Internal), maka tambahkan perintah: analogReference(INTERNAL); pada fungsi setup().

Nah, jika Anda membutuhkan modul sensor suhu dengan range pengukuran 0-100°C, maka modul LM35AZ dapat Anda pilih. Dan jika Anda membutuhkan sistem minimum ATmega8 yang dilengkapi dengan bootloader Arduino, maka Starduino Board adalah pilihan yang tepat.

Untuk informasi harga dan pemesanan modul-modul tersebut, silakan mengunjungi situsnya di: http://teknikelektrolinks.com.

Selamat belajar dan selamat berkarya!

🙂

Kisah STARDUINO BOARD dan PING Berkiprah di Dunia Industri

pneumatic-rubber-bale-cutting-machinesBerawal dari telepon seorang rekan yang bekerja dibidang pemasaran produk-produk pneumatik tentang adanya permintaan dari salah satu pelanggannya tentang sistem pengaman untuk mesin potong pneumatik seperti pada gambar di samping.

Mesin potong tersebut mampu memotong lembaran karet dengan ketebalan beberapa sentimeter. Bisa dibayangkan jika jari operator berada di garis pemotongan ketika silinder (piston) bergerak turun dengan tekanan 5-8 bar… pasti akan terpotong!

Untuk mengantisipasi hal tersebut, maka perlu adanya sistem pengaman yang dapat memutus aliran angin jika operator masih berada dalam area pemotongan. Dan jika area pemotongan aman, dalam arti operator sudah berada pada zona aman, maka pemotong dapat digerakkan.

starduino_boardMenanggapi permintaan tersebut, saya pun secepat mungkin membuat prototipe sebagai alat presentasi yang dapat membuktikan konsep sistem pengaman yang akan kami tawarkan. Dengan menggunakan STARDUINO BOARD dan Sensor Jarak Ultrasonik PING))) dan LCD 16×2, prototipe pun selesai dalam beberapa jam dan siap kami presentasikan.

Walhasil, presentasi kami lancar dan proposal kami pun diterima, dan proyek pun mulai kami kerjakan.

Pengerjaan panel berlangsung lancar dan relatif cepat. Alhamdulillah, saya sudah berpengalaman selama 5 tahun lebih merancang dan membuat panel-panel distribusi dan panel kontrol, sedangkan rekan saya bahkan sudah berpengalaman lebih dari 10 tahun. Kami adalah tim yang sangat kompak selama bekerja di pabrik rol karet Usaha Teknik Grafika.

Berikut adalah beberapa foto panel kontrol sistem pengaman mesin potong pada proses pengerjaan/pengujian dan panel yang siap diinstalasikan.

panel_pengaman_mesin_potong

panel_pengaman_mesin_potong2

Panel ini merupakan tantangan bagi Starduino Board, ATmega8, IDE Arduino, dan PING))) di dunia industri. Dengan ketahanan mikrokontroler AVR yang sudah teruji untuk dioperasikan di lingkungan industri, PING))) Parallax yang hebat, dan library Arduino yang sudah digunakan dan diuji secara internasional, maka sistem berbasis ATmega8 dan Arduino layak digunakan untuk aplikasi di dunia industri.

UPDATE
telinks_starduinoapp1 Alhamdulillaah, panel sistem pengaman mesin potong pneumatik berbasis Starduino dan PING telah terinstalasi dan telah melewati tahap commissioning.

Catatan penting dalam proyek ini adalah: modul sensor PING buatan Parallax sangatlah mantab. Setelah membandingkan dengan modul sensor jarak ultrasonik yang lain (yang lebih ekonomis), kualitas PING Parallax lebih bagus, bahkan menurut saya hanya PING Parallax yang layak digunakan di lingkungan industri.

Catatan penting lainnya adalah: library siap pakai Arduino bekerja dengan baik selama didukung dengan modul-modul yang baik. Jadi jangan ragu-ragu menggunakan software Arduino untuk mengembangkan firmware sistem berbasis ATmega8/168/328. Dengan Arduino, pemrograman menjadi lebih efisien.

Sekilas Starduino Board
starduino_board Starduino Board adalah sistem minimum mikrokontroler berbasis ATmega8 yang siap digunakan sebagai teman bereksperimen maupun digunakan pada aplikasi sistem yang sesungguhnya. Informasi yang lebih lengkap dapat dilihat di blog: https://starduino.wordpress.com.

Untuk informasi harga dan pemesanan silakan berkunjung ke situs: http://teknikelektrolinks.com.

Selamat berkarya!

Smile

Starduino Board + LCD 16×2 + Contoh Program

starduino_lcd

Liquid Crystal Display atau LCD merupakan salah satu komponen output yang wajib diketahui dan dikuasai oleh pemrogram mikrokontroler.

LCD yang paling umum digunakan adalah LCD berukuran 2 baris x 16 kolom. Selain mudah diperoleh di pasaran, ukurannya sangat pas digunakan untuk aplikasi-aplikasi yang membutuhkan display, tidak terlalu kecil dan tidak terlalu besar, alias pas!

Seberapa mudahkah mengantarmukakan LCD dengan Starduino Board? Simak ulasan singkat berikut ini.

Skema Rangkaian LCD

LCD dapat diantarmukakan dengan Mode 8-Bit dan Mode 4-Bit. Gambar di bawah adalah skema dari rangkaian LCD Mode 4-Bit.

starduino_lcd_4bit

Kaki-kaki LCD nomor 1, 2, dan 3 adalah kaki VSS/GND, VCC, dan VEE/VO. VEE berfungsi untuk mengatur kecerahan tampilan karakter LCD. Untuk mengaturnya, digunakan VR 10K yang dapat diputar-putar untuk mendapatkan kecerahan tampilan yang diinginkan.

Kaki LCD nomor 4 (RS) adalah kaki Register Selector yang berfungsi untuk memilih Register Kontrol atau Register Data. Register kontrol digunakan untuk mengkonfigurasi LCD. Register Data digunakan untuk menulis data karakter ke memori display LCD.

Kaki LCD nomor 5 (R/W) digunakan untuk memilih aliran data apakah READ ataukah WRITE. Karena kita tidak memerlukan fungsi untuk membaca data dari LCD dan hanya perlu menulis data saja ke LCD, maka kaki ini dihubungkan ke GND (WRITE).

Kaki LCD nomor 6 (ENABLE) digunakan untuk mengaktifkan LCD pada proses penulisan data ke Register Kontrol dan Register Data LCD.

Contoh Program Arduino

Arduino memiliki pustaka khusus untuk LCD yakni LiquidCrystal.h. Dengan menggunakan pustaka ini, pemrograman LCD menjadi sangat mudah. Berikut adalah program Arduino untuk menampilkan tulisan “TEKNIK ELEKTRO LINKS” dengan konfigurasi pin seperti pada tabel di bawah ini.

Kaki LCD

Fungsi

Pin I/O Starduino

4

LCD_RS

12

6

LCD_EN

11

11

D4

5

12

D5

4

13

D6

3

14

D7

2

Kode Program Arduino

#include <LiquidCrystal.h>

LiquidCrystal LCD (12, 11, 5, 4, 3, 2);

void setup()
{
  LCD.begin (16, 2);  //inisialisasi LCD 16×2

  LCD.print (“ TEKNIK ELEKTRO ”);
  LCD.setCursor (0, 1);  //pindah kursor
  LCD.print (“    L I N K S   ”);
}

void loop()
{
  while(1);
}

Penjelasan Program

Untuk menggunakan pustaka LiquidCrystal.h, digunakan perintah:

 #include <LiquidCrystal.h>;

Selanjutnya adalah deklarasi object LCD dengan parameter-parameter nomor pin I/O Starduino Board yang dihubungkan ke LCD dengan urutan RS, EN, D4, D5, D6, D7. Sesuai dengan tabel konfigurasi di atas, maka deklarasi object LCD adalah:

LiquidCrystal LCD (12, 11, 5, 4, 3, 2);

Setelah pendeklarasian object sudah benar, maka LCD perlu diinisialisasi untuk bekerja pada mode 4-bit. Inisialisasi dilakukan dengan memanggil fungsi begin sebagai beikut:

LCD.begin (16, 2);

Untuk menampilkan tulisan digunakan fungsi print. Fungsi setCursor digunakan untuk meletakkan kursor di posisi (kolom, baris) yang diinginkan.

Sangat mudah, bukan?

Untuk informasi harga dan pemesanan Starduino Board, silakan mengunjungi situs: http://teknikelektrolinks.com.

Selamat belajar!

Smile

Rangkaian Tombol Aktif-Low dan Contoh Program AVR-GCC dan Arduino

telinks_1keycircuit

Jika Rangkaian LED Aktif-Low dan LED Aktif-High merupakan rangkaian sederhana dalam eksperimen mikrokontroler yang mewakili rangkaian output, maka rangkaian tombol aktif-low di samping adalah rangkaian sederhana yang mewakili rangkaian input dengan dua-kondisi yakni kondisi logika high dan kondisi logika low.

Rangkaian terdiri dari sebuah resistor yang diseri dengan sebuah tombol normally-opened (NO). Resistor berfungsi sebagai beban yang mencegah terjadinya hubung-singkat ketika tombol ditekan. Nilai resistor yang umum digunakan dalam level tegangan TTL adalah 10K ohm.

Prinsip kerja rangkaian sangat sederhana. Ketika tombol tidak ditekan, maka output berlogika 1 (HIGH). Dan ketika tombol ditekan, maka output berlogika 0 (LOW). Dengan rangkaian sederhana ini, kita dapat memberikan input berupa perubahan logika ke mikrokontroler dari logika 1 ke logika 0 sebagai sinyal bahwa tombol ditekan. Program mikrokontroler bertugas mendeteksi perubahan logika tersebut dan menjalankan aksi sesuai fungsi tombol tersebut. Pada bagian akhir tulisan ini akan diberikan contoh program sederhana pendeteksian penekanan tombol dengan aksi sederhana yakni menyalakan LED ketika tombol ditekan.

Bouncing Pada Tombol

Sesaat ketika tombol ditekan, ada kondisi dimana kontak tombol belum stabil dan oleh karenanya menghasilkan output logika yang belum stabil pula. Untuk mengatasi hal itu, maka perlu diberikan delay sesaat setelah terdeteksi perubahan logika dari HIGH ke LOW, dan melakukan pengecekan lagi terhadap tombol. Jika setelah delay tombol masih LOW, maka dapat dikatakan tombol telah ditekan secara stabil.

Berikut adalah pseudo-code untuk pendeteksian penekanan tombol aktif-low.

Jika (TOMBOL=LOW)
{
  Delay_50_ms
  Selama (TOMBOL=LOW)
  {
    Lakukan_Aksi
  }
}

Resistor Pull-Up Internal Pada Mikrokontroler

telinks_1keycircuit2Port I/O pada mikrokontroler memiliki resistor pull-up yang dapat diaktifkan sehingga dapat digunakan untuk menggantikan resistor pull-up R1 pada rangkaian di atas. Dengan demikian rangkaian tombol aktif-low di atas dapat disederhanakan seperti gambar rangkaian di samping.

Pada mikrokontroler AVR, jika bit DDRx diset 1 (pin yg bersangkutan berfungsi sebagai output) dan bit PORTx diset 1 (pin yang bersangkutan berlogika 1), maka resistor pull-up internal pada pin tersebut akan aktif.

Contoh Program Pendeteksian Tombol Aktif-Low (AVR-GCC)

Pada contoh program ini, rangkaian tombol aktif-low terhubung ke PORTB.0 (PB0), dan rangkaian LED aktif-high terhubung ke PORTB.1 (PB1).

#define F_CPU 1000000UL

#include
#include 

#define ON 1
#define OFF 0

//macro LED ON/OFF untuk LED Aktif-High
#define LED_AH(x)((x)==(ON)?(PORTB|=_BV(PB1)):(PORTB&=~_BV(PB1)))

int main(void)
{
  PORTB = 0b00000001; //LED=OFF, Res Pull-up internal PB0 aktif
  DDRB  = 0b00000010; //PB1=OUTPUT, PB0=INPUT

  while(1)
  {
    if (bit_is_clear(PINB, PB0)) //jika PB0 = LOW (tombol ditekan)
    {
      _delay_ms(50);             //debouncing delay

      while (bit_is_clear(PINB, PB0)) //selama tombol ditekan
      {
        LED_AH(ON);                   //LED = ON
        //...
      }

      LED_AH(OFF); //LED = OFF
    }
  }
}

Contoh Program Pendeteksian Tombol Aktif-Low (Arduino)

Pada contoh program ini, rangkaian tombol aktif-low terhubung ke pin-11, dan rangkaian LED aktif-high terhubung ke pin-13.

int TOMBOL;

void setup()
{
  pinMode(13, OUTPUT);
  pinMode(11, INPUT);
  digitalWrite(11, HIGH); //aktifkan resistor pull-up internal
}

void loop()
{
  TOMBOL = digitalRead(11);
  if (TOMBOL==LOW)
  {
    delay(50);
    while(TOMBOL==LOW)
    {
      digitalWrite(13, HIGH);
      TOMBOL = digitalRead(11);
    }
    digitalWrite(13, LOW);
  }
}

Contoh-contoh program di atas dapat ditulis dengan lebih efisien jika tujuannya hanya menyalakan LED ketika tombol ditekan. Kedua contoh program di atas dapat langsung digunakan dan dikembangkan sesuai dengan aplikasi yang Anda buat. Program ditulis dengan lebih detail agar algoritma pendeteksian penekanan tombol aktif-low dapat lebih mudah dipahami.

Catatan: Nilai delay tidak harus 50ms. Nilai tersebut dapat diganti dengan 10ms, 20ms, 100ms, silakan bereksperimen sendiri.

Teknik pendeteksian penekanan tombol yang dibahas pada tulisan ini sangat boleh jadi bukanlah teknik yang terbaik, jadi tetaplah membaca, tetaplah browsing, dan tetaplah bereksperimen.

Jika ingin bereksperimen dengan Starduino Board, Anda dapat memesannya melalui situs berikut ini: http://teknikelektrolinks.com.

Selamat belajar!

Smile

Rangkaian LED Aktif-Low dan LED Aktif-High dan Contoh Program Kontrol LED Untuk AVR-GCC dan Arduino

led_hi_lo

Perhatikan gambar di samping. Gambar sebelah kiri adalah rangkaian LED Aktif-Low, dan gambar sebelah kanan adalah rangkaian LED Aktif-High. Rangkaian terdiri dari sebuah resistor yang diseri dengan sebuah LED.

Pada rangkaian LED Aktif-Low, LED akan menyala jika diberi logika 0 (LOW) dan akan mati jika diberi logika 1 (HIGH).

Ketika diberi logika 0, maka tegangan pada kaki anoda LED lebih positif dibandingkan dengan kaki katoda. Selisih tegangan pada kaki anoda dan katoda LED ini melebihi tegangan jatuh LED, sehingga LED pun menghantar (dialiri arus listrik) dan menyala. Sebaliknya, ketika diberi logika 1, maka kaki anoda LED tidak lebih positif daripada kaki katoda, oleh karenanya LED tidak menghantar (tidak dialiri arus listrik) sehingga LED pun tidak menyala.

Pada rangkaian LED Aktif-High, LED akan menyala jika diberi logika 1 (HIGH) dan akan mati jika diberi logika 0 (LOW).

Ketika diberi logika 1, maka tegangan pada kaki anoda LED lebih positif dibandingkan dengan kaki katoda LED. Selisih tegangan pada kaki anoda dan katoda LED ini melebihi tegangan jatuh LED, sehingga LED pun menghantar (dialiri arus listrik) dan menyala. Sebaliknya, ketika diberi logika 0, maka tegangan pada kaki anoda LED tidak lebih positif daripada kaki katoda LED, oleh karenanya LED tidak menghantar (tidak dialiri arus listrik) sehingga LED pun tidak menyala.

Fungsi resistor seri pada rangkaian diatas adalah sebagai pembatas arus. Anda bisa menggunakan resistor dengan nilai yang aman mulai 150 ohm, 180 ohm, 220 ohm, hingga 2K2 ohm tergantung dari tipe LED yang Anda gunakan dan seberapa tingkat kecerahan yang Anda inginkan.

Dengan asumsi bahwa rangkaian LED Aktif-Low terhubung ke PORTB.0 dan rangkaian LED Aktif-High terhubung ke PORTB.1, berikut adalah contoh program kontrol LED untuk AVR-GCC.

Contoh Program Kontrol LED (AVR-GCC)

#define F_CPU 1000000L

#include <avr/io.h>
#include <util/delay.h>

#define ON 1
#define OFF 0

//macro LED ON/OFF untuk LED Aktif-Low
#define LED_AL(x)((x)==(ON)?(PORTB&=~_BV(PB0)):(PORTB|=_BV(PB0)))

//macro LED ON/OFF untuk LED Aktif-High
#define LED_AH(x)((x)==(ON)?(PORTB|=_BV(PB1)):(PORTB&=~_BV(PB1)))

int main(void)
{
  PORTB = 0b00000001; //PB1=0, PB0=1 --> kedua LED OFF
  DDRB = 0b00000011;  //PB0 dan PB1 sebagai output

  while(1)
  {
    LED_AL(ON); LED_AH(ON);   //kedua LED ON
    _delay_ms(500);           //delay 1/2 detik
    LED_AL(OFF); LED_AH(OFF); //kedua LED OFF
    _delay_ms(500);           //delay 1/2 detik
  }
}

Contoh Program Kontrol LED (Arduino)

Dengan asumsi bahwa rangkaian LED Aktif-Low terhubung ke pin-11 dan rangkaian LED Aktif-High terhubung ke pin-12, berikut adalah contoh program pengendalian LED untuk Arduino.

void setup()
{
  pinMode(11, OUTPUT); //pin-11 sebagai output
  pinMode(12, OUTPUT); //pin-12 sebagai output
}

void loop()
{
  digitalWrite(11, LOW);  //LED Aktif-Low ON
  digitalWrite(12, HIGH); //LED Aktif-High ON
  delay(500);             //delay 1/2 detik
  digitalWrite(11, HIGH); //LED Aktif-Low OFF
  digitalWrite(12, LOW);  //LED Aktif-High OFF
  delay(500);             //delay 1/2 detik
}

Rangkaian LED Aktif-Low dan Aktif-High merupakan rangkaian yang sangat penting dalam bereksperimen mikrokontroler. Tak hanya karena murah dan mudah dirangkai, tapi kedua rangkaian tersebut dapat mewakili berbagai macam rangkaian output, baik yang aktif-low maupun yang aktif-high seperti relay, buzzer, motor, dan solenoid. Selanjutnya tinggal mempelajari dan memahami berbagai macam rangkaian driver output.

Ingin bereksperimen dengan Starduino Board? Silakan mengunjungi situs kami di: http://teknikelektrolinks.com.

Selamat belajar!

Smile

Starduino Board – Layout Baru

starduino_new

Starduino Board kini dengan layout baru yang lebih semarak. Tidak seperti layout sebelumnya yang cenderung sederhana, kini Starduino Board dilengkapi dengan beberapa LED yakni: TX Led, RX Led, dan PIN-13 Led.

TX Led akan menyala dan mati sesuai dengan kondisi pin TX dari mikrokontroler ATmega8. Dengan adanya LED ini, maka kita bisa mengetahui ketika mikrokontroler mengirimkan data serial.

RX Led akan menyala dan mati sesuai dengan kondisi pin RX dari mikrokontroler ATmega8. Ketika ada data serial yang masuk ke mikrokontroler, LED ini akan berkedip-kedip mengikuti deretan logika data serial yang diterima mikrokontroler.

PIN-13 Led adalah LED yang terhubung ke pin 13 dari Starduino Board. Rangkaian LED pada pin 13 ini aktif-tinggi. LED akan menyala jika pin 13 berlogika 1, dan LED akan mati jika pin 13 berlogika 0.

Selain dilengkapi dengan beberapa LED, terminal tegangan input yang sebelumnya menggunakan header 3-pin, kini diganti dengan terminal-screw 2-pin sehingga lebih mudah dalam instalasi dan lebih kokoh.

Bagi Anda yang berminat dengan Starduino Board, silakan langsung mengunjungi situs kami di: http://teknikelektrolinks.com.

Selamat berkarya!

Open-mouthed smile

UP & Running With Starduino Board

starduino_usb_lenovoMemulai praktik pemrograman mikrokontroler dengan Starduino Board sangatlah mudah. Berikut adalah langkah-langkahnya.

Pertama-tama, hubungkan port serial Starduino Board ke port serial PC menggunakan kabel data serial yang telah disediakan dalam paket Starduino Board. Atau jika menggunakan port USB, maka tambahkah kabel data konverter USB-to-Serial seperti yang ditunjukkan pada gambar di atas.

Selanjutnya, jalankan program Arduino.

Pilih Board yang sesuai dengan menggunakan menu sebagai berikut.

starduino_up_running1

Selanjutnya, pilih Serial Port yang digunakan sebagai berikut.

starduino_up_running2

Langkah selanjutnya adalah berinteraksi dengan Starduino Board menggunakan program sederhana untuk membuat lampu berkedip-kedip dan mengirimkan data ke komputer melalui port serial. Berikut adalah sketch Arduino-nya.

starduino_up_running3

Langkah selanjutnya adalah meng-upload program ke Starduino Board dengan meng-klik Button Upload seperti ditunjukkan pada gambar di atas.

Setelah program selesai di upload, maka beberapa detik kemudian lampu LED akan berkedip-kedip dengan selang 1/2 detik ON dan 1/2 detik OFF.

Buka window Serial Monitor dengan meng-klik Button Serial Monitor atau menekan kombinasi kunci Ctrl-Shift-M, maka akan ditampilkan tulisan LOW, HIGH, LOW, HIGH, seiring dengan kedipan lampu LED.

Perhatian!

Starduino Board menggunakan bootloader Arduino. Ketika board direset atau pertama kali dihidupkan, maka bootloader akan dijalankan. Bootloader akan menunggu data dari PC. Jika dalam beberapa detik (sekitar 7 detik) data tidak ada, maka bootloader akan menjalankan program kontrol dalam memori program ATmega8. Jadi jangan heran jika sistem dijalankan, program tidak langsung di-running.

Jika Anda berminat dengan Starduino Board, silakan mengunjungi situs http://teknikelektrolinks.com untuk informasi harga dan pemesanan.

Selamat belajar!

Smile

STARDUINO BOARD + WAVECOM FASTRACK GSM MODEM

starduino_gsm_modem

Aplikasi SMS Alarm dan SMS Control berbasis mikrokontroler kini semakin marak dengan semakin murahnya harga modem. Tak perlu repot lagi mencari HP jadul seperti Siemens C35, M35, dan sekelasnya, karena kini ada modem GSM Wavecom Fastrack yang sebanding harganya dengan HP jadul.

Jika Anda pengguna Starduino Board, Anda dapat menghubungkan Starduino Board dengan modem gsm Wavecom Fastrack seperti gambar disamping ini. Dengan Starduino Board, aplikasi sistem SMS Alarm dan SMS Control dapat dikembangkan dengan mudah.

Ada sedikit ketidaknyamanan dalam pengaplikasian modem dengan Starduino Board, yakni: ketika mengisi program, maka Starduino Board harus terhubung dengan port serial komputer. Setelah program masuk, lepas kabel serial komputer dan hubungkan kabel serial modem ke Starduino Board. Proses tersebut akan terjadi berulang-ulang selama proses pengembangan program.

Untuk mengatasi masalah tersebut, dapat digunakan software-software port serial yang dapat dimanfaatkan untuk mengemulasikan kerja modem. Salah satunya adalah Docklight. Bukan 100% freeware, tapi cukup berguna untuk keperluan tersebut.

Berikut adalah foto sistem kontrol dan alarm berbasis SMS dengan 1 buah input dan 5 buah output relay.

Berikut ini saya berikan contoh pemrograman Arduino untuk mengirimkan SMS menggunakan perintah AT+CMGS.

Serial.flush();
Serial.print(“AT+CMGS=”);
Serial.print(“081231784018”);
Serial.write(13);
Serial.print(“Perhatian! Sensor I Aktif!”);
Serial.write(26);
delay(5000);

Selamat berkarya!

Open-mouthed smile

Selamat Datang!

Selamat datang di blog Starduino Board – blog khusus untuk pemula yang membahas tentang tutorial, tip dan trik, serta contoh-contoh aplikasi menggunakan board mikrokontroler Starduino 1.0.

starduino_1_0Starduino 1.0 adalah sebuah board mikrokontroler berbasis mikrokontroler ATMEL ATmega8 yang telah ditanami bootloader Arduino. Oleh karenanya, Starduino 1.0 dapat diprogram secara langsung menggunakan program Arduino. Starduino 1.0 adalah board mikrokontroler yang merupakan turunan dan modifikasi dari Arduino model lama yang masih menggunakan ATmega8. Namun demikian, jika memang aplikasinya membutuhkan memori program yang lebih besar, maka board ini juga dapat digunakan untuk mikrokontroler tipe ATmega168 dan ATmega328.

Adapun spesifikasi board STARDUINO 1.0 adalah sebagai berikut:

  • Mikrokontroler AVR ATmega8-16PU dengan Bootloader Arduino
  • 14 pin digital I/O dengan nomor 0-13 (3 diantaranya adalah dapat difungsikan sebagai PWM Output)
  • 6 pin ADC-Input (dapat juga digunakan sebagai digital I/O)
  • Port serial RS232 dengan konverter tegangan MAX232
  • Tegangan input AC/DC 9-18V (bisa langsung dari trafo)
  • 5 buah +5V Power-Port
  • Dimensi 10 x 4,5 cm

Paket Starduino 1.0 yang terdiri dari board Starduino, kabel serial, dan CD STARDUINO 1.0 dapat Anda dapatkan melalui situs Teknik Elektro Links di: http://telinks.co.nr.

paket_starduino

CD Starduino 1.0 berisi program-program antara lain: Arduino-022, Lazarus, Processing, dan beberapa program freeware dari Teknik Elektro Links seperti kalkulator warna gelang resistor, kalkulator display seven-segment, dan kalkulator heater tiga-fasa.

Silakan mengunjungi blog ini sewaktu-waktu untuk menikmati sajian tutorial, tip dan trik, serta contoh-contoh aplikasi Starduino Board dan pemrograman Arduino-022. Dapatkan juga tutorial dan contoh aplikasi pemrograman antarmuka antara komputer dan Starduino menggunakan VB.NET, Lazarus, dan Processing.

Pastikan alamat email Anda terdaftar dalam blog ini untuk mendapatkan email notifikasi mengenai tulisan terbaru dari kami. Silakan mendaftarkan email Anda pada widget Email Subscription di bagian atas halaman blog ini.

Terima kasih atas kunjungan Anda dan Selamat Belajar!

Winking smile