Berbage Ilmu | Tutorial Arduino Android SEO Networking Software: Arduino
Showing posts with label Arduino. Show all posts
Showing posts with label Arduino. Show all posts

Koneksi RTC DS1307 dan Nodemcu v3

Kali ini saya akan memberikan tutorial tentang bagaimana melakukan koneksi atau menghubungkan RTC DS1307 dengan Esp Nodemcu V3. berikut ini merupakan koneksi antar pin RTC DS1307 dan Nodemcu v3.
Koneksi Pin :
RTC         Nodemcu
GND ----- GND
VCC ------ 3v / 5v
SDA ------ D2
SCL ------- D1
Selanjutnya anda download library RTC nya DISINI. Kemudian anda tambahkan library tersebut ke Arduino IDE anda. Langkah selanjutnya copy sketch berikut dan paste di projek pada Arduino IDE anda.

// CONNECTIONS:
// DS1307 SDA --> D2
// DS1307 SCL --> D1
// DS1307 VCC --> 5v
// DS1307 GND --> GND

#include <Wire.h> // must be included here so that Arduino library object file references work
#include <RtcDS1307.h>
RtcDS1307<TwoWire> Rtc(Wire);
/* for normal hardware wire use above */
void setup ()
{
    Serial.begin(9600);
    Serial.print("compiled: ");
    Serial.print(__DATE__);
    Serial.println(__TIME__);
   
    Rtc.Begin();
    RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__);
    printDateTime(compiled);
    Serial.println();
    if (!Rtc.IsDateTimeValid())
    {
        Serial.println("RTC lost confidence in the DateTime!");
        Rtc.SetDateTime(compiled);
    }
    if (!Rtc.GetIsRunning())
    {
        Serial.println("RTC was not actively running, starting now");
        Rtc.SetIsRunning(true);
    }
    RtcDateTime now = Rtc.GetDateTime();
    if (now < compiled)
    {
        Serial.println("RTC is older than compile time!  (Updating DateTime)");
        Rtc.SetDateTime(compiled);
    }
    else if (now > compiled)
    {
        Serial.println("RTC is newer than compile time. (this is expected)");
    }
    else if (now == compiled)
    {
        Serial.println("RTC is the same as compile time! (not expected but all is fine)");
    }
    Rtc.SetSquareWavePin(DS1307SquareWaveOut_Low);
}
void loop ()
{
    if (!Rtc.IsDateTimeValid())
    {
        Serial.println("RTC lost confidence in the DateTime!");
    }
    RtcDateTime now = Rtc.GetDateTime();
    printDateTime(now);
    Serial.println();
    delay(1000);
}
#define countof(a) (sizeof(a) / sizeof(a[0]))
void printDateTime(const RtcDateTime& dt)
{
    Serial.print(dt.Day());
    Serial.print("/");
    Serial.print(dt.Month());
    Serial.print("/");
    Serial.println(dt.Year());
    Serial.print(dt.Hour());
    Serial.print(":");
    Serial.print(dt.Minute());
    Serial.print(":");
    Serial.println(dt.Second());
}
maka hasilnya akan seperti pada gambar berikut.


Sekian & terimakasih, Semoga bermanfaat..๐Ÿ˜๐Ÿ˜

Smart TV dengan arduino dan android

Kali ini saya akan memberikan tutorial tentang cara atau bagaimana membuat sebuah smart tv dengan arduino yang di kontrol dengan perintah suara atau voice recognition di aplikasi android. yang fungsimya bisa sebagai on/off tv, ganti channel dll. disesuaikan dengan kebutuhan anda saja. pada percobaan ini menggunakan koneksi bluetooth yang menghubungkan arduino & smartphone android. video percobaan dapat dilihat pada video berikut.


Alat - alat yang digunakan :
- Arduino
- IR transmitter
- IR reciver
- Bluetooth HC05 / HC06
- Breadboard 
- Jumper Kabel

Skema :
HC05 ---- Arduino
VCC ---- 5v
GND ---- GND
RX ---- TX
TX ---- RX

Ir Transmitter ---- Arduino
Signal ----- D3
GND ----- GND
VCC ---- VCC

Ir Reciver ---- Arduino
Signal ---- D11
GND ---- GND
VCC ---- VCC

Langkah awal download library IrRemote disini kemudian import ke arduino IDE. selanjutnya anda perlu melakukan decode remote kontrol tv tersebut, dengan cara upload sketch dibawah ini ke arduino anda.

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn();
}

void dump(decode_results *results) {
  int count = results->rawlen;
  if (results->decode_type == UNKNOWN) {
    Serial.print("Unknown encoding: ");
  }
  else if (results->decode_type == NEC) {
    Serial.print("Decoded NEC: ");
  }
  else if (results->decode_type == SONY) {
    Serial.print("Decoded SONY: ");
  }
  else if (results->decode_type == RC5) {
    Serial.print("Decoded RC5: ");
  }
  else if (results->decode_type == RC6) {
    Serial.print("Decoded RC6: ");
  }
  else if (results->decode_type == PANASONIC) {
    Serial.print("Decoded PANASONIC - Address: ");
    Serial.print(results->address, HEX);
    Serial.print(" Value: ");
  }
  else if (results->decode_type == LG) {
    Serial.print("Decoded LG: ");
  }
  else if (results->decode_type == JVC) {
    Serial.print("Decoded JVC: ");
  }
  else if (results->decode_type == AIWA_RC_T501) {
    Serial.print("Decoded AIWA RC T501: ");
  }
  else if (results->decode_type == WHYNTER) {
    Serial.print("Decoded Whynter: ");
  }
  Serial.print(results->value, HEX);
  Serial.print(" (");
  Serial.print(results->bits, DEC);
  Serial.println(" bits)");
  Serial.print("Raw (");
  Serial.print(count, DEC);
  Serial.print("): ");
  for (int i = 1; i < count; i++) {
    if (i & 1) {
      Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
    }
    else {
      Serial.write('-');
      Serial.print((unsigned long) results->rawbuf[i]*USECPERTICK, DEC);
    }
    Serial.print(" ");
  }
  Serial.println();
}
void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    dump(&results);
    irrecv.resume();
  }
}
Selanjutnya buka serial monitor pada Arduino IDE set baudrate pada serial monitor anda menjadi 9600. kemudian lakukan decode pada remote tv tersebut misalkan menekan tombol on/off pada remote.



Lakukan decode untuk semua siaran tv dan fungsi yang anda perlukan misalkan channel 30


Setelah selesai, upload sketch berikut ini ke arduino anda.

#include <IRremote.h>
char val;
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
if(Serial.available()>0){
  val = Serial.read();
  Serial.println(val);
  if (val == 'a') //jika terdapat data 'a' pada serial yang dikirim dari android
  {
    irsend.sendNEC(0xFAA847B, 32); //send ON/OFF TV
  }
  else if(val=='b')//jika terdapat data 'b' pada serial yang dikirim dari android
  {
    irsend.sendNEC(0xFAAC837, 32); //send angka 3
    delay(400);//delay 4ms
    irsend.sendNEC(0xFAA08F7, 32);//send angka 0
    delay(4000);//delay 4 detik
  }
  /*
   * Percobaan menyalakan TV dan mengirim sinyal channel 30 pada TV
   * sesuaikan dengan type remote, misalkan menggunakan sony
     maka typenya menjadi "sendSony"
   * tambahkan "0x" pada hasil decode.
   */
  }
}
Selanjutnya login ke akun app inventor anda, kemudian susun design dan blocknya seperti pada gambar berikut :



Membuat remote TV sederhana dengan IR transmitter menggunakan arduino

Penggunaan IR atau infrared sebagai media transmisi data yang telah diaplikasikan pada TV, AC dan peralatan elektronik lainya dapat memberikan kemudahan untuk melakukan pengontrolan suatu alat atau device tersebut. pada kesempatan ini saya akan memberikan tutorial yaitu membuat suatu sistem remote control, dimana objek-nya yaitu sebuah TV decoder. Berikut ini merupakan alat yang perlu di persiapkan dalam projek ini.

Daftar alat :

  • Arduino
  • IR transmitter
  • IR Reciver
  • Push Button
  • Resistor 220ohm
  • Remote TV
Selanjutnya silakan anda download terlebih dahulu library IRremote disini. Kemudian import file .zip library tersebut ke Arduino IDE anda. Setelah selesai silakan ikuti skema rangkaian berikut.


Langkah awal kita perlu melakukan decode pada remote tersebut, agar supaya nilai yang dikirim dari ir transmitter sesuai dengan yang dikirim remote kontrol TV teresebut. pada percobaan kali ini saya hanya melakukan decode pada tombol untuk mengganti siaran TV. untuk melakukan upload sketch berikut ini.


#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn();
}

void dump(decode_results *results) {
  int count = results->rawlen;
  if (results->decode_type == UNKNOWN) {
    Serial.print("Unknown encoding: ");
  }
  else if (results->decode_type == NEC) {
    Serial.print("Decoded NEC: ");
  }
  else if (results->decode_type == SONY) {
    Serial.print("Decoded SONY: ");
  }
  else if (results->decode_type == RC5) {
    Serial.print("Decoded RC5: ");
  }
  else if (results->decode_type == RC6) {
    Serial.print("Decoded RC6: ");
  }
  else if (results->decode_type == PANASONIC) {
    Serial.print("Decoded PANASONIC - Address: ");
    Serial.print(results->address, HEX);
    Serial.print(" Value: ");
  }
  else if (results->decode_type == LG) {
    Serial.print("Decoded LG: ");
  }
  else if (results->decode_type == JVC) {
    Serial.print("Decoded JVC: ");
  }
  else if (results->decode_type == AIWA_RC_T501) {
    Serial.print("Decoded AIWA RC T501: ");
  }
  else if (results->decode_type == WHYNTER) {
    Serial.print("Decoded Whynter: ");
  }
  Serial.print(results->value, HEX);
  Serial.print(" (");
  Serial.print(results->bits, DEC);
  Serial.println(" bits)");
  Serial.print("Raw (");
  Serial.print(count, DEC);
  Serial.print("): ");
  for (int i = 1; i < count; i++) {
    if (i & 1) {
      Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
    }
    else {
      Serial.write('-');
      Serial.print((unsigned long) results->rawbuf[i]*USECPERTICK, DEC);
    }
    Serial.print(" ");
  }
  Serial.println();
}
void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    dump(&results);
    irrecv.resume();
  }
}

Selanjutnya setelah selesai upload arahkan remote TV anda ke IR Reciver dan tekan tombol untuk mengganti siaran maka hasilnya akan seperti pada gambar berikut.


Pada tanda merah merupakan hasil decoded NEC pada remote untuk mengganti siaran TV. Selanjutnya copy sketch dibawah ini, untuk melakukan pengontrolan menggunakan IR Transmitter yang terhubung pada arduino.

#include <IRremote.h>
int RECV_PIN = 11;
int BUTTON_PIN = 12;
int STATUS_PIN = 13;
IRsend irsend;
void setup()
{
  pinMode(BUTTON_PIN, INPUT);
  pinMode(STATUS_PIN, OUTPUT);
  digitalWrite(BUTTON_PIN, LOW);
  Serial.begin(9600);
}
void loop() {
  int buttonState = digitalRead(BUTTON_PIN);
  if (buttonState == HIGH) {
    irsend.sendNEC(0xFAAA45B, 32); // Hasil Decode NEC
    digitalWrite(STATUS_PIN, HIGH);
    delay(500);
  }
  digitalWrite(STATUS_PIN, LOW);
}

Tambahkan "0x" pada awalan NEC sehingga menjadi nilai hex. kemudian upload ke arduino anda. untuk hasil pengujianya dapat dilihat pada video berikut.


Silakan anda melakukan kreativitas anda dalam melakukan pengembangan. terimakasih telah menjadikan tutorial ini sebagai bahan refrensi anda. Semoga bermanfaat. ๐Ÿ˜Š๐Ÿ˜Š

Membuat alat ukur tinggi badan dengan arduino dan ultrasonik

Kali ini saya akan memberikan tutorial mengenai pembuatan alat ukur tinggi badan 200cm atau sama dengan 2m (meter). pada percobaan ini saya menggunakan sensor ultrasonik HC-SR04 sebagai media pengukur jarak tinggi objek yang berada tepat dibawah sensor tersebut dan akan ditampilkan di LCD hasil pengukuranya. Adapun rumus yang digunakan dalam pengukuran ini yaitu :
jarak = posisi sensor dari tanah (200cm)
gape = hasil pembacaan / pengukuran sensor 
rumusnya :
jarak - gape = TINGGI BADAN


Contoh :
Seorang yang melakukan pengukuran dan mendapatkan hasil "gape" dari sensor yaitu 20cm. maka tinggi orang tersebut adalah : 200cm - 20cm = 180cm.

Untuk pembuatanya, berikut ini daftar alat yang digunakan dalam projek ini :

- Arduino Uno / Mega
- HC-SR04 ( Ultrasonik Sensor )
- LCD 16x2
- I2C

Berikut ini merupakan wairing pada projek kali ini :




Silakan anda copy sketch dibawah ini kedalam projek pada Arduino IDE anda.

////www.berbageilmu.blogspot.com////
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define trigPin 2
#define echoPin 3
LiquidCrystal_I2C lcd(0x3f ,2,1,0,4,5,6,7,3, POSITIVE);
int jarak = 200;
int tinggi;
void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
  lcd.begin(16,2);
    lcd.setCursor(2,0);
    lcd.print("SISTEM AKTIF");
    delay(1000);
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Tinggi : ");
}
void loop() {
  long duration, gape;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  gape = (duration/2) / 29.0;
  tinggi = jarak - gape;
    lcd.setCursor(8,0);
    lcd.print(tinggi);
    lcd.print(" ");
    lcd.print("CM");
    lcd.print("   ");
}

Silakan anda kembangkan tutorial diatas, semoga bermanfaat untuk anda ๐Ÿ˜Š

Tutorial SIM800L melakukan Panggilan dan SMS dengan arduino


Kali ini saya akan memberikan tutorial tentang bagaimana melakukan SMS dan Melakukan panggilan telepon atau istilah indonesia-nya miss call dengan SIM800L dan Arduino tanpa library atau via AT Command. Pada tutorial ini akan dibahas menjadi empat bagian yaitu :
- Mengirim SMS dengan SIM800L
- Mengirim SMS Lebih dari satu nomor dengan SIM800L
- Melakukan panggilan (miss call) dengan SIM800L
- Melakukan panggilan (miss call) lebih dari satu nomor dengan SIM800L

Bahan Percobaan :
- Arduino uno
- SIM800L
- Step down DC-DC LM2596
- Micro SIM Card (All Operator GSM) percobaan ini saya menggunakan Operator TSEL.
- Kabel Jumper

Untuk selanjutnya ikuti skema berikut ini :

Dari skema rangkaian diatas, power yang diberikan arduino yaitu 5V kemudian di turunkan menggunakan module Step down LM2596 sehingga module SIM800L menerima supply tegangan 3,4 - 4,4V. Gunakan multimeter atau voltmeter untuk mengukur volt yang diterima SIM800L. jika lampu indikator SIM 800L sudah berkedip lambat berarti itu sudah siap digunakan.



Percobaan 1 
Mengirim SMS dengan SIM800L


#include <SoftwareSerial.h>
SoftwareSerial SIM800L(2, 3);
void setup()
{
Serial.begin(9600);
SIM800L.begin(9600);
while(!Serial);
SIM800L.write("AT+CMGF=1\r\n");
Serial.println("SIM 800L Ready");
delay(5000);
Serial.println("Kirim SMS Dimulai");
SIM800L.write("AT+CMGS=\"08229678XXXX\"\r\n");//Masukan nomor tujuan
delay(500);
SIM800L.write("Uji Coba SMS");
delay(500);
SIM800L.write((char)26);
delay(500);
Serial.println("SMS Selesai Dikirim");
}
void loop()
{
}


Percobaan 2
Mengirim dua (2) SMS dengan SIM800L

#include <SoftwareSerial.h>
SoftwareSerial SIM800L(2, 3);
void setup()
{
Serial.begin(9600);
SIM800L.begin(9600);
while(!Serial);
SIM800L.write("AT+CMGF=1\r\n");
Serial.println("SIM 800L Ready");
delay(5000);
Serial.println("Kirim SMS Dimulai");
SIM800L.write("AT+CMGS=\"08229678xxxx\"\r\n");//Masukan nomor tujuan
delay(500);
SIM800L.write("Uji Coba SMS Satu");
delay(500);
SIM800L.write((char)26);
delay(5000);
SIM800L.write("AT+CMGS=\"08124190xxxx\"\r\n");
delay(500);
SIM800L.write("Uji Coba SMS Dua");
delay(500);
SIM800L.write((char)26);
delay(500);
Serial.println("SMS Selesai Dikirim");
}
void loop()
{
}


Percobaan 3
Melakukan Panggilan Miscall dengan SIM800L


#include <SoftwareSerial.h>
SoftwareSerial SIM800L(2, 3);
void setup()
{
Serial.begin(9600);
SIM800L.begin(9600);
while(!Serial);
Serial.println("Miscall dimulai");
delay(2000);
SIM800L.write("ATD08124190xxxx;\r\n");//masukan nomor tujuan
delay(17000); //delay panggilan
SIM800L.write("ATH\r\n");//hangup panggilan sesuai delay
Serial.println("Miscall Selesai");
}
void loop()
{
}



Percobaan 4
Melakukan Panggilan Miscall pada dua (2) nomor dengan SIM800L


#include <SoftwareSerial.h>
SoftwareSerial SIM800L(2, 3);
void setup()
{
Serial.begin(9600);
SIM800L.begin(9600);
while(!Serial);
Serial.println("Miscall Nomor Satu dimulai");
delay(2000);
SIM800L.write("ATD08124190xxxx;\r\n");//masukan nomor tujuan
delay(17000); //delay panggilan
SIM800L.write("ATH\r\n");//hangup panggilan sesuai delay
Serial.println("Miscall Satu Selesai");
Serial.println("");
Serial.println("Miscall Nomor Dua dimulai");
delay(2000);
SIM800L.write("ATD08229678xxxx;\r\n");
delay(17000);
SIM800L.write("ATH\r\n");
Serial.println("Miscall Dua Selesai");
Serial.println("");
}
void loop()
{
}



Demikian tutorial kali ini, semoga bisa bermanfaat untuk anda ๐Ÿ˜Š๐Ÿ˜Š

Solusi ESP8266 Failed to connect saat Flashing


Kali ini saya akan memberikan solusi mengenai failed to connect saat flashing firmware dengan esp 8266 flasher. Kasus ini saya dapatkan pada saat akan melakukan flashing firmware, berulangkali dicoba tetap saja saat klik Download pada software esp8266 flasher tetap saja statusnya Failed to connect dan sempat browsing - browsing ternyata faktornya koneksi antara PIN GPIO dengan Ground entah jumpernya yang kurang baik dll. untuk yang masih awam ada baiknya mengikuti konfigurasi ini dalam melakukan flashing ESP 8266 dengan breadboard.


Bahan Pecobaan :
- Arduino Uno
- ESP8266
- Breadboard
- Kabel Jumper

Skema Rangkaian :

Gunakan tegangan 3.3V untuk flashing ESP 8266

Selanjutnya anda download Firmware dan Esp Flashernya pada link dibawah ini


Langkah - langkah melakukan Flashing :
1. Hubungkan Arduino anda dengan PC / Laptop anda
2. Kemudian anda buat new project kosong dan upload pada Board Arduino anda
3. Setelah anda upload sketch kosong, anda jalankan software esp8266 flasher 
4. klik "Bin" dan pilih file .BIN yang sudah anda download bersamaan dengan esp flasher tadi.
5. Pada kolom Port COM sesuaikan dengan Port COM Arduino anda yang terkoneksi dengan     PC/laptop anda. Lebih jelasnya lihat gambar dibawah

Catatan :
Hitam : Pilih file firmware
Merah : Masukan Port COM Arduino anda
6. Selanjutnya anda klik Download untuk memulai Flashing. Berikut ini video dokumentasi saya saat melakukan Flashing dengan cara ini.


Sampai disini tutorial saya, semoga bisa menyelesaikan maslah anda "Apa Salahnya Mencoba"๐Ÿ˜Š.

Cara mudah akses AT Mode untuk mengganti nama dan password bluetooth HC05


Kali ini saya akan memberikan tutorial tentang Cara mengganti nama dan password bluetooth HC05 dengan menggunakan module USB PL2303 TTL. untuk anda yang belum punya silahkan dibeli di toped atau toko langganan kepercayaan anda ๐Ÿ˜Š. Berikut ini langkah - langkah konfigurasi

Bahan Percobaan :
- Bluetooth HC-05
- USB PL2303
- Breadboard
- Kabel Jumper
- Software Hyper Terminal ( Download Software )

" Jika Port COM USB PL2303 anda di Device Manager masih berstatus (! Prolific USB) atau tidak terbaca, silakan ikuti langkah - langkah pada tutorial mengatasi USB PL2303 tidak terbaca atau error code 10 "
Skema Rangkaian :

Konfigurasi PIN  USB PL2303 => HC05
  • 5V => VCC
  • 5V => EN (Key)
  • TXD => RXD
  • RXD => TXD
  • GND => GND

Setelah anda selesai merangkai anda install software Hyper Terminal terlebih dahulu dan anda ikuti langkah - langkah pada video berikut untuk cara masuk ke AT Mode untuk mengganti Nama dan Password bluetooth anda.


Sampai disini tutorial kali ini semoga bisa membantu dan bermanfaat untuk anda ๐Ÿ˜Š.

Solusi Driver USB PL2303 tidak bisa di Install dan cara install Driver USB PL2303


Driver USB PL2303 tidak bisa di install !! saya sempat mengalami hal itu pada saat saya menggunakan USB PL2303 Module. Dimana pada saat saya colokan USB tersebut ke port USB PC dan saya lihat di Device Manager USB PL2303 memiliki tanda (!) atau PORT COM USB PL2303 juga memiliki (!) dan setelah di install keteranganya Error Code 10, itu berarti drivernya tidak terinstall atau tidak cocok dengan OS anda. Masalah ini seringkali terjadi pada OS Windows 8.1 atau 10 lihat ambar dibawah ini dua permasalahan Driver USB PL2303

USB PL2303 di Windows 8.1
USB PL2303 (!) Driver Port COM di Windows 8.1
Dari dua permasalahan diatas berikut ini solusinya :
  1. Setelah itu anda Download Driver USB PL2303 pada link dibawah ini
  2. Selanjutnya anda ekstrak file yang sudah anda download dan "jalankan PL2303_Prolific_GPS_1013_20090319.exe" untuk installasi
  3. klik Next sampai selesai installasi driver.
  4. Colokan USB PL2303 ke port USB PC / Laptop anda.
  5. Setelah selesai masuk ke Device Manager.
  6. Kemudian cari USB PL2303 "USB Serial Controller" atau "Prolific USB-to-Serial" yang memiliki tanda ( ! ).
  7. Selanjutnya anda klik kanan pada tampilan hardaware tersebut yang memiliki tanda ( ! )
    kemudian anda pilih "Update Driver Software.."
  8. Setelah itu anda klik pilihan "Browse my computer for update software"
  9. Selanjutnya anda klik pilihan "Let mepick a list of device drivers on my computer" akan muncul tampilan berikut dan pilih versi Driver :
    Prolific USB-to-Serial Comm Port Version: 2.1.30.193

  10. Klik Next untuk menginstall, maka tanda (!) akan hilang ๐Ÿ˜Š.

Catatan :
Jika pada saat anda install Driver terjadi Error code 10. balik lagi ke langkah nomor : 9 dan pilih Driver versi yang lain.
Sekian tutorial kali ini, silakan anda baca juga tutorial tentang mengganti nama dan password bluetooth HC-05. semoga bisa bermanfaat dan semoga berhasil ๐Ÿ˜Š๐Ÿ˜Š.

Membuat Jam Digital dengan LCD dan RTC DS1302 di Arduino


Kali ini saya akan memberikan tutorial dasar pemrograman Arduino dengan module RTC DS1302 dan akan di tampilkan di LCD 16 x 2 secara realtime. RTC adalah singkatan dari Real Time Clock yang berfungsi sebagai module yang dapat menghitung waktu secara akurat dan dapat menyimpan data waktu dan tanggal secara realtime. Jadi misalnya jika anda menggunakan RTC module maka disaat Sistem anda dalam keadaan OFF dan jika pada saat anda menjalankan sistem anda kembali waktu akan tetap sesuai dengan tanggal dan waktu saat anda menjalankan Sistem anda. langsung saja ikuti langkah - langkah percobaan dibawah ini.

Bahan Percobaan :
- Arduino Uno
- LCD 16 x 2
- Potensio Meter
- RTC DS1302
- Breadboard
- Kabel Jumper

Skema Rangkaian :

1. Langkah awal, rangkailah rangkaian LCD terlbeih dahulu lihat gambar dibawah ini :

Skema rangkaian LCD 16 x 2
Konfigurasi PIN LCD
  • VSS ==> GND
  • VDD ==> 5V
  • VO ==> Contrast (Hubungkan ke kaki tengah trimpot atau potensio)
  • RS ==> PIN 3
  • RW ==> GND
  • E ==> PIN 2
  • D4 ==> PIN 5
  • D5 ==> PIN 6
  • D6 ==> PIN 7
  • D7 ==> PIN 8
  • A ==> 5V
  • K ==> GND

2. Selanjutnya hubungkan RTC modul dengan Arduino anda


Skema rangkaian RTC DS1302
Konfigurasi PIN RTC DS1302
  • VCC ==> 5V
  • GND ==> GND
  • CLK ==> PIN 10
  • DAT ==> PIN 11
  • RST ==> PIN 12
Selanjutnya jika anda belum memiliki library RTC DS1302 di software Arduino IDE anda, silakan anda download terlebih dahulu pada link dibawah ini :


Setelah anda download anda import ke software Arduino IDE library RTC yang sudah anda download tadi dengan cara :
  • Buka software Arduino IDE
  • Klik tab "Sketch" dan pilih "Include Library"
  • Kemudian pilih "Add .ZIP Library.."
  • Selanjutnya pilih file Library berformat .ZIP yang sudah di download tadi dan klik "Open"
Kemudian anda upload Sketch dibawah ini ke Board Arduino anda

//www.berbageilmu.blogspot.co.id//
#include <virtuabotixRTC.h>
#include <LiquidCrystal.h>
virtuabotixRTC myRTC(10, 11, 12); //CLK, DAT, RST
LiquidCrystal lcd(3, 2, 5, 6, 7, 8);
void setup() {
lcd.begin(16,2);
myRTC.setDS1302Time(00, 20, 13, 6, 25, 05, 2017); //setelah di upload ke Arduino , upload sketch ini kembali dan jadikan komen "//myRTC.setDS1302Time(00, 20, 13, 6, 25, 05, 2017);"
/*
 00 = Detik   25 = Tanggal
 20 = Menit   05 = Bulan
 13 = Jam     2017 = Tahun
 */
}
void loop() {
myRTC.updateTime();
lcd.setCursor(0, 0);
lcd.print("Tggl: ");
lcd.print(myRTC.dayofmonth);
lcd.print("-");
lcd.print(myRTC.month);
lcd.print("-");
lcd.print(myRTC.year);
lcd.setCursor(0, 1);
lcd.print("Jam : ");
lcd.print(myRTC.hours);
lcd.print(":");
lcd.print(myRTC.minutes);
lcd.print(":");
lcd.print(myRTC.seconds);
}

Jika berhasil, berikut ini hasil akhir dari percobaan kali ini :


Terimakasih atas kunjunganya selamat mencoba dan semoga bermanfaat ๐Ÿ˜Š.

Cara mudah pasang Acrylic Case Arduino Mega


Kali ini saya akan memberikan Tutorial tentang langkah - langkah pemasangan Case Acrylic Arduino Mega 2560. Pada tahap awal kita memerlukan peralatan berikut untuk pemasangan case :
- Obeng + (kecil)
- Air ( untuk membuka kertas acrylic)

Langkah - Langkah pemasangan :
1. Lepaskan terlebih dahulu kertas pelindung pada acrylic, caranya dengan membasahi sedikit ujung case yang akan dikupas dengan sedikit air. Sampai seperti gambar berikut :


2. Biasanya pada pembelian case acrylic terdapat dua macam baut (panjang dan pendek) anda pisahkan terlebih dahulu keduanya. Kemudian pada case bagian bawah pasang 6 baut pendek pada case bagian bawah kemudian ganjal dengan ring plastik. sehingga tampilanya seperti berikut :


3. Kemudian anda letakan Arduino anda di atas case bagian bawah dan sesuaikan dengan posisi lubang baut pada arduino anda. Selanjutnya pasang mur pada ke enam baut tersebut dengan obeng +. Berikut tampilanya :


4. Selanjutnya pasang case bagian kiri, kanan , depan, dan belakang dengan cara memasukan pada lubang yang ada pada case bagian bawah. berikut tampilanya :


5. Setelah terpasang anda letakan case bagian atas tepat di atas Arduino anda dan kemudian pasang 4 baut panjang pada setiap sisi case (mur berada pada bagian bawah case). lihat gambar dibawah :


Selesai sudah tutorial kita kali ini, semoga bisa membantu dan beramnfaat untuk anda ๐Ÿ˜Š๐Ÿ˜Š.

Membuat Running Text hanya pada satu line LCD Arduino


Kali ini saya akan memberikan tutorial LCD dan Arduino tentang membuat Running Text atau Tulisan berjalan hanya pada 1 ( satu line ) saja dan pada line lain teks tetap diam atau tidak bergerak. pada tutorial kali ini saya menggunakan LCD 16 x 2 dan pada Line 1 tulisanya tetap diam dan pada Line ke 2 tulisanya berjalan atau running text. berikut ini video hasil percobaan dan untuk percobaan nya ikuti langkah - langkah berikut  :


Bahan Percobaan :
- Arduino Uno
- LCD 16 x 2
- Potensiometer
- Breadboard
- Kabel Jumper

Skema Rangkaian :



Konfigurasi PIN LCD :
  • VSS ==> GND
  • VDD ==> 5V
  • VO ==> Contrast (Hubungkan ke kaki tengah trimpot atau potensio)
  • RS ==> PIN 3
  • RW ==> GND
  • E ==> PIN 2
  • D4 ==> PIN 5
  • D5 ==> PIN 6
  • D6 ==> PIN 7
  • D7 ==> PIN 8
  • A ==> 5V
  • K ==> GND

Setelah itu anda copy sketch dibawah ini dan upload ke Arduino anda lewat software Arduino IDE

///www.berbageilmu.blogspot.co.id///
#include <LiquidCrystal.h>
//inisialisasi PIN LCD
LiquidCrystal lcd(3, 2, 5, 6, 7, 8);//pin LCD            
int i=0;
void setup() {
    lcd.begin(16, 2);// set lcd pada saat sistem dimulai
    lcd.print("    Dio Toar   ");
  delay(2000);
}
void loop()
 {
  for (int i=16; i > 4; i--) //Variabel i=panjang LCD "16" jika i lebih dari 4 maka kurangi panjang "16"
{
  //running teks mulai
  lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(i, 1);
  lcd.print("Berbage Ilmu"); //setup awal runnng teks
  delay(200);
lcd.clear();
 }
 //jika teks berjalan dan sudah sampai pada baris ke 4 lcd
  lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(4, 1); // set baris ke 4 LCD
  lcd.print("Berbage Ilmu");// tampilkan pada baris ke empat (POSISI TENGAH TEKS PADA LCD)
  delay (200);
  lcd.clear();
{
  for (int i=3; i >= 0; i--) // Jika posisi teks sudah pada posisi baris 0, maka tampilkan kembali teks dan lakukan pengurangan karaker
{
  lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(i, 1);
  lcd.print("Berbage Ilmu"); //print panjang teks pada posisi baris pada posisi 0
  delay(200);
lcd.clear();
 }

//pengurangan karakter
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print("erbage Ilmu");
  delay(200);
lcd.clear();
//pengurangan karakter teks jika pada posisi 1
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print("rbage Ilmu");
  delay(200);
lcd.clear();
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print("bage Ilmu");
  delay(200);
lcd.clear();
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print("age Ilmu");
  delay(200);
lcd.clear();
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print("ge Ilmu");
  delay(200);
lcd.clear();
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print("e Ilmu");
  delay(200);
lcd.clear();

lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print(" Ilmu");
  delay(200);
lcd.clear();
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print("Ilmu");
  delay(200);
lcd.clear();
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print("lmu");
  delay(200);
lcd.clear();
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print("mu");
  delay(200);
lcd.clear();
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  lcd.setCursor(0, 1);
  lcd.print("u");
  delay(200);
lcd.clear();
//Akhir pengurangan karakter
//tampilkan Blank pada LCD
lcd.setCursor(0,0);
  lcd.print("    Dio Toar   ");
  delay(200);
lcd.clear();
}
}
Sampai disini tutorial saya, semoga bisa bermanfaat untuk anda ๐Ÿ˜Š๐Ÿ˜Š.
Flag Counter