Archive for 2013

Sensor Temperature & Humidity DHT 11

 Kali ini saya akan memposting bagaimana cara menggunakan sensor temperature & humidity khususnya dengan dht11. DHT11 merupakan sensor yang membaca temperature dan kelembaban di sekitar kita. Dengan output signal digital dan dikalibrasi dengan suhu dan kelembaban sensor kompleks. Ini lah gambar sensor dht11.
Click Image To Large

 Siapkan terlebih dahulu bahan-bahan yang kita butuhkan :
  1. Arduino Uno, Leonardo, Mega, dll
  2. Sensor DHT11
  3. Kabel Jumper
Sekarang sebelum memulai kita membuat sketchnya download terlebih dahulu library dht11 disini. Setelah kita download dalam format zip lalu kita ekstrak terlebih dahulu dan kita pindah file tersebut ke folder library arduino.
Rabu, 27 November 2013
Posted by Unknown

Setting Clock RTC Arduino dengan Serial Monitor

Kali ini kita akan belajar bagaimana mensetting RTC (real time clock) kita secara otomatis menggunakan serial monitor.
Sebelum itu kita mengenal dulu apa itu RTC (real time clock). RTC adalah sebuah jam elektronik berupa chip yang dapat menghitung waktu maupun tanggal dan tahun dengan akurat. Chip RTC juga dapat kita jumpai pada komputer jenis desktop maupun jinjing (laptop) maka dari itu komputer kita dapat tepat dalam penghitungan waktu karena mempunyai osilator crystal walau komputer kita dalam keadaan mati (off) sekalipun.
Salah satu chip yang terkenal dan mulai dikenal dengan shield RTC arduino merupakan jenis chip DS1307 dengan memakai osilator crystal 32,768 KHz.
Dibawah ini merupakan kaki IC DS1307:
Click Image To Large
Dan ini adalah gambar skema rangkaian sederhana IC DS1307:
Click Image To Large
Sekarang kita mulai belajar bagaimana cara untuk mensetting RTC tersebut agar sesuai dengan jam saat ini. Sebelum itu kita siapkan bahan sebagai berikut:
  1. RTC
  2. Arduino Uno, Leonardo, Mega, dll
  3. Kabel jumper
Kemudian kita hubungkan SCL dan SDA seperti gambar berikut ini:
Click Image To Large
Setelah itu kita download library DS1307 kita disini. Jika sudah terinstall pada software arduino sekarang kita jalankan software arduino tersebut lalu kita buat sketch seperti dibawah ini:

#include <Wire.h>
const int DS1307 = 0x68; // Alamat pin RTC pada arduino
const char* days[] =
{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
const char* months[] =
{"January", "February", "March", "April", "May", "June", "July", "August","September", "October", "November", "December"};

// Inisialisasi semua nilai:
byte second = 0;
byte minute = 0;
byte hour = 0;
byte weekday = 0;
byte monthday = 0;
byte month = 0;
byte year = 0;

void setup() {
  Wire.begin();
  Serial.begin(9600);
  delay(2000); // Timer untuk MCU membaca tanggal dan waktu

  Serial.print("The current date and time is: ");
  printTime();
  Serial.println("Please change to newline ending the settings on the lower right of the Serial Monitor");
  Serial.println("Would you like to set the date and time now? Y/N");

  while (!Serial.available()) delay(10);
  if (Serial.read() == 'y' || Serial.read() == 'Y')

  // This set of functions allows the user to change the date and time
  {
    Serial.read();
    setTime();
    Serial.print("The current date and time is now: ");
    printTime();
  }


  Serial.println("Thank you.");
}

// Continuous function for converting bytes to decimals and vice versa
void loop() {
}
byte decToBcd(byte val) {
  return ((val/10*16) + (val%10));
}
byte bcdToDec(byte val) {
  return ((val/16*10) + (val%16));
}


// Setting kode untuk input data waktu dan tanggal
void setTime() {
  Serial.print("Please enter the current year, 00-99. - ");
  year = readByte();
  Serial.println(year);
  Serial.print("Please enter the current month, 1-12. - ");
  month = readByte();
  Serial.println(months[month-1]);
  Serial.print("Please enter the current day of the month, 1-31. - ");
  monthday = readByte();
  Serial.println(monthday);
  Serial.println("Please enter the current day of the week, 1-7.");
  Serial.print("1 Sun | 2 Mon | 3 Tues | 4 Weds | 5 Thu | 6 Fri | 7 Sat - ");
  weekday = readByte();
  Serial.println(days[weekday-1]);
  Serial.print("Please enter the current hour in 24hr format, 0-23. - ");
  hour = readByte();
  Serial.println(hour);
  Serial.print("Please enter the current minute, 0-59. - ");
  minute = readByte();
  Serial.println(minute);
  second = 0;
  Serial.println("The data has been entered.");
 

// Kode untuk mentransmisikan atau mengirimkan data ke RTC
  Wire.beginTransmission(DS1307);
  Wire.write(byte(0));
  Wire.write(decToBcd(second));
  Wire.write(decToBcd(minute));
  Wire.write(decToBcd(hour));
  Wire.write(decToBcd(weekday));
  Wire.write(decToBcd(monthday));
  Wire.write(decToBcd(month));
  Wire.write(decToBcd(year));
  Wire.write(byte(0));
  Wire.endTransmission();
  // Ends transmission of data
}


byte readByte() {
  while (!Serial.available()) delay(10);
  byte reading = 0;
  byte incomingByte = Serial.read();
  while (incomingByte != '\n') {
    if (incomingByte >= '0' && incomingByte <= '9')
      reading = reading * 10 + (incomingByte - '0');
    else;
    incomingByte = Serial.read();
  }
  Serial.flush();
  return reading;
}


void printTime() {
  char buffer[3];
  const char* AMPM = 0;
  readTime();
  Serial.print(days[weekday-1]);
  Serial.print(" ");
  Serial.print(months[month-1]);
  Serial.print(" ");
  Serial.print(monthday);
  Serial.print(", 20");
  Serial.print(year);
  Serial.print(" ");
  if (hour > 12) {
    hour -= 12;
    AMPM = " PM";
  }
  else AMPM = " AM";
  Serial.print(hour);
  Serial.print(":");
  sprintf(buffer, "%02d", minute);
  Serial.print(buffer);
  Serial.println(AMPM);
}


void readTime() {
  Wire.beginTransmission(DS1307);
  Wire.write(byte(0));
  Wire.endTransmission();
  Wire.requestFrom(DS1307, 7);
  second = bcdToDec(Wire.read());
  minute = bcdToDec(Wire.read());
  hour = bcdToDec(Wire.read());
  weekday = bcdToDec(Wire.read());
  monthday = bcdToDec(Wire.read());
  month = bcdToDec(Wire.read());
  year = bcdToDec(Wire.read());
}


Setelah semua kode diatas telah ditulis dengan benar lalu kita upload sketch tersebut ke arduino kita. Lalu kita buka serial monitor (Ctrl + Shift + M). Setelah itu ubah Tab dibawah yang bertuliskan No Line Ending dengan Newline. Lalu kita masukkan input sesuai dalam petunjuk dalam serial monitor tersebut. Berikut screenshot saat menset RTC tersebut:
Click Image To Large
Click Image To Large
Click Image To Large
Click Image To Large
Click Image To Large
Click Image To Large
Click Image To Large
Click Image To Large
Jika telah terdapat teks bertuliskan thank you seperti diatas dan telah tertera waktu dan tanggal seperti yang kita kehendaki maka setting RTC kita telah berhasil. Sekian dari saya, dan terima kasih telah berkunjung diblog sederhana saya. . . :)
Kamis, 21 November 2013
Posted by Unknown

Mengenal & Belajar dengan LCD Arduino

Belajar LCD Arduino

Kali ini kita akan belajar untuk menampilkan pesan atau tulisan dengan lcd arduino. LCD (Liquid Crystal Display) adalah suatu jenis tampilan yang menggunakan kristal cair sebagai penampil utama. Namun tidak bisa menampilkan cahaya sendiri tentunya, terdapat sumber cahaya berupa lampu neon berwarna putih di belakang susunan kristal cair.

Kita akan mencoba menampilkan tulisan dengan lcd 16x2 atau yang berarti 16 baris, 2 kolom. Sebelum itu kita persiapkan bahan yang kita butuhkan:
  1. LCD 16x2
  2. Arduino UNO, Leonardo, mega, dll
  3. Potensio 10K
  4. Kabel jumper

Sekarang kita mulai dengan mengenal bagian-bagian dari pin lcd tersebut:
Click Image To Large
Click Image To Large



















-> Pin LCD nomor 3 (Vo) adalah untuk contrast lcd tersebut yang akan kita hubungkan dengan potensio
->  Pin LCD nomor 4 (RS) adalah Register Kontrol atau Register Data. Register kontrol digunakan untuk menulis data ke memori display LCD.
-> Pin LCD nomor 5 (R/W) untuk memilih data yang digunakan READ atau WRITE. Karena kebanyakan fungsi hanya perlu menulis data saja ke LCD, maka dihubungkan ke GND (WRITE).
-> Pin LCD nomor 6 (ENABLE) digunakan untuk mengaktifkan LCD pada proses penulisan data ke Register Kontrol dan Register Data LCD.
Click Image To Large





Koneksi LCD dengan Board Arduino sebagai berikut:

  1. Pin 1 (Vss) dihubungkan dengan pin ground arduino
  2. Pin 2 (Vdd) dihubungkan dengan pin 5v arduino
  3. Pin 3 (Vo) dihubungkan dengan potensio
  4. Pin 4 (RS) di sambungkan dengan pin arduino digital pin 12
  5. Pin 5 (R/W) dihubungkan dengan pin ground arduino
  6. Pin 6 (E) dihubungkan dengan pin arduino digital pin 11
  7. Pin 11 (DB4) dihubungkan dengan pin arduino digital pin 5
  8. Pin 12 (DB5) dihubungkan dengan pin arduino digital pin 4
  9. Pin 13 (DB6)  dihubungkan dengan pin arduino digital pin 3
  10. Pin 14 (DB7) dihubungkan dengan pin arduino digital pin 2
  11. Pin 15 (A) dihubungkan dengan pin 5v arduino
  12. Pin 16 (K) dihubungkan dengan pin ground arduino

Setelah semuanya terhubung antara lcd dengan arduino lalu kita buka software arduino klik File -> Examples -> LiquidCrystal -> HelloWorld.
Kita dapat menampilkan pesan sesuai yang kita kehendaki dengan merubah tulisan pada "hello world", seperti contoh dibawah ini:
Click Image To Large

Terima kasih telah menyimak blog sederhana saya... :)
Rabu, 20 November 2013
Posted by Unknown

Memulai Pertama Arduino di Windows (Pemula)

Kali ini kita akan mempraktekkan cara menginstal driver arduino supaya chip arduino kita terbaca oleh komputer kita.

1. Pertama-tama persiapkan alat dan bahan yang kita butuhkan yaitu:
  • Board arduino tentunya beserta kabel A-B maupun dapat kita gunakan kabel printer seperti berikut
Click Image To Large
  •  Software Arduino terbaru maupun lama yang dapat kita unduh gratis dari link arduino berikut: Klik Disini. Jangan lupa ekstrak file tersebut dan kita dapat lihat terdapat beberapa folder.

2. Lalu hubungkan board arduino kita dengan komputer. Kita dapat melihat bahwa lampu power ON berwarna hijau pada arduino menyala.

3. Instal driver Arduino dengan Windows 7 atau XP:
  • Hubungkan board anda dan tunggu Windows untuk memulai proses instalasi driver. Setelah selesai beberapa saat, proses ini akan gagal.
  • Klik pada Start Menu kemudian klik Control Panel
  • Lalu klik menu System and Security. Klik pada System. Setelah tampilan System muncul, klik Device Manager.
  • Kemudian klik pada bagian Ports (COM & LPT). Anda akan melihat sebuah port dengan nama Arduino Uno (COMx)
  • Lalu klik kanan pada port Arduino xxx (COMxx) dan klik Update Driver Software.
  • Kemudian klik lagi Browse my computer for Driver software.
  • Dalam folder Driver pada software arduino yang kita unduh tadi, pilih file driver, dengan format ".inf".
  • Windows akan meneruskan instalasi driver.

4. Lalu kita memulai membuat program dengan software arduino yang telah terdapat juga pada file yang kita unduh tadi dengan klik pada file "Arduino.exe".

5. Buka contoh atau sample sketch yang telah tersedia dalam software tersebut. Klik File -> Examples -> Basics -> Blink.
Click Image To Large

6. Kemudian pilih board yang kita gunakan. Klik Tools ->  Board -> Lalu pilih board yang kita gunakan.
Click Image To Large

7. Lalu pilih serial port board arduino yang kita gunakan seperti yang tertera saat kita instal driver tadi. Klik pada Tools -> Serial Port -> dan kita pilih sesuai dengan serial port kita tadi.
Click Image To Large

8. Kemudian kita upload sketch blink yang telah ada tadi dengan klik Upload lalu tunggu hingga lampu indikator RX dan TX pada board arduino anda selesai berkelap-kelip. Setelah upload program selesai akan ada tulisan pada lingkaran dibawah ini.
Click Image To Large

Dan selamat anda telah berhasil menginstal driver arduino anda beserta upload sketch program arduino anda. Dan terima kasih telah membaca blog sederhana saya. :)
Minggu, 17 November 2013
Posted by Unknown

Apakah itu Arduino?

Apa Itu Arduino???
Arduino adalah suatu kit elektronik ataupun sebuah papan rangkaian elektronik yang didalamnya terdapat chip mikrokontrol dengan jenis AVR dari perusahaan ATMEL atau ATMEGA yang bersifat 'open source' atau software dari chip tersebut mampu kita buat sendiri dengan kreasi kita masing-masing.
Chip maupun IC tersebut merupakan chip mikrokontrol yang mampu kita program menggunakan komputer dengan bahasa C. seperti yang kita inginkan. Dapat berbagai macam aplikasi yang mampu kita buat dengan chip tersebut seperti membuat sebuah sistem keamanan, maupun untuk menciptakan suatu permainan, membuat mp3 player, maupun gps sistem, kontrol suhu, dan kontrol jarak jauh.

Kelebihan Arduino...
  1. Bahasa pemrograman yang relatif mudah untuk dicerna dengan banyaknya library-library yang cukup lengkap dan kita download dengan gratis dari web http://arduino.cc/de/Reference/Libraries.
  2. Terdapat modul siap pakai atau sering disebut shield arduino yang tentunya dijual terpisah. Terdapat banyak shield seperti relay, mp3 player, ethernet, gps, sensor suhu, ultrasonic, dll.
  3. Membutuhkan ruang yang relatif kecil untuk menyimpan arduino tersebut tentunya dengan kontrol yang terbilang mewah seperti yang kita inginkan.
  4. Harga yang relatif murah dibandingkan plc yang lumayan mahal.
 
Macam-macam Board Arduino... 
1.  Arduino Uno
Click Image To Large
Spesifikasi :
Microcontroller: ATmega328
Operating Voltage: 5V
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-20V
Digital I/O Pins: 14 (of which 6 provide PWM output)
Analog Input Pins: 6
DC Current per I/O Pin: 40 mA
DC Current for 3.3V Pin: 50 mA
Flash Memory: 32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM: 2 KB (ATmega328)
EEPROM: 1 KB (ATmega328)
Clock Speed: 16 MHz
2.  Arduino Leonardo
Click Image To Large
Spesifikasi :
Microcontroller: ATmega32u4
Operating Voltage: 5V
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-20V
Digital I/O Pins: 20
PWM Channels: 7
Analog Input Channels: 12
DC Current per I/O Pin: 40 mA
DC Current for 3.3V Pin: 50 mA
Flash Memory: 32 KB (ATmega32u4) of which 4 KB used by bootloader
SRAM: 2.5 KB (ATmega32u4)
EEPROM: 1 KB (ATmega32u4)
Clock Speed: 16 MHz
3. Arduino Mega ADK
Click Image To Large
 Spesifikasi :
Microcontroller: ATmega2560
Operating Voltage: 5V
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-20V
Digital I/O Pins: 54 (of which 15 provide PWM output)
Analog Input Pins: 16
DC Current per I/O Pin: 40 mA
DC Current for 3.3V Pin: 50 mA
Flash Memory: 256 KB of which 8 KB used by bootloader
SRAM: 8 KB
EEPROM: 4 KB
Clock Speed: 16 MHz
4. Arduino Mega 2560
Click Image To Large
Spesifikasi :
Microcontroller: ATmega2560
Operating Voltage: 5V
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-20V
Digital I/O Pins: 54 (of which 15 provide PWM output)
Analog Input Pins: 16
DC Current per I/O Pin: 40 mA
DC Current for 3.3V Pin: 50 mA
Flash Memory: 256 KB of which 8 KB used by bootloader
SRAM: 8 KB
EEPROM: 4 KB
Clock Speed: 16 MHz
5. Arduino Due
Click Image To Large
Spesifikasi :
Microcontroller: AT91SAM3X8E
Operating Voltage: 3.3V
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-16V
Digital I/O Pins: 54 (of which 12 provide PWM output)
Analog Input Pins: 12
Analog Outputs Pins: 2 (DAC)
Total DC Output Current on all I/O lines: 130 mA
DC Current for 3.3V Pin: 800 mA
DC Current for 5V Pin: 800 mA
Flash Memory: 512 KB all available for the user applications
SRAM: 96 KB (two banks: 64KB and 32KB)
Clock Speed: 84 MHz
6. Arduino Ethernet
Click Image To Large
Spesifikasi :
Microcontroller: ATmega328
Operating Voltage: 5V
Input Voltage Plug (recommended): 7-12V
Input Voltage Plug (limits): 6-20V
Input Voltage PoE (limits): 36-57V
Digital I/O Pins: 14 (of which 4 provide PWM output)
Arduino Pins reserved:
: 10 to 13 used for SPI
4 used for SD card
2 W5100 interrupt (when bridged)
Analog Input Pins: 6
DC Current per I/O Pin: 40 mA
DC Current for 3.3V Pin: 50 mA
Flash Memory: 32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM: 2 KB (ATmega328)
EEPROM: 1 KB (ATmega328)
Clock Speed: 16 MHz
7. Arduino Pro
Click Image To Large
Spesifikasi :
Microcontroller: ATmega168 or ATmega328
Operating Voltage: 3.3V or 5V
Input Voltage: 3.35 -12 V (3.3V versions) or 5 - 12 V (5V versions)
Digital I/O Pins: 14 (of which 6 provide PWM output)
Analog Input Pins: 6
DC Current per I/O Pin: 40 mA
Flash Memory: 16 KB (ATmega168) or 32KB (ATmega328) of which 2 KB used by bootloader
SRAM: 1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM: 512 bytes (ATmega168) or 1 KB (ATmega328)
Clock Speed: 8 MHz (3.3V versions) or 16 MHz (5V versions)
8. Arduino Pro Mini
Spesifikasi :
Microcontroller: ATmega168
Operating Voltage: 3.3V or 5V (depending on model)
Input Voltage: 3.35 -12 V (3.3V model) or 5 - 12 V (5V model)
Digital I/O Pins: 14 (of which 6 provide PWM output)
Analog Input Pins: 8
DC Current per I/O Pin: 40 mA
Flash Memory: 16 KB (of which 2 KB used by bootloader)
SRAM: 1 KB
EEPROM: 512 bytes
Clock Speed: 8 MHz (3.3V model) or 16 MHz (5V model)
9. Arduino Nano
Spesifikasi :
Microcontroller: Atmel ATmega168 or ATmega328
Operating Voltage (logic level): 5 V
Input Voltage (recommended): 7-12 V
Input Voltage (limits): 6-20 V
Digital I/O Pins: 14 (of which 6 provide PWM output)
Analog Input Pins: 8
DC Current per I/O Pin: 40 mA
Flash Memory: 16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader
SRAM: 1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM: 512 bytes (ATmega168) or 1 KB : (ATmega328)
Clock Speed: 16 MHz
Dimensions: 0.73" x 1.70"


Terima kasih telah datang dan menyimak informasi diblog sederhana saya... :)
Posted by Unknown

Popular Post

Blogger templates

Diberdayakan oleh Blogger.

- Copyright © Technology - Powered by Blogger -