Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Sabtu, 31 Juli 2021

Cara Memprogram Board Arduino yang Menggunakan IC ATmega8535/16/32/164/324/644/1284 memakai USBASP Programmer

- Tidak ada komentar

Setelah belajar Membuat Board Arduino Sendiri dengan Menggunakan IC ATmega8535/16/32/164/324/644/1284 , maka kali ini kita akan belajar bagaimana Cara Memprogram Board Arduino yang Menggunakan IC ATmega8535/16/32/164/324/644/1284. Beda dengan memprogram Board Arduino standart yang bisa langsung diprogram menggunakan Arduino IDE. Karena ini adalah Board Arduino khusus buatan sendiri, maka perlu dengan cara khusus pula untuk memprogramnya. 



Baca Juga : Membuat Board Arduino Sendiri dengan Menggunakan IC ATmega8535/16/32/164/324/644/1284


Berikut ini adalah langkah - langkah Cara Memprogram Board Arduino yang Menggunakan IC ATmega8535/16/32/164/324/644/1284 memakai USBASP Programmer :

1. Download Arduino IDE, lalu Install.

2. Buka Software Arduino IDE, maka akan tampil seperti dibawah ini :

 


3. Pilih menu File, kemudian Klik Preferences. Seperti pada gambar dibawah ini :



4. Masukkan tautan https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json, ke kolom yang diberi tanda merah seperti gambar dibawah ini, lalu Klik OK



5. Kemudian pilih menu Tools, Pilih menu Board, lalu Klik Boards Manager seperti gambar dibawah ini :



6. Kemudian ketik Mighty di kolom pencarian, kemudian Install Board MightyCore seperti tampak pada gambar dibawah ini (Pastikan Laptop/Komputer Anda Terkoneksi Internet) : 



7. Setelah proses Install selesai, kemudian klik Close.

8. Maka Board akan tampil dan sudah terinstall seperti gambar dibawah ini :



9. Karena yang kita pakai kebetulan sebagai contoh adalah ATmega8535, maka pilih Board MightyCore >>> ATmega8535 seperti gambar dibawah ini.

 


 

10. Tancapkan USBasp Programmer ke port USB laptop atau komputer Anda. Berikut ini adalah bentuk USBasp yang kita pakai:

 

11. Tancapkan USBasp Adapternya ke Board Arduino buatan kita sendiri. Berikut ini interface USBasp dengan IC ATmega8535/16/32/164/324/644/1284 :



12. Karena kita pakai USBasp Programmer, maka pada bagian Programmer kita pilih USBasp seperti tampak pada gambar dibawah ini :




13. Kita coba menggunakan Blink, Pilih menu File >>> Examples >>> Basics >>> Blink, Maka akan tampil seperti gambar dibawah ini.




14. Sebelum Upload program Tersebut, langkah awal adalah upload Bootloader terlebih dahulu dengan cara pilih menu Tools, lalu pilih Sanguino Pinout (karena kebetulan kita pakai Sanguino), kemudian klik Burn Bootloader seperti gambar dibawah ini.



14. Maka akan tampil informasi Done Burning Bootloader.



15. IC ATmega8535 sudah siap digunakan menggunakan Arduino IDE. 

16. Lalu kita coba Upload Program Blink dengan cara pilih menu Sketch, kemudian Klik Upload Using Programmer seperti gambar dibawah ini.



17. Upload program sukses dan akan muncul informasi Done Uploading seperti gambar dibawah ini.



18. Maka LED Blink pada Pin 0 Board Arduino buatan kita sendiri ini akan menyala dan mati secara bergantian setiap 1 Detik. 

19. Selamat Mencoba.





Membuat Board Arduino Sendiri dengan Menggunakan IC ATmega8535/16/32/164/324/644/1284

- 1 komentar

Artikel tentang Membuat Board Arduino Sendiri dengan Menggunakan IC ATmega8535/ATmega16/ATmega32/ATmega164/ATmega324/ATmega644/ATmega1284 sangat cocok untuk Anda yang ingin membuat sendiri Board Arduino diluar IC Standart Arduino Uno (ATmega328), Arduino Nano (ATmega328 & ATmega168), Arduino ProMini (ATmega328 & ATmega168), dan Arduino Mega (ATmega2560 & ATmega1280). Misalnya saja saat Anda membutuhkan suatu system mikrokontroler dengan Platform Arduino ternyata Anda tidak punya Board yang sudah jadi. Toko Arduino tidak tersedia di kota Anda. Anda hanya memiliki salah satu dari IC ATmega8535/ATmega16/ATmega32/ATmega164/ATmega324/ATmega644/ATmega1284. Anda bisa membuat sendiri Board Arduino menggunakan IC Tersebut untuk menghemat waktu dan biaya.


Baca Juga : Cara Memprogram Board Arduino yang Menggunakan IC ATmega8535/ATmega16/ATmega32/ATmega164/ATmega324/ATmega644/ATmega1284.

 

Berikut ini adalah macam-macam I/O dari Board Arduino apabila menggunakan IC ATmega8535/16/32/164/324/644/1284 :


ATMEGA 16/32/8535/164/324/644/1284
Standart Pin Out


ATMEGA 16/32/8535/164/324/644/1284
Sanguino Pin Out


ATMEGA 16/32/8535/164/324/644/1284
Bobuino Pin Out



Berikut ini adalah Schematics Diagram Minimum System Board Arduino dengan Menggunakan IC ATmega8535/16/32/164/324/644/1284 :

 


 

Berikut ini adalah gambar LayOut PCB dari Minimum System diatas :

 


 

Berikut ini File PDF LayOut PCB : MinSys Board Arduino with ATmega8535/16/32/164324/644/1284.


Hasil Jadi Board Arduino dengan Menggunakan IC ATmega8535/16/32/164/324/644/1284 :





Baca Juga : Cara Memprogram Board Arduino yang Menggunakan IC ATmega8535/ATmega16/ATmega32/ATmega164/ATmega324/ATmega644/ATmega1284.

 

 

 

 

 


Jumat, 09 Juli 2021

PWM Signal Controller with Arduino Nano (Sinyal PWM Kontroler dengan Arduino Nano)

- Tidak ada komentar

PWM atau kepanjangan Pulse Width Modulation, dalam bahasa Indonesia biasa disebut Modulasi Lebar Pulsa. Pada prinsipnya, PWM adalah salah satu teknik modulasi yang mengubah lebar pulsa (pulse width) dengan nilai frekuensi dan amplitudo (tinggi pulsa) yang tetap. PWM Signal ini digunakan menghasilkan sinyal analog dari perangkat Digital yang salah satu contohnya adalah dari Mikrokontroler.

 

Baca Juga : ESP32 PWM with Arduino IDE (Analog Output)


Berikut ini adalah Schematics Diagram dari PWM Signal Controller with Arduino Nano (Sinyal PWM Kontroler dengan Arduino Nano)




Berikut ini adalah Hardware yang dibutuhkan :
> 1 Pcs - Arduino Nano >>> BELI DISINI
> 1 Pcs - LCD 16x2 >>> BELI DISINI
> 1 Pcs - LCD I2C >>> BELI DISINI
> 1 Pcs - Potensiometer >>> BELI DISINI
> 1 Pcs - Resistor 330 Ohm >>> BELI DISINI
> 1 Pcs - Optocoupler PC817 >>> BELI DISINI
> 1 Pcs - Resistor 1K Ohm >>> BELI DISINI
> 1 Pcs - Transistor TIP142 >>> BELI DISINI
> 1 Pcs - Motor DC >>> BELI DISINI
> 1 Pcs - Sumber Tegangan 12V >>> BELI DISINI
> Kabel Jumper Secukupnya >>> BELI DISINI


Untuk project ini kita menggunakan pin ADC (Analog to Digital Converter) pada Arduino Nano sebagai pintu masuk untuk sinyal input dari Potensiometer. Hal ini dikarenakan memang data dari potensiometer adalah merupakan data analog. Tegangan dari Potensiometer yang berupa data Analog ini kemudian dirubah menjadi data digital berupa bilangan desimal 10 bit yang mempunyai range 0 – 1023.  Dalam bilangan desimal 10 bit, angka 0 ini adalah awal permulaan hitungan. Jadi total nilainya ada 1024. Berikut ini merupakan perhitungan dari konversi data tersebut :


 

Dari perhitungan diatas dapat disimpulkan bahwa setiap 4,88 mV data analog dari potensiometer akan dirubah atau dikonversi menjadi data desimal bernilai 1. Apabila potensiometer bergerak ke 20% dengan perhitungan 20 x 50 mV yaitu 1.000 mV atau sebesar 1 Volt, maka nilai desimalnya adalah 1.000 mV : 4,88 mV = 205. Nilai desimal 205 merupakan sebagian dari nilai maksimal 1024.

Untuk menuju output kita menggunakan pin 11 yang merupakan salah satu dari pin Digital PWM milik Arduino Nano. Berikut ini adalah data pin Digital PWM dari Arduino Nano :



Pemilihan Pin 11 dengan pertimbangan bahwa pin tersebut merupakan pin terluar dari Arduino Nano, sehingga mudah untuk pemasangan ke driver output. Selain itu juga merupakan salah satu pin dengan frekuensi paling rendah. Sehingga tidak mudah merusak komponen optocoupler di bagian driver output. Frekuensinya adalah 490 Hz, artinya dalam 1 detik pin tersebut mengeluarkan 490 kali gelombang penuh PWM. 

 

Dikarenakan pin digital PWM tersebut hanya mampu bekerja di bilangan desimal 8 bit yaitu pada range 0 – 255. Dalam bilangan desimal 8 bit, angka 0 ini adalah awal permulaan hitungan. Jadi total nilainya ada 256. Maka, default bilangan desimal ADC yang bernilai 0 -1023 tersebut harus dirubah dengan hitungan sebagai berikut :


Dari perhitungan diatas dapat disimpulkan bahwa setiap 19,53 mV data analog dari potensiometer akan dirubah atau dikonversi menjadi data desimal bernilai 1. Apabila potensiometer bergerak ke 20% dengan perhitungan 20 x 50 mV yaitu 1.000 mV atau sebesar 1 Volt, maka nilai desimalnya adalah 1.000 mV : 19,53 mV = 51. Nilai desimal 51 merupakan sebagian dari nilai maksimal 256.


Berikut ini adalah Code Programnya :


/***************************

PWM Signal Controller with Arduino Nano (Sinyal PWM Kontroler dengan Arduino Nano)

Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com

Copyright @2021

****************************/ 


#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

byte Potensiometer = A1;
byte Pin_Out = 11;
int Output;
int PWM_Value;
int DutyCycle;

void setup()
{
  Serial.begin(9600);
  lcd.init(); // initialize the lcd
  lcd.backlight();
  pinMode(Potensiometer, INPUT);
}

void loop()
{
  Output = analogRead(Potensiometer);
  PWM_Value = map(Output, 0, 1023, 0, 255);
  DutyCycle = PWM_Value/2.56;
  analogWrite(Pin_Out, DutyCycle);
  lcd.setCursor(0, 0); //baris pertama  
  lcd.print("Freq: ");
  lcd.print("490 Hz");  
  lcd.setCursor(0, 1); //baris kedua
  lcd.print("DutyCycle: ") ;
  lcd.print(DutyCycle);
  lcd.print("%      ");
  delay(2);
}


Perhitungan dan penjelasan diatas apabila di implementasikan ke dalam Code Program adalah sebagai berikut :

 

 

Dalam konsep sinyal PWM ada yang namanya Duty Cycle. Definisi Duty Cycle adalah representasi dari kondisi logika high dalam suatu periode sinyal dan di nyatakan dalam bentuk (%) dengan range 0% sampai 100%, sebagai contoh jika sinyal berada dalam kondisi high terus menerus artinya memiliki duty cycle sebesar 100%. Jika waktu sinyal keadaan high sama dengan keadaan low maka sinyal mempunyai duty cycle sebesar 50%

 

Aplikasi penggunaan PWM biasanya ditemui untuk pengaturan kecepatan motor dc, pengaturan cerah/redup LED, dan pengendalian sudut pada motor servo. Contoh penggunaan PWM pada pengaturan kecepatan motor dc semakin besar nilai duty cycle yang diberikan maka akan berpengaruh terhadap cepatnya putaran motor. Apabila nilai duty cylce-nya kecil maka motor akan bergerak lambat.

 

Cara menghitung Duty Cycle pada project ini menggunakan rumus sebagai berikut :

 

 

Implementasi ke dalam Code program adalah sebagai berikut :