Buku-buku elektronika

Teori membawa kita dari benturan sana-sini, yuk baca buku.

Skema dan PCB

Cari skema rangkaian? atau dengan layout? Disini tempatnya.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Selasa, 16 Mei 2017

[Simulasi Arduino] Membuat Variasi Running Led dengan Interrupt

   Disini saya akan membagi sedikit pengalaman tentang projek dari siswa saya, membuat sebuah Running LED namun bervariasi. Maksudnya bervariasi disini, Running LED bukan hanya hidup mati dari kanan ke kiri, tapi juga dari kiri ke kanan, atau dari tengah ke kanan-kiri, dst. Pertama-pertama siapkan dulu bahan-bahanya.
  1. Arduino UNO R3
  2. LED Strawhat 8 Pcs (Warna Apapun)
  3. Resistor 220 Ohm
  4. Resistor 10k
  5. Push Button
Prinsip kerjanya sederhana, ketika push button ditekan maka variasi Running LED akan berubah yang tadinya dari kanan ke kiri menjadi kiri ke kanan. Disini saya akan membuat 3 variasi, kanan ke kiri, kiri ke kanan dan, tengah ke kanan-kiri.

Lanjut ke pembuatan rangkaian menggunakan software Protheus.
Terdapat 8 LED yang disusun sejajar dengan resistor 220 Ohm pada setiap LEDnya. Resistor ini berfungsi untuk membagi tegangan dari output Arduino sebesar 5V. Sehingga tidak membuat LEDnya rusak. Sedangkan Resistor 10k berfungsi sebagai pull down, sehingga tegangan yang diterima pin 2 benar-benar dalam kondisi 0V ketika push button belum ditekan.

Rangkaian sudah, kini saatnya membuat program. Pada program Running LED bervariasi ini, saya menggunakan fungsi attachInterrupt(), kenapa harus pake interrupt? Sederhana, karena program yang saya buat menggunakan fungsi delay(). Ketika fungsi delay() bekerja, semua sub-program tidak akan yang bekerja sampai fungsi delay() selesai, namun ketika Arduino mendapatkan input interrupt pada salah satu pinnya. Arduino akan langsung memberhentikan fungsi delay()  dan mengeksekusi fungsi interrupt yang telah dibuat. Untuk lebih jelasnya terkait fungsi attachInterrupt(), teman-teman bisa mengunjungi situs ini. Penjelasan attachInterrupt()


/* 
 *  Running led menggunakan fungsi interrupt
 */

 int ledPin[]= {3,4,5,6,7,8,9,10};
 int keadaanVariasi = 0;
 int delayLed = 50; //Ubah nilainya jika terlalu kecepetan

 void setup()
 {
  for (int i=0; i<8; i++)
  {
    pinMode(ledPin[i], OUTPUT);
  }
  attachInterrupt(digitalPinToInterrupt(2), variasi, RISING);
 }

 void loop()
 {
  switch(keadaanVariasi)
  {
    case 0:
    kananKiri();
    break;

    
    case 1:
    kiriKanan();
    break;

    
    case 2:
    tengahKananKiri();
    break;

    default:
    break;
  }
 }

 void variasi()
 {
  delay(100); 
  keadaanVariasi++;
  Serial.print("keadaanVariasi=");
  Serial.println(keadaanVariasi);
  if(keadaanVariasi>2) keadaanVariasi =0;
 }

 void kananKiri()
 {
  for (int i=0; i<8; i++)
  {
    digitalWrite(ledPin[i], HIGH);
    delay(delayLed);
    digitalWrite(ledPin[i], LOW);
    delay(delayLed);
    if(keadaanVariasi != 0) break;
  }
 }

 void kiriKanan()
 {
  for (int i=7; i>-1; i--)
  {
    digitalWrite(ledPin[i], HIGH);
    delay(delayLed);
    digitalWrite(ledPin[i], LOW);
    delay(delayLed);
    if(keadaanVariasi != 1) break;
  }
 }

 void tengahKananKiri()
 {
  int angkaGanjil = 1;
  for (int i=3; i>-1; i--)
  {
    digitalWrite(ledPin[i], HIGH);
    digitalWrite(ledPin[i+angkaGanjil],HIGH);
    delay(delayLed);
    digitalWrite(ledPin[i], LOW);
    digitalWrite(ledPin[i+angkaGanjil],LOW);
    delay(delayLed);
    angkaGanjil += 2;
    if(keadaanVariasi != 2) break;
  }
 }


Perhatian, jika delay hidup-mati antara LED terlalu cepat, ubah nilai pada variabel delayLed
Jika teman-teman gak ingin ribet buat rangkaiannya dan copy paste source codenya, download aja.
Download File Protheus
Download File Arduino

Terima kasih, semoga bermanfaat...

Jumat, 13 Januari 2017

Trik belajar Elektronika ala Mas Glori

Selamat berjumpa kembali di blog ane gan.

Hari ini kita lupakan sejenak tentang Arduino, GUI, dsb. Saat ini izinkan saya untuk sedikit curhat tentang cara saya belajar Elektronika menurut cara ane. Okeh gan, semoga ini dapat menginspirasi ente yang ngambil jurusan elektronika baik yang sedang kuliah maupun lagi duduk di bangku SMK.

1. Beli buku elektronika
   Buku adalah jendela dunia, gak bisa dipungkiri bahwa ane memulai belajar elektronika dari membaca buku, selain dari mendengar dan mencatat apa yang guru dan dosen ane ajarin. Ane juga sering baca-baca buku elektronika. Beberapa buku elektronika yang ane pernah baca adalah prinsip-prinsip elektronika karang malvino, nah ada juga Vademekum karangan Bapak Wasito S. Ingat elektronika merupakan ilmu yang memerlukan teori , karena dengan teori kita akan terhindar dari benturan ilmu dan dapat belajar lebih efisien.

2. Praktek dan latihan membuat rangkaian
    Practice makes Perfect, ini yang paling sangat vital dalam mempelajari ilmu elektronika, PRAKTEK. Elektronika merupakan salah satu ilmu teknik yang memerlukan keterampilan motorik. Nah, jika ente hanya mempelajari teori, itu mah biasa namun jika ente praktek itu baru luar biasa. Untuk praktek, memang kita harus menyiapkan alat dan bahan yang tidak sedikit, seperti solder, breadboard, timah, komponen-komponen, dan lain-lain. Biaya yang dikeluarin tentu gak sedikit, tapi demi menuntut ilmu tentu ada yang harus dikorbankan bukan?
Praktek gak harus mempelajari tentang karakteristik komponen, tapi kalian juga harus mempelajari tentang soft skill yang ada di elektronika, seperti menyolder, menggunakan multimeter, atau mengecek komponen. Jika kalian sudah mempelajari tentang dasar-dasar praktek, kalian bisa mengembangkan ilmu kalian dengan membuat rangkaian-rangkaian elektronika sederhana, seperti membuat rangkaian penyearah arus AC ke DC, atau bahkan rangkaian flip-flop dengan IC Timer NE555

3. Main ke forum-forum elektronika
    Zaman sudah canggih semua orang terkoneksi dengan cepat dan dimana saja. Cara belajar terbaik adalah dengan diskusi, sering kali kalian gak langsung ngerti tentang apa yang diajarkan oleh guru atau dosen elektronika kalian. Solusi terbaiknya adalah dengan diskusi, nah karena sekarang sudah ada internet, kalian bisa masuk forum-forum elektronika baik yang ada difacebook, kaskus, ataupun forum khusus. Di forum, kalian bukan hanya bisa bertanya-tanya tapi juga dapat menjalin relasi dengan orang-orang yang memiliki ketertarikan dalam dunia elektronika, sama seperti kalian. Mungkin saja, kalian bisa mendapakan pekerjaan atau projek dari mereka.
Berikut adalah forum-forum elektronika yang sering saya kunjungi.

- Buat belajar Arduino
https://forum.arduino.cc/ 
- Belajar electronika dasar dan lain-lain
https://learn.sparkfun.com

Sabtu, 17 September 2016

Membuat GUI dengan processing untuk Arduino pada Protheus

Selamat datang kembali!

Alhamdulillah, penulis telah menyelesaikan studi S1 dan inshaa Allah akan mengaktifkan blog ini dengan posting-postingan yang bermanfaat, dan lebih intens.

Pada pembahasan kali ini, kita akan belajar membuat sebuah GUI (Graphic User Interface) menggunakan software Processing untuk mengendalikan sebuah LED menggunakan Arduino, namun bukan dengan Arduino sungguhan, tapi virtual dengan bantuan software Protheus. Jadi kalian gak harus beli Arduinonya.

Hmmm.... menarik kan? Baca sampai habis ya.

Okay, sebelumnya kalian harus mengerti terlebih dahulu fungsi dari masing-masing software yang kita gunakan yakni Protheus, Processing, dan Arduino IDE.

Software yang dibutuhkan :
  • LabCenters Proteus software yang telah dipasang library Arduino
  • Virtual Serial Port Emulator
  • Processing
  • Arduino IDE
 Okeh kita mulai 

1. Virtual Serial Port Emulator
Virtual Serial Port Emulator digunakan untuk membuat komunikasi secara virtual, sehingga kita  dapat menghubungkan Arduino (virtual) yang ada di Protheus dengan Processing.



download dan install VSPE di web berikut
http://www.eterlogic.com/Products.VSPE.html

 2.  Membuat sebuah COM PORT baru
- Buka software VSPE


- Pada device type pilih Pair
 

- Klik Finish





- Okeh sekarang, kita berhasil membuat serta mengaktifkan dua COM Port terminal baru, yakni COM1 dan COM2


3. Membuat sebuah projek di Protheus
Buka software protheus atau isis. Lalu siapkan komponen yang dibutuhkan :
- Arduino Uno
- LED-RED
- COMPIM
- Resistor 220 Ohm

Buatlah rangkaian seperti gambar di bawah ini.



4. Mengatur komunikasi COMPIM pada Protheus
Klik 2 kali pada COMPIM, lalu atur setiap parameternya seperti pada gambar di bawah ini. Ingat! karena tadi kita mengatur terminal COM PORT pada VSPE di COM1, maka kita harus menyesuaikannya di software protheus, yakni COM1 pada Physical port.
 
Picture of Set up the communications

5. Buat Program Arduino
Berikutnya adalah membuat sketch Arduino pada IDE, perhatikan source code berikut.

/* 
 *  Kontrol Lampu LED secara Virtual
 *  dengan Processing dan Protheus
 *  Made By Rian Glori Suseno
 *  Katro 12 UNJ
 */

int input=0;  // Variabel untuk menampung data dari processing

void setup()
{
  Serial.begin(9600); // Atur Baudrate sesuai dengan protheus
  pinMode(13,OUTPUT);
} 
 void loop()
{
  if(Serial.available()>0)
  {
    input =Serial.parseInt(); // Baca data serial hanya tipe data integer
  }
  digitalWrite(13,input);
}


kemudian compile dan copy direktori file hex-nya. Seperti gambar di bawah ini



Lalu, buka kembali software protheus, klik dua kali pada board Arduino lalu paste pada Program File


6. Membuat GUI dengan Processing
Buka processing, lalu perhatikan source code berikut. Perlu diperhatikan, karena Device type yang kita gunakan adalah Pair pada VSPE, maka atur COM Port serial di processing pada COM2.

/*
* GUI Untuk Kontrol LED dengan Arduino
* Pada Protheus
* Made By Rian Glori Suseno
* Katro 12
*/


import controlP5.*;  // Library untuk membuat gui
import processing.serial.*;  // Library untuk komunikasi serial

// Membuat Objek
ControlP5 cp5;
Serial arduinoGue;

int LED=0;

void setup()
{
  size(300,100);
  cp5= new ControlP5 (this);
  arduinoGue=new Serial (this,"COM2",9600);
  noStroke();
  
  // Buat sebuah tombol toggle
  cp5.addToggle("LED")
     .setPosition(20,20)
     .setSize(20,50)
     ;
}

void draw()
{
  background(128,128,0);
  if(LED==1)  // Jika ditekan maka lingkaran merah
  {
    fill(255,0,0); 
    ellipse(100,50,50,50);
  }
  
  else   // jika tidak maka putih
  {
    fill(255);
    ellipse(100,50,50,50);
  }
  
  // Kirim data 
  arduinoGue.write(LED+"\n");
}


7. Finishing
Buka software protheus, lalu jalankan simulasinya. Kemudian buka software processing lalu jalankan programnya.


Sekarang, coba klik tombol toggle LED. Dan tara... anda telah berhasil membuat GUI.