June 28, 2016 Bermano Reiko

Pindahin dari postingan lama gw di Forum 😀

Sudah pernah denger tentang Arduino kan yah?
buat yang belum, gw akan cerita singkat apa itu arduino.
Arduino adalah board micro-controller yang biasa dipakai dalam rekayasa robotik, drone, perangkat2 electro yang berhubungan dgn sensor, security, dan banyak sekali hal yang dapat diimplementasikan dengan arduino. dengan ukuran yg sangat kecil sekali (arduino nano yg gw pake ukurannya kurang lebih 2x4cm, seukuran mosfet avocado lah yah. kalo yg mini ukurannya lebih kecil lagi, kira2 setengahnya), board arduino ini selayaknya komputer micro yang bisa kita program, karena sudah dilengkapi dengan micro processor, memory, slot input dan output analog dan digital.

kelebihan arduino ini sendiri adalah bisa kita program dengan bahasa pemrograman C (midle level language) nggak seperti micro controller jaman dulu yg mesti di program dengan bahasa asembler (mungkin masih ada yg inget dengan istilah int21h, 0111110=A) ribet dah.
walaupun nggak segampang bahasa high level language sprt PHP, delphi dsb. tapi lumayan lah.. (kata temen gw perbandingannya bikin program dgn C itu kayak lagi camping nginep di tengah hutan, inget kasur di rumah.. hahaha..).
ard-nano4

Lha terus hubungannya dengan AEG apa?
ada banyak sekali fitur yang bisa kita implementasikan di AEG diantaranya:
-. Burst Control,
-. ROF control,
-. Resposif and secure Triger.
-. Counting BB in magazine, etc.

wah kalo burst control doang mah kan sudah ada [B]mosfet[/B] (buat yang belum tau mosfet, silahkan googling Mosfet for AEG)…!
Yups.. bener sekali.
tapi ada beberapa alasan gw lebih menyukai Arduino ketimbang mosfet.
1. Mosfet Harganya mahal boooo…. 😛
rata2 dipasaran local harga mosfet yg branded berkisar antara 700rb-an sampai jutaan,
sebagai pembanding arduino pro mini harganya di kaskus sekitar [B]40rb-an[/B],
yang kayak gw pakai arduino nano v3 gw beli sekitar 100rb-an. O iya gw lupa jelasin arduino ini banyak sekali tipenya yah masbro, begantuk dari spesifikasi processor, memori dsb.
sebagai pembanding arduino nano yg gw pakai dan arduino mini ini memiliki spek memori dan processor yg sama, tapi kalo yg nano dia sudah dilengkapi usb downloader, jadi kalo mau konek ke komputer tinggal colok
sedangkan yg mini mesti pakai downloader usb harganya sekitar 35rb-an
2. Arduino lebih powerful ketimbang mosfet.
Ya iyalah bro, wong biasa dipakai buat robot, ketimbang mosfet yang hanya serangkaian kompenen pengatur switch (yg sederhana lho yah :D), mosfet ga bisa buat ngatur ROF, hanya Burst aja kan yah.
dan arduino kan bisa kita kembangin lebih lanjut seperti menampilkan jumlah sisa peluru di magazine ke layar lcd contohnya sprt ini :
[youtube]-hWHi8JTIcI[/youtube]
dan masih banyak lagi. tergantung kreatifitas.
3. Lebih keren kan masbro, aEGnya bisa di configure lewat PC/laptop.
Temen gw lebih gila lagi, proyeknya dia bikin setir navigasi kapal feri pakai Android, via arduino ini.

nah sudah tau kelebihannya kan yah..
terus cara pasang, rangkaiannya, dan cara memprogramnya gimana?
cara pasang rangkainnya saya bilang cukup gampang kok, nggak ribet, dan nggak butuh pengetauan electronika yg gimana gitu.. 😀
bahkan nggak butuh bongkar2 gearbox.

Penjelasan lengkap, dan sample rangkaian serta source code sederhananya, diagram simple rangkaian/cara pasangnya seperti gambar dibawah ini.

2815780_20140916104258

Untuk implementasinya sendiri, tidak perlu bongkar gearbox, cukup buka dinamonya saja.
caranya potong kabel merah (+) dari batere, nah terus sisanya yang ke triger itu sambungin jadi T1(triger ground), lalu kabel merah yg dari triger ke dinamo dicopot, bikin sambungan lagi dan konekin jadi T2(triger input).
selebihnya liat gambar aja.
RL itu relay 5V, beli di toko electrik banyak harganya 5rb sampai 8rb perak

Untuk pin input dan output di arduinonya sendiri, ini bervariasi yah bro,
jadi suka2 aja mau pakai PIN no. berapa aja terserah, tinggal sesuaikan dengan coding programnya saja, sbg contoh disini saya outputnya pake pin 12, input pin 4.

sample source programnya gimana?

/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:

// variable
int lampu = 13;
int cnout = 12;//motor
int triger = 4;
int cycle = 250;
int burst = 3;
int rof = 1000;
// the setup routine runs once when you press reset:
// dijalankan sekali di awal
void setup() {
// initialize the digital pin as an output.
pinMode(lampu, OUTPUT);
pinMode(cnout, OUTPUT);
pinMode(triger, INPUT);
}

// the loop routine runs over and over again forever:
// tidak akhir
void loop()
{
int tombolbaca = digitalRead(triger); // baca kondisi pin input no 7
if(tombolbaca == HIGH) // periksa kondisi
{
for(int i=1;i<=burst;i++){
digitalWrite(lampu, HIGH);   // turn the LED on (HIGH is the voltage level)
digitalWrite(cnout, HIGH);
delay(cycle);               // wait for a second
digitalWrite(lampu, LOW);    // turn the LED off by making the voltage LOW
digitalWrite(cnout, LOW);
// wait for a second
}
delay(rof);
}
else // selain dari HIGHs
{
digitalWrite(lampu, LOW);
}
}

contoh diatas adalah contoh coding yg sangat basic, contoh prototype yg gw beberapa tahunyg lalu saat ngetest2.
program diatas akan menjalakan burst 3x dengan rof 3.

Lah itu programnya ngitung burstnya berdasarkan delay, nggak akurat donk??
namanya juga basic sample kan masbro, sebagai catatan yg terakhir gw bikin sudah jauh lebih komplek dari pada yg diatas.
kalo soal akurat, akurat sekali masbro, cuma masalahnya dengan metode/algoritma diatas, kita mesti tahu dulu time/waktu yg dibutuhkan untuk setiap cycle piston (diatas contohnya 250mili second) yg bisa kita dapat dengan pengetesan/ trial and error, atau menggunakan chrono, dimana apabila ROFnya 10, maka time untuk 1 cycle = 100ms.
kelemahannya adalah time cycle ini akan berbeda di setiap AEG, karena perbedaan batere, PER/spring, dan gearset.
kalo mau yg universal, bisa menggunakan metode seperti yg dipakai pada mosfet avocado:
baca dari current voltage dan amphere yg digunakan, peak/puncak ampere yg digunakan itu adalah batas 1 cycle piston, lalu valuenya disimpan di memory.
pada saat dinamo ngangkat per itu semakin ketekan pernya maka semakin besar daya dari batere yg dibutuhkan, makanya puncak daya yg digunakan adalah batas 1 cycle/shoot.
dengan methode ini, arduino yg kita bikin nantinya akan bisa universal di setiap AEG.

gitu dulu ah masbro.. nanti deh dilanjutin lagi ceritanya. 😀

Oh iya gw bikin thread ini bukan maksudnya ngajakin atau memprovokasi masbro2 sekalian untuk bongkar2 AEGnya yah,
khususnya buat yang belum mengenal arduino apalagi yg sama sekali belum ngerti bongkar2 AEG
Thread ini hanya sekedar share dan informasi saja,
gw tidak bertanggung jawab atas segala resiko, atau apapun akibat dari percobaan yg dilakukan.

USE AT YOUR OWN RISK!!!!

untuk masalah source code dan algoritma programnya mungkin gw nggak akan bahas lebih lanjut yah, bisa banyak cara dan metode/algoritma yg digunakan, bebas sama programmernya mau dibikin seperti apapun juga bisa, masbro2 sekalian bisa pelajari sendiri.
contoh diatas hanya sample sederhana saja, implementasi realnya bisa kita gunakan metode seperti avocado, misalnya untuk masuk ke menu setup/initial variablenya dengan menekan trigger selama 5 detik, atau kita bisa bikin switch langsung ke selector fire.

yang akan gw jelasin berikut ini adalah step by step programing arduinonya:

1. yang pertama download dulu editor/IDE arduinonya disini:
http://arduino.cc/en/Main/Software
editor ini begitu di download ga perlu install, tinggal langsung jalanin saja exe-nya. di editor ini juga sudah lengkap sample coding programnya untuk beberapa kebutuhan.
2. download driver arduinonya.
Kalo yang sudah pake windows 8, biasanya nggak perlu driver lagi,
tapi kalo yg masih pakai win 7 kebawah, drivernya bisa download dari:
http://www.wch-ic.com/
3. buka editor/idenya, lalu paste-kan source codenya (misalnya seperti diatas).
2815780_20140916065549
4. dengan posisi Board arduino terkoneksi lewat USB klik tombol upload.
maka programnya secara otomatis akan tersimpan di memory Arduino.
dan arduino siap digunakan
kalo pake yg mini, gunakan Usb downloadernya, kalo pake yg nano udah langsung colok. disarankan gunakan 2 tipe ini karena ukurannya kecil dan gampang masuk di popor AEG
5. pasang ke rangkaian AEG seperti diatas…
taraaaa… jadi dah 😛

mungkin sekian dari gw, kalo ada yg lain yg mau menambahkan dipersilahkan.. 😀

mengenai rangkaian electronika sebenernya gw sendiri nggak begitu paham yah, karena gw basicnya bukan orang electro yg gw pahami hanya sebatas yg gw jelasin diatas saja. jadi jangan tanya yang aneh2.. 😀