Monday 2 December 2013

VIDEO HASIL SIMULASI DARI PERCOBAAN GENERATOR GELOMBANG

O... Iya... Berhubung blog saya lagi bermasalah. Jadi, untuk video HASIL SIMULASI DARI PERCOBAAN GENERATOR GELOMBANG dapat anda saksikan di link-link di bawah ini :
  1. GENERATOR GELOMBANG ADJUSTABLE DUTY CYCLE di http://youtu.be/J5iu3uEzpvg
  2. GENERATOR GELOMBANG ADJUSTABLE FREKUENSI di http://youtu.be/ImJuqJ8Ldfw
  3. GENERATOR GELOMBANG ADJUSTABLE DUTY CYCLE & FREKUENSI  di http://youtu.be/hk771u797fk
 
Maaf Atas Ketidaknyamannya...
SEMOGA BERMANFAAT..!

GENERATOR GELOMBANG DENGAN ADJUSTABLE FREKUENSI


Semangat pagi sobat blogger. Kali ini, saya akan membahas cara melakukan simulasi GENERATOR GELOMBANG DENGAN ADJUSTABLE FREKUENSI. Pada simulasi ini gelombang yang dihasilkan masih berbentuk KOTAK dengan nilai DUTY CYCLE sebesar 50 %, tetapi besaran FREKUENSI nya dapat di ubah-ubah dengan memutar POTENSIO pada PIN A0. Percobaan simulasi ini menggunakan konfigurasi REGISTER untuk mengeluarkan gelombang pada PIN PWM. Mari simak baik-baik langkah-langkah simulasinya .
  1. Seperti biasa, kita harus merangkai rangkaian di bawah ini mengunakan ISIS 7.
  2. Dan setelah itu, ketikkan sintaks di bawah ini pada IDE Arduino, jangan lupa ya... Compile dan Upload pada SISMUM Arduino UNO.

  3. Hasilnya ntar dapat sobat liat pada video di bawah ini.

GENERATOR GELOMBANG DENGAN ADJUSTABLE DUTY CYCLE

Yeah... Ketemu lagi nih sobat blogger semua..
Pada kesempatan kali ini saya akan berbagi mengenai bagaimana cara melakukan simulasi GELOMBANG GENERATOR DENGAN ADJUSTABLE DUTY CYCLE. Pada simulasi ini gelombang outputnya akan dikeluarkan pada PIN 9, gelombang yang di keluarkan adalah gelombang dengan bentuk KOTAK dan lebar gelombangnya dapat diatur dengan mengubah nilai DUTY CYCLE dengan memutar POTENSIO pada PIN A0. Di percobaan simulasi ini juga menggunakan analogWrite yang berfungsi untuk mengeluarkan sinyal gelombang pada pin PWM. Mari simak langkah-langkah simulasinya di bawah ini :
  1. Seperti biasanya, sebelum melakukan percobaan. Kita harus membuat rangkain, rangkaian yang digunakan pada percobaan kali ini adalah seperti di bawah ini.
  2. Selanjutnya adalah masukan sintaks program pada IDE arduino, adapun sintaks yang di masukkan pada IDE arduino adalah sebagai berikut. Jangan lupa compile dan upload program tersebut pada Arduino UNO...
  3. Hasil yang di keluarkan pada percobaan kali ini dapat anda lihat pada video di bawah ini.

Sunday 1 December 2013

MENERIMA DATA DARI UART DENGAN SISTEM INTERUPSI

SEMANGAT PAGI sobat Blogger, pada kesempatan ini saya akan berbagi lagi nih, cara MENERIMA DATA DARI UART DENGAN SISTEM INTERUPSI. Cara kerja nya sama seperti SISTEM POOLING yaitu menerima data yang di berikan Arduino IDE kepada LCD penerima, TETAPI pada percobaan ini kita akan menggunakan SISTEM INTERUPSI bukan POOLING. Penerima data akan menggunakan BAUDRATE 9600. AYO SIMAK langkah-langkah di bawah ini :
  1. Seperti biasa, sebelum melakukan percobaannya kita harus membuat rangkaiannya. Rangkaian yang harus di buat seperti di bawah ini.
  2. Mari lakukan coding program dengan menggunakan sintaks program di bawah ini.


  3. Setelah selesai, Ayo buka Serial Monitor pada IDE dengan cara Ctrl + M. Pastikan konfigurasi Serial Monitornya Seperti tampilan di bawah ini.
  4. Contoh data yang dikirim IDE dan yang di terima di LCD penerima
  • Teks Yang DikirimkanArduino
    Teks Yang Di TerimaLCD
    Halo
    Halo
    SayaMakanNasi
    SayaMakanNasi
    Hasmar
    Hasmar

    Husein
    Husein
    Harahap
    Harahap
Adapun penjelasan sintaks pemograman di atas adalah sebagai berikut :
  • #include <LiquidCrystal.h>    //memanggil library untuklcd
    #define FOSC 16000000         //menetapkannilai FOSC bernilai 16000000
    LiquidCrystallcd(2, 3, 4, 5, 6, 7); // inisialisasi pin lcd
    String dataSerial;                    //mendekelarasikandataSerialsebagai string
    voidinitSerial(intbaudrate)
    {
    intubrr = FOSC/16/baudrate-1;
    // Mengisi register UBRR0H dan UBRR0L untukmenentukanbaudrate
    UBRR0H |= ubrr>>8;
    UBRR0L |= ubrr;
    // Mengaktifkansaluran transmitter dan receiver
    UCSR0B |= (1<<RXEN0)|(1<<TXEN0);
    // Menggunakan format data 8 bit
    UCSR0C |= (0<<UCSZ02)|(1<<UCSZ01)|(1<<UCSZ00);
    // Menggunakan 1 stop bit
    UCSR0C |= (0<<USBS0);
    // No Parity
    UCSR0C |= (0<<UPM01)|(0<<UPM00);
    // Mengaktifkan RX interrupt
    UCSR0B |= (1<<RXCIE0);
    }
    // Rutin yang akandijalankanjikaterjadiinterupsi
    ISR(USART_RX_vect){
    char data = UDR0;
    if(data=='\n')
    {
    lcd.clear();                   // tampilanlcd di hapus
    lcd.setCursor(0,0);      //Menampilkan text padabarispertama LCD
    lcd.print("Incoming Data"); //Menampilkan text “Incoming Data” padabarispertama di LCD
    lcd.setCursor(0,1);      //Menampilkan text padabariskedua LCD
    lcd.print(dataSerial);   //Menampilkan data ygdikirimmelalui serial
    dataSerial = "";
    }
    Else
    {         
    if(data!='\r')                 //jika data tidakada
    {
    dataSerial += data;      //Jikatidakada data makatampilkan text “data”
    }
    }
    }
    void setup()                 //settinganawal program
    {
    initSerial(9600);
    lcd.begin(16,2);           // tampilanlcd (kolom , baris)
    lcd.clear();                   // tampilanlcd di hapus
    sei();
    }
    void loop()                  //program looping
    {
    }

    • Perbedaan antara INTERUPSI dengan POOLING adalah Suatu kondisi yang memicu atau memaksa sitem mikrokontroler untuk menghentikan program utama dan memaksa menjalankan interupsi, SEDANGKAN sitem POOLING adalah kondisi arduino menunggu pengiriman data dari komunikasi serial.


MENERIMA DATA UART DENGAN SISTEM POOLING

Udah lama nih gak posting, baiklah... Pada kesempatan kali ini saya akan berbagi sedikit ilmu tentang bagaimana cara MENERIMA DATA UART DENGAN SISTEM POOLING.  Adapun cara kerja pengiriminan data UART ini adalah dengan sitem yang MENUNGGU. Data yang di terima akan di tampilkan dengan LCD dan menggunakan BAUDRATE 9600.Mari lihat langkah-langkah dalam membuat program tersebut di bawah ini :
  1. Coba buat rangkaian di bawah ini menggunakan ISIS 7.
  2. Buka Serial Monitor (Ctrl + M), Tampilannya akan seperti gambar di bawah ini.
  3. Masukkan atau ketikkan kata-kata yang anda inginkan, maksimal 16 karakter. Lalu, tekan ENTER.
  4. Ini merupakan contoh hasil dari program di atas.
  • Teks Yang DikirimkanArduino
    Teks Yang Di TerimaLCD
    Halo
    Halo
    SayaMakanNasi
    SayaMakanNasi
    Hasmar
    Hasmar

    Husein
    Husein
    Harahap
    Harahap
     
Penjelasan dari sintaks pemograman di atas, dapat dipaparkan seperti ini :
  • #include<LiquidCrystal.h>            // memanggil library untuklcd
    LiquidCrystallcd=(2,3,4,5,6,7);     // inisialisasi pin lcd
    String textFromSerial = "";            // mendeklarasikantextFromSerialsebagai string
    void setup()                                  // settinganawal program
    {
    lcd.begin(16,2);                             // tampilanlcd (kolom , baris)
    lcd.clear();                                     // tampilanlcd di hapus
    lcd.setCursor(0,0);                       // Menampilkan text padabarispertama LCD
    lcd.print("Data From Serial")      // Menampilkan text “Data From Serial” pada LCD
    Serial.begin(9600);                       // kecepatan transfer data sebesar 9600 bit per detik
    }
    void loop()                                  //  program looping
    {
    while(Serial.available()>0)          // mengecek serial komunikasi
    {
    char data = Serial.read();             // Membaca data serial
    if(data == '\n')                             // jika data ada
    {
    lcd.setCursor(0,1);                     // Menampilkan text padabariskedua LCD
    lcd.print(textFromSerial);          // Menampilkan text yang dikirimmelalui serial komukasi
    textFromSerial="";
    }
    Else
    {
    if(data!='\r')                               // jika data tidakada
    {
    textFromSerial += data;             // menampilkan text data pada LCD
    }
    }
    }}