Blogging Fusion Blog Directory the #1 blog directory and oldest directory online.

Arduino Programming Tutorial

Home Arduino Programming Tutorial

Arduino Programming Tutorial

Rated: 3.33 / 5 | 568 listing views Arduino Programming Tutorial Blogging Fusion Blog Directory

Indonesia

 

General Audience

  • Julius
  • May 21, 2018 09:26:31 AM
SHARE THIS PAGE ON:

A Little About Us

Panduan dan tutorial pemrograman Arduino, Wifi, ESP8266, Python, MySQL, PHP.

Listing Details

Listing Statistics

Add ReviewMe Button

Review Arduino Programming Tutorial at Blogging Fusion Blog Directory

Add SEO Score Button

My Blogging Fusion Score

Google Adsense™ Share Program

Alexa Web Ranking: 1,748,300

Alexa Ranking - Arduino Programming Tutorial

Example Ad for Arduino Programming Tutorial

This what your Arduino Programming Tutorial Blog Ad will look like to visitors! Of course you will want to use keywords and ad targeting to get the most out of your ad campaign! So purchase an ad space today before there all gone!

https://www.bloggingfusion.com

.

notice: Total Ad Spaces Available: (2) ad spaces remaining of (2)

Advertise Here?

  • Blog specific ad placement
  • Customize the title link
  • Place a detailed description
  • It appears here within the content
  • Approved within 24 hours!
  • 100% Satisfaction
  • Or 3 months absolutely free;
  • No questions asked!

Subscribe to Arduino Programming Tutorial

10 Alasan Mengapa Sebaiknya Menggunakan Linux

Linux merupakan sistem operasi open source yang paling populer di dunia saat ini, Linux juga banyak digunakan sebagai server untuk hosting website yang ada di Internet. Sistem operasi dengan maskot Penguin ini menjadi alternatif bagi orang yang ingin mendalami jaringan komputer, khususnya di Indonesia. Linux merupakan alternatif bagi pembaca yang […] The post 10 Alasan Mengapa Sebaiknya Menggunakan Linux appeared first on...

Linux merupakan sistem operasi open source yang paling populer di dunia saat ini, Linux juga banyak digunakan sebagai server untuk hosting website yang ada di Internet. Sistem operasi dengan maskot Penguin ini menjadi alternatif bagi orang yang ingin mendalami jaringan komputer, khususnya di Indonesia. Linux merupakan alternatif bagi pembaca yang bosan menggunakan Windows atau Mac OS.

Linux menyediakan tampilan user interface yang tidak kalah bagus dan halus dibanding sistem operasi lain. Linux dapat diandalkan untuk penggunaan di rumah ataupun di kantor. Linux juga menjadi salah satu sistem yang paling banyak digunakan di dunia saat ini. Sebagian besar database terbesar di dunia menggunakan sistem operasi Linux.

1. Linux Gratis & Open Source

Jika tidak ingin berurusan dengan biaya software – lisensi, maka Linux adalah pilihan terbaik, karena Linux itu gratis.

2. Linux Lebih Aman dibandingkan Server Lain

Linux memberikan keamanan yang sangat baik untuk para pengguna. Komunitas Linux secara rutin membuat perbaikan-perbaikan keamanan untuk setiap ancaman keamanan yang ditemukan. Selain itu, pengembang Linux juga menyediakan update kernel reguler dan patch keamanan secara rutin. Oleh karena itu, tidak wajib pengguna Linux untuk memiliki program anti-virus. Dengan Linux, baik pengguna perusahaan atau perorangan bisa menghemat banyak dana yang biasa digunakan untuk membeli lisensi program antivirus.

3. Linux Hemat dalam Pemakaian Resource

Sebagian besar sistem operasi lain memiliki kendala dengan fitur hardware. Contohnya Windows 7 atau 8 yang membutuhkan setidaknya 2GB RAM untuk sistem agar beroperasi dengan baik. Namun, Linux adalah suatu sistem operasi ringan dan yang dapat beroperasi pada resource yang kecil.

4. Linux Mudah Dioperasikan

Kita tidak perlu pergi ke sebuah pelatihan atau kursus dapat mengoperasikan sistem operasi Linux. Linux memiliki hampir semua fungsi yang ada di sistem operasi lain seperti Windows atau Mac.

5. Linux Tersedia dengan Driver yang Lengkap

Pembaca pasti pernah punya masalah driver pada sistem operasi Windows, di mana Windows memberitahu ada driver yang belum di install atau hilang. Pada Linux, kecil kemungkinan mengalami hal tersebut, pembaca tidak perlu repot mencari bermacam-macam driver. Ini sangat menghemat waktu, karena sebagian besar driver sudah tersedia dalam sistem operasi Linux. Tidak perlu stres memikirkan driver hardware yang bermasalah.

6. Linux Mudah Diupdate

Melakukan update sistem Windows kadang bisa membuat kita kesulitan – misalnya ada bug atau tidak kompatibel dengan hardware dan aplikasi terinstal. Update pada sistem operasi Linux, baik pada OS maupun aplikasinya sangat mudah bila dibandingkan dengan Windows yang kadang mengharuskan pembaca untuk restart atau shutdown komputer, maka dengan Linux cukup dengan beberapa klik saja.

7. Linux itu Cepat

Karena Linux itu relatif ringan, maka Linux lebih cepat dibanding sistem operasi lain. Windows memiliki software-software yang ukurannya besar dan cenderung lebih berat untuk dijalankan.

8. Linux Memiliki Komunitas yang Besar

Salah satu alasan menggunakan Linux adalah rasa memiliki. Kita memiliki platform dimana dapat berbagi dengan sesama pengguna/komunitas Linux. Kita dapat menemukan jawaban pertanyaan-pertanyaan yang sering ditanyakan tentang masalah Linux dan jika pertanyaan itu tergolong unik, maka komunitas akan senang membantu. Banyaknya komunitas memungkinkan masalah akan lebih mudah terselesaikan dibanding menggunakan sistem operasi yang sifatnya close-source.

9. Linux Juga Memiliki Software Office yang Powerful

Kalau pembaca bilang Windows sangat baik karena memiliki Microsoft Office yang begitu powerful, maka di Linux juga ada software yang serupa. Linux memiliki Libre Office ataupun Open Office yang kemampuannya tidak kalah dibanding Microsoft Office, bahkan tidak seperti Microsoft Office yang harus dibeli dengan harga relatif mahal, Libre Office dan Open Office dapat kita gunakan secara gratis.

10. Linux Memiliki Segudang Aplikasi Gratis

Dengan hanya mengklik tombol, kita bisa mendapatkan akses ke ribuan tool dan program. Ini adalah keuntungan tambahan yang sangat menonjol dibandingkan Windows. Bayangkan kalau harus membayar ratusan bahkan ribuan dollar untuk Microsoft Office dan Photoshop, di Linux kita dapat menemukan aplikasi serupa dengan harganya Gratis.

Itulah beberapa alasan yang bisa menjadi pertimbangan untuk mencoba Linux atau bahkan migrasi sepenuhnya ke Linux.

The post 10 Alasan Mengapa Sebaiknya Menggunakan Linux appeared first on Komputronika.


Menggunakan 2 Library atau Lebih pada Arduino

Menggunakan 1 (satu) library pada Arduino sangat mudah karena cukup membuka menu Examples dan memilih salah satu contoh sketch pada software Arduino IDE. Akan tetapi bagaimana caranya jika ingin menggunakan 2 library (atau lebih) sekaligus pada sebuah sketch baru? Menggunakan 2 library (atau lebih) Arduino pada sebuah sketch baru pada […] The post Menggunakan 2 Library atau Lebih pada Arduino appeared first on...

Menggunakan 1 (satu) library pada Arduino sangat mudah karena cukup membuka menu Examples dan memilih salah satu contoh sketch pada software Arduino IDE. Akan tetapi bagaimana caranya jika ingin menggunakan 2 library (atau lebih) sekaligus pada sebuah sketch baru?

Menggunakan 2 library (atau lebih) Arduino pada sebuah sketch baru pada dasarnya adalah mencuplik source code dari 2 examples (atau lebih), kemudian memposisikan cuplikan itu pada sketch utama pada posisi yang tepat.

Bagian-bagian yang harus dicuplik pada examples-examples library tersebut adalah:

  1. Header
  2. Define atau const (kalau ada)
  3. Inisialisasi object atau variable di atas setup()
  4. Inisialisasi library di dalam setup()
  5. Pemanggilan fungsi atau method dalam library

Mari kita mencoba menggunakan library DHT11 (sensor suhu dan kelembaban) dengan library LCD. Tujuan kita adalah supaya hasil pembacaan sensor DHT11 ditampilkan di layar LCD 16×2.

Pertama-tama silahkan install dulu library DHT11, download di DHT11 Library.

Setelah library terinstall, silahkan buka examples DHTtester pada DHT Sensor Library dan examples HelloWorld pada LiquidCrystal.

Pada examples DHTtester, hasil pembacaan sensor DHT11 ditampilkan di Serial seperti ini:

#include "DHT.h"

#define DHTPIN 2     
#define DHTTYPE DHT22 

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  Serial.println("DHTxx test!");

  dht.begin();
}

void loop() {
  delay(2000);

  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);

  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);

  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
}

Pada examples HelloWord LiquidCrystal, terdapat contoh menuliskan “hello, world!”.

#include <LiquidCrystal.h>

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  lcd.begin(16, 2);
  lcd.print("hello, world!");
}

void loop() {
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000);
}

Menggunakan Library-library dalam Satu Sketch

Dengan mencuplik bagian-bagian source code yang sudah disebutkan di atas, maka jadilah sketch utama yang merupakan kombinasi dari 2 examples library tersebut, untuk menampilkan hasil pembacaan sensor DHT11 ke LCD 16×2.

//---------- HEADER
#include "DHT.h"           // <--- DHT
#include <LiquidCrystal.h> // <--- LCD

//---------- DEFINE dan CONST
#define DHTPIN 2           // <--- DHT 
#define DHTTYPE DHT22      // <--- DHT
const int rs = 12,en = 11, // <--- LCD 
          d4 = 5, d5 = 4,
          d6 = 3, d7 = 2;

//---------- INISIALISASI OBJECT
DHT dht(DHTPIN, DHTTYPE);  // <--- DHT 
LiquidCrystal lcd(rs, en,d4, d5, d6, d7); //<--- LCD

void setup() {
  //---------- INISIALIASI LIBRARY
  dht.begin();      // <--- DHT
  lcd.begin(16, 2); // <--- LIBRARY
}

void loop() {

  /* Dalam bagian loop, anda bisa memanggil 
   * baik fungsi DHT maupun fungsi LCD 
   * sesuai dengan keperluannya.
   */

  float h = dht.readHumidity();
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t) || isnan(f)) {
    lcd.clear();
    lcd.print("Error");
    return;
  }

  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Temp: ");
  lcd.print(t);
  lcd.setCursor(0,1);
  lcd.print("Humidity(%): ");
  lcd.print(h);
  
  delay(1000);

}

Sketch di atas adalah hasil akhir yang sudah menggunakan 2 library sekaligus.

Bagian yang penting pada penggabungan library Arduino adalah bagian header, define & const, inisialisasi objek dan bagian inisialisasi library pada setup(). Kalau ini sudah benar, maka semua fungsi-fungsi pada library-library yang digunakan dapat dipanggil tanpa kesalahan.

Contoh pada tulisan ini adalah menggunakan 2 buah library DHT dan LiquidCrystal, namun pembaca dapat menggunakan prinsip ini untuk menggunakan lebih dari 2 library (sesuai kebutuhan dan selama kapasitas flash atau RAM chip Arduino mencukupi).

Selamat mencoba dan selamat berkarya.

Topik hangat:

The post Menggunakan 2 Library atau Lebih pada Arduino appeared first on Komputronika.


Memantau Subcriber Youtube dengan NodeMCU dan LED Display MAX7219 dan Google API

Jumlah subscriber Youtube adalah hal penting bagi seorang yang berprofesi sebagai Youtuber atau Vlogger. Ya, karena jumlah subscriber Youtube akan membantu meningkatkan jumlah view pada video-video yang kita upload… Kali ini kita akan mencoba menampilkan subscriber Youtube tanpa perlu membuka handphone atau menyalakan komputer/laptop, yaitu dengan menampilkannya pada LED display […] The post Memantau Subcriber Youtube dengan NodeMCU dan LED Display MAX7219 dan Google API appeared...

Jumlah subscriber Youtube adalah hal penting bagi seorang yang berprofesi sebagai Youtuber atau Vlogger. Ya, karena jumlah subscriber Youtube akan membantu meningkatkan jumlah view pada video-video yang kita upload…

Kali ini kita akan mencoba menampilkan subscriber Youtube tanpa perlu membuka handphone atau menyalakan komputer/laptop, yaitu dengan menampilkannya pada LED display 7 segment. Sehingga apabila display ini dipasang pada dinding, maka jumlah subscriber mudah dilihat/dipantau kapan saja.

Untuk membuat pemantau subscriber Youtube ini diperlukan NodeMCU dan modul 8 Digit LED Display MAX7219. Selain itu diperlukan koneksi Wifi dan API Key dari Google.

Diagram NodeMCU dan LED Display

Silahkan rakit NodeMCU dan LED display MAX7219 sesuai gambar di atas. Jangan lupa sambungkan catu daya ke NodeMCU.

Source Code Pemantau Subscriber Youtube

Download source code pemantau subscriber Youtube dengan NodeMCU di halaman Github: Subscriber.ino

Langkah Mendapatkan Google API Key

Kita membutuhkan Google API Key untuk membaca data subscriber dari Youtube. Berikut ini adalah langkah-langkah untuk mendapatkan API Key dari Google:

  1. Buka halaman: https://console.developers.google.com/apis/library
  2. Silahkan login dengan akun Google
  3. Di sebelah logo, klik pada ‘Project‘ dan klik juga ‘Create project‘. Beri nama sesuai selera dan klik ‘Create‘.
  4. Tunggu sampai proyek selesai dibuat, nanti halaman akan beralih ke dengan sendirinya. Biasanya membutuhkan waktu antara beberapa detik sampai beberapa menit.
  5. Setelah proyek dibuat dan dipilih, klik pada ‘Credentials‘ pada menu yang ada di kolom kiri.
  6. Klik pada ‘Create Credentials‘ dan pilih ‘API Key‘.
  7. Copy API Key, ini untuk kita masukan di program.
  8. Buka file Subscriber.ino, ganti API_KEY dengan API Key yang dibuat pada langkah-7, kemudian ganti juga CHANNEL_ID dengan channel’s ID anda (kode terakhir pada alamat channel Youtube anda).

Compile dan Upload

Compile dan upload sketch ke board NodeMCU menggunakan Arduino IDE.

Selamat mencoba, selamat berkreasi.

Topik hangat:

The post Memantau Subcriber Youtube dengan NodeMCU dan LED Display MAX7219 dan Google API appeared first on Komputronika.


Cara Mudah Menggunakan Seven Segments dengan Arduino

Seven segments atau 7 Segments adalah alat penampil elektronik yang berupa susunan LED membentuk angka. Seven segments tersusun dari 7 buah LED (maka dari itu disebut 7 segments) + 1 dot point (tanda titik). Karena seven segments adalah kumpulan LED, maka setiap segment memiliki anoda dan katoda. Ada seven segments […] The post Cara Mudah Menggunakan Seven Segments dengan Arduino appeared first on...

Memprogram seven segments dengan Arduino

Seven segments atau 7 Segments adalah alat penampil elektronik yang berupa susunan LED membentuk angka. Seven segments tersusun dari 7 buah LED (maka dari itu disebut 7 segments) + 1 dot point (tanda titik).

Karena seven segments adalah kumpulan LED, maka setiap segment memiliki anoda dan katoda. Ada seven segments yang disatukan pin anodanya, disebut common anoda. Ada juga seven segments yang disatukan pin katodanya, disebut common cathode.

Diagram Komponen Seven Segments

Diagram komponen seven segments

Menggabungkan Beberapa Seven Segments

Untuk menampilkan suatu angka yang terdiri dari beberapa digit, kita bisa menggabungkan beberapa seven segment. Misalnya menggabungkan 2, 4 atau 8 seven segments sesuai kebutuhan.

Sebuah seven segments perlu dikontrol minimal dengan 8 pin untuk masing-masing segment dan 1 pin untuk common, total 9 pin untuk sebuah seven segments.

Apabila kita ingin membuat 4 digit, apakah kita membutuhkan 9×4 = 36 pin? Tentu tidak, karena itu tidak praktis dan memboroskan pin mikrokontroler/Arduino. Oleh karena itu kita perlu menggunakan cara multiplexing.

Multiplexing pada seven segments

Multiplexing dalam istilah seven segments adalah menampilkan satu persatu digit secara bergantian secara cepat sehingga mata manusia dapat melihatnya sebagai sebuah sederetan angka yang utuh.

Pada gambar di atas, pin a sampai g kedua seven segments gabungkan, sedangkan pin common dibiarkan sendiri-sendiri.

Contoh bila ingin menampilkan angka 10 pada dua buah seven segment.

  1. Kirim sinyal pada pin a – f (membentuk angka 0)
  2. Nyalakan common digit-2
  3. Tunda 20 milidetik
  4. Matikan common digit-2
  5. Kirim sinyal pada pin b dan c (membentuk angka 1)
  6. Nyalakan common digit-1
  7. Tunda 20 milidetik
  8. Matikan common digit-1
  9. Kembali ke nomor-1

Menyalakan digit pada common anoda berarti memberikan tegangan positif pada common, dan memberikan tegangan 0 pada segment.

Sedangkan menyalakan digit pada common cathode adalah kebalikannya: Memberikan tegangan 0 pada common, dan memberikan tegangan positif pada segment.

Karena seven segments pada dasarnya adalah LED, maka diperlukan resistor untuk membatasi arus. Resistor 330 ohm biasanya sudah cukup.

Rangkaian Dasar Seven Segments Common Anode 2 Digit

Rangkaian dasar seven segments dengan Arduino

Gambar di atas adalah skema dasar rangkaian 2 buah seven segments menggunakan Arduino. Bila kita ingin menambahkan lebih dari 2 digit, maka bisa memparallel semua pin segments dan menambahkan pin common yang baru untuk masing-masing seven segments.

Pada masing-masing pin common, kita menambahkan transistor untuk menguatkan arus yang masuk ke seven segment. Transistor yang digunakan berjenis PNP, oleh karena itu perlu diberi LOW untuk menghidupkan dan HIGH untuk mematikan.

Program Arduino untuk Mengendalikan Seven Segments

Dengan menggunakan prinsip multiplexing yang sudah dibahas di atas, sebenarnya relatif mudah untuk membuat program Arduino sendiri.

Akan tetapi kali ini penulis akan memberikan contoh lebih sederhana dan lebih mudah yaitu menggunakan library Arduino bernama SevSeg yang bisa di download dari halaman Library SevSeg.

Untuk menampilkan angka atau tulisan pada seven segments menggunakan library SevSeg ini caranya cukup mudah, yaitu dengan memanggil fungsi setNumber(), setChars() dan fungsi refreshDisplay():

void loop() {
    ...
    sevseg.setNumber(86);
    sevseg.setChars("Ok");
    ...
    sevseg.refreshDisplay(); 
}

Penjelasan mengenai fungsi dan parameter sudah dicantumkan pada program, silahkan dipelajari dan dipahami. Berikut ini contoh lengkap program Arduino untuk menampilkan counter pada seven segments

/*----------------------------------------------*\
 
  Menampilkan Angka di Seven Segments dengan Arduino
  
  Hardware : Arduino 
  Author   : Komputronika.com
  Email    : infokomputronika@gmail.com
  Website  : http://www.komputronika.com
  Library  : (1) https://github.com/DeanIsMe/SevSeg

\*----------------------------------------------*/

// Include library
#include "SevSeg.h"

SevSeg sevseg; //Buat object seven segments

//----------
// SETUP
//----------

void setup() {

    // Tentukan jumlah digit dalam rangkaian  
    byte numDigits           = 2; 

    // Pin yang digunakan untuk digit (urutan: kiri -> kanan)
    byte digitPins[]         = {10, 9}; 

    // Pin yang digunakan untuk segments (urutan: a -> g)
    byte segmentPins[]       = {2, 3, 4, 5, 6, 7, 8}; 
  
    bool resistorsOnSegments = true;  // Kita pasang resistor pada pin segment
    byte hardwareConfig      = P_TRANSISTORS; // Kita pakai transistor PNP
    bool updateWithDelays    = false; // Update tidak pakai delay
    bool leadingZeros        = false; // Tampilan angkan awalan nol 
    bool disableDecPoint     = false; // Tidak pakai angka desimal

    // Inisialisasi seven segment
    sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, 
               resistorsOnSegments, updateWithDelays, leadingZeros, disableDecPoint);

    // Atur kecerahan LED
    sevseg.setBrightness(90);

}

int counter = 0;
unsigned long timer = 0;

//----------
// LOOP
//----------
void loop() {

    // Bila sudah berlalu 1 detik
    if ( millis() - timer >= 1000) {

        // Kalau counter mencapai 100, reset ke 0
        if (counter == 100) { 
            counter=0;
        }

        // Tampilkan nilai counter saat ini
        sevseg.setNumber(counter);
    
        // Jumlah counter di tambah 1
        counter++; // 100 milliSeconds is equal to 1 deciSecond
    
        // Nilai timer diset ke saat ini
        timer = millis();
    }

    sevseg.refreshDisplay(); // Update penampilan seven segment!
}

Pengembangan Lebih Lanjut

Contoh rangkaian dan program pada tulisan ini bersifat dasar dengan komponen yang minim dan mudah didapat di toko terdekat. Namun masih ada cara yang lebih lanjut dalam menampilkan seven segments menggunakan Arduino. Antara lain menggunakan shift register misalnya 74HC595, menggunakan IC binary to 7 segments atau menggunakan LED driver seperti MAX7219. Mungkin akan dibahas pada kesempatan berikutnya.

Topik hangat:

The post Cara Mudah Menggunakan Seven Segments dengan Arduino appeared first on Komputronika.


Cara Mudah Mengedipkan LED (Blink LED) Menggunakan Interrupt pada Arduino

Mengedipkan LED (Blink LED) pada Arduino mudah dilakukan memakai fungsi digitalWrite() dan delay() atau millis(). Fungsi-fungsi Arduino tersebut sudah cukup mudah dalam membuat interval. Tetapi menggunakan fungsi delay() akan menunda proses berikutnya. Demikian pula menggunakan millis(), apabila terjadi proses panjang yang memakan waktu lama, maka timing berkedipnya LED bisa menjadi […] The post Cara Mudah Mengedipkan LED (Blink LED) Menggunakan Interrupt pada Arduino appeared first on...

Cara mudah membuat LED blink pada Arduino dengan Timer Interrupt

Mengedipkan LED (Blink LED) pada Arduino mudah dilakukan memakai fungsi digitalWrite() dan delay() atau millis(). Fungsi-fungsi Arduino tersebut sudah cukup mudah dalam membuat interval. Tetapi menggunakan fungsi delay() akan menunda proses berikutnya. Demikian pula menggunakan millis(), apabila terjadi proses panjang yang memakan waktu lama, maka timing berkedipnya LED bisa menjadi tidak lancar.

Alternatif lain untuk mengedipkan LED dengan Arduino adalah dengan menggunakan timer interrupt. Dengan menggunakan timer interrupt ini berkedipnya LED tidak akan terganggu dan dapat berjalan parallel dengan proses lain. Misalnya LED akan tetap berkedip walaupun program sedang berkomunikasi serial atau sedang menulis ke LCD.

Interrupt adalah suatu tindakan sistem yang akan menghentikan program utama (interupsi) untuk menjalankan suatu fungsi interrupt yang sudah didefinisikan oleh programmer.

Timer Interrupt berarti interupsi yang akan melakukan interupsi berdasarkan timer. Yaitu apabila terjadi hitungan timer sesuai yang sudah ditentukan, maka sistem akan memanggil fungsi interrupt.

Bagi pembaca yang sudah terbiasa dengan pemrograman komputer, mungkin sudah pernah mengenal sebuah object timer atau class timer, nah timer interrupt ini kurang lebih seperti itu.

Contoh program mengedipkan LED dengan timer interrupt ini tidak terbatas penggunaan nya pada LED saja. Bisa digunakan untuk keperluan I/O lain, misalnya untuk menyalakan Buzzer yang terus-menerus bunyi saat ada peringatan tertentu. Atau mengontrol relay pada saat robot mobil berjalan, dsb.

Contoh Program LED Blink Arduino dengan Timer Interrupt

Contoh program Arduino di bawah ini akan mengedipkan LED Internal (pada pin 13) setiap 0.2 detik sekali dengan cara mudah karena menggunakan library yang sudah ada.

/*----------------------------------------------*\
 
  Mengedipkan LED menggunakan Timer Interrupt
  
  Hardware : Arduino Uno atau yang berbasis Atmega328 lainnya
  Author   : Komputronika.com
  Email    : infokomputronika@gmail.com
  Website  : http://www.komputronika.com
  Library  : (1) https://github.com/PaulStoffregen/TimerOne

\*----------------------------------------------*/

// Include library TimerOne
#include <timerone.h>

// Tentukan led yang akan dinyalakan
const int led = LED_BUILTIN;  // (LED pada pin 13)

// Set status awal led sebagai LOW = mati
int statusLed = LOW;

//=======
// SETUP
//=======
void setup(void)
{
    // Set pin led sebagai output
    pinMode(led, OUTPUT);     

    // Inisialisasi interval pemanggilan fungsi 
    // 200rb/1jt detik = 0.2 detik 
    // (parameter fungsi ini dalam satuan mikrodetik)
    Timer1.initialize( 200000 );        

    // Hubungkan fungsi blinkLED se interrupt
    Timer1.attachInterrupt(blinkLED); 
}


//=======
// LOOP
//=======
void loop(void)
{
    // Di fungsi loop() tidak ada perintah untuk 
    // mengedipkan led, karena proses mengedipkan 
    // dilakukan secara interrupt

    // Boleh diisi proses lainnya 
}


// Fungsi ini akan dipanggil oleh interrupt 
// dan akan mengedipkan LED dalam interval yang ditentukan 
// oleh fungsi Timer1.initialize(..); 

void blinkLED(void)
{
    if (statusLed == LOW) {
        statusLed = HIGH;
    } else {
        statusLed = LOW;
    }
    digitalWrite(led, statusLed);
}

// </timerone.h>

Untuk mencoba contoh program Arduino di atas, jangan lupa sebelumnya untuk mendownload library TimerOne yang diperlukan. https://github.com/PaulStoffregen/TimerOne

Selamat mencoba dan selamat berkreasi dengan Arduino.

Topik hangat:

The post Cara Mudah Mengedipkan LED (Blink LED) Menggunakan Interrupt pada Arduino appeared first on Komputronika.


Komunikasi-6: Menampilkan Grafik Chart Diagram Data IoT ESP8266 dengan ChartJS

Pada tulisan sebelumnya kita sudah membuat program untuk mengirimkan data dari Arduino + Modul ESP8266 ke sebuah web server IoT. Data yang tersimpan tersebut tentu tidak akan bermanfaat kalau tidak dipresentasikan untuk dibaca atau dianalisa. Oleh karena itu pada tulisan kali ini kita akan diberikan contoh sederhana cara menampilkan data […] The post Komunikasi-6: Menampilkan Grafik Chart Diagram Data IoT ESP8266 dengan ChartJS appeared first on...

Membuat Grafik Chart berdasarkan Data IOT

Pada tulisan sebelumnya kita sudah membuat program untuk mengirimkan data dari Arduino + Modul ESP8266 ke sebuah web server IoT. Data yang tersimpan tersebut tentu tidak akan bermanfaat kalau tidak dipresentasikan untuk dibaca atau dianalisa. Oleh karena itu pada tulisan kali ini kita akan diberikan contoh sederhana cara menampilkan data IoT di server dalam bentuk grafik atau chart atau diagram.

Grafik yang akan dibuat adalah web based, dengan begitu bisa dibuka dimana saja menggunakan browser Internet. Tool yang akan digunakan untuk membuat grafik adalah ChartJS.

ChartJS adalah sebuah library Javascript untuk membuat grafik atau chart atau diagram di web. Penulis memilih ini karena kemudahan dan kesederhanaan cara menggunakan nya. Selain itu hasil grafiknya cukup bagus.

Contoh Script HTML Membuat Grafik data IoT

Pada contoh tulisan ini kita akan menampilkan grafik suhu berdasarkan data yang dibaca dari server Iot generik , keyword yang akan digunakan adalah coba

Ini adalah script yang terdiri dari sebuah file .html saja. Sangat simpel bukan?

<!------------------------------------------------------------
|
|  Demo Chart/Diagram
|
|  Script HTML+JS untuk menampilkan chart dari IoT server
|
|  Script server: https://github.com/komputronika/IoT-Server
|
|  Tutorial: Komputronika.com
|
------------------------------------------------------------->
<!doctype html>
<html>
<head>
    <title>Demo Line Chart IoT Server</title>

    <!-- Load library Chartjs -->
    <script src="http://www.chartjs.org/dist/2.7.2/Chart.js"></script>

    <style>
        canvas {
            -moz-user-select: none;
            -webkit-user-select: none;
            -ms-user-select: none;
        }
    </style>
</head>

<body>
    <div style="width:50%; margin:30px auto; text-align:center">
        <div id="container"></div>
        <canvas style="left:-50px; position:relative" id="canvas"></canvas>
    </div>
    <script>
        // Deklarasikan variable array untuk menampung label dan data
        var mylabel = [];
        var mydata  = [];
        var request = new XMLHttpRequest();

        // Fungsi untuk menghandle response dari server
        request.onreadystatechange = function() {

            // Kalau request berhasil
            if (this.readyState == 4 && this.status == 200) {

                // Ubah response menjadi objek JSON
                var obj = JSON.parse(this.responseText);

                // Baca semua bari JSON, tambahkan ke variable array
                for (index = 0, len = obj.length; index < len; index++) {
                    mylabel.push(obj[index].created_at);
                    mydata.push(obj[index].suhu);
                }

                //console.log(obj);

                // Hilangkan gambar loading
                document.getElementById('container').innerHTML= '';

                // Jalankan Chartjs
                var ctx = document.getElementById('canvas').getContext('2d');
                window.myLine = new Chart(ctx, config);
            }
        }

        //=========================================================================
        // Baca data dari web server
        //=========================================================================
        request.open("GET", "http://www.komputronika.com/iot/baca/coba/json", true);
        request.send();
        //=========================================================================

        // Konfigurasi Chartjs
        var color = Chart.helpers.color;
        var config = {
            type: 'line',
            data: {
                // Label diset dengan variable array yang kita buat
                labels: mylabel,

                datasets: [{
                    label: 'Suhu Ruangan',
                    backgroundColor: "red",
                    borderColor: "red",
                    fill: false,

                    // Data diset dengan variable array yang kita buat
                    data: mydata
                }]
            },

            // Pemanis buatan
            options: {
                title: {
                    text: 'Demo Chart IoT Server'
                },
                scales: {
                    xAxes: [{
                        scaleLabel: {
                            display: true,
                            labelString: 'Waktu'
                        }
                    }],
                    yAxes: [{
                        scaleLabel: {
                            display: true,
                            labelString: 'Suhu'
                        }
                    }]
                },
            }
        };

        // Tampilkan gambar loading saat halaman baru muncul
        window.onload = function() {
            document.getElementById('container').innerHTML= '<br><br><img width='100%'  src="http://v3.preloaders.net/preloaders/725/Alternative.gif"> <p style="font-family: arial, sans-serif">Tunggu sebentar ya bos, sedang loading..</p>';
        };
    </script>
</body>
</html>

Demo untuk script ini bisa dilihat di halaman: http://www.komputronika.com/iot/demo/chart.html

Tampilan nya adalah seperti ini:

Chart Grafik Data IoT ESP8266 Arduino

Contoh di atas menggunakan jenis grafik atau diagram Line Chart. Kalau pembaca ingin menampilkan grafik jenis lain, silahkan membaca contoh-contoh yang disediakan oleh ChartJS. Selamat mencoba dan berkarya.

Topik hangat:

The post Komunikasi-6: Menampilkan Grafik Chart Diagram Data IoT ESP8266 dengan ChartJS appeared first on Komputronika.


Link to Category: Programming Blogs

Or if you prefer use one of our linkware images? Click here

Social Bookmarks


Available Upgrade

If you are the owner of Arduino Programming Tutorial, or someone who enjoys this blog why not upgrade it to a Featured Listing or Permanent Listing?


We provide Greater link exposure in search engines