Monday 23 February 2015

HARDWARE :: sensor api pengganti UVtron dan Thermal array


 
UVtron, Thermal Array, IR camera
yaitu pake remotenya nintendo wii.
  

remote wiimote dari nintendo
sensor api paket hemat dari remote wii ini rupanya cuman setengah harga dari UVtron+driver loh (kalo pake harga batam).
  
 
pada bagian depan dari remote ini memiliki kamera infra merah dengan spesifikasi berikut:
1. kamera resolusi 1024×768
2. Up to 4 blob (cahaya IR terang melebihi thresholdnya)
3. 100 proses gambar perdetik
3. interfacing i2c
4. output i2c berupa koordinat dari 4 blob tersebut.
wiring cameranya:
Jika menggunakan crystal quartz (4kaki) :
 
jika menggunakan crystal resonator (2kaki) perhatikan yang didalam kotak ya
 
bentuk jadinya
    
yang keren dari internet, yang tengah / yang jelek itu punya saya
cuman lum dilanjutkan, timahnya habis trus resistor ma capasitor ada dibawah pcb :p
setelah itu tinggal dihubungkan ke arduino dan pasang kaca hitam bawaannya.
jika ingin pakai library arduinonya download PVision.zip  ubah ke ZIP ya
tapi jika gak mau pakai library, ini contoh akses IR kamera nya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// Wii Remote IR sensor  test sample code  by kako
// modified output for Wii-BlobTrack program by RobotFreak
 
#include
 
int IRsensorAddress = 0xB0;
int slaveAddress;
int ledPin = 13;
boolean ledState = false;
byte data_buf[16];
int i;
 
int Ix[4];
int Iy[4];
int s;
 
void Write_2bytes(byte d1, byte d2)
{
    Wire.beginTransmission(slaveAddress);
    Wire.send(d1); Wire.send(d2);
    Wire.endTransmission();
}
 
void setup()
{
    slaveAddress = IRsensorAddress >> 1;   // This results in 0x21 as the address to pass to TWI
    Serial.begin(38400);
    pinMode(ledPin, OUTPUT);      // Set the LED pin as output
    Wire.begin();
    // IR sensor initialize
    Write_2bytes(0x30,0x01); delay(10);
    Write_2bytes(0x30,0x08); delay(10);
    Write_2bytes(0x06,0x90); delay(10);
    Write_2bytes(0x08,0xC0); delay(10);
    Write_2bytes(0x1A,0x40); delay(10);
    Write_2bytes(0x33,0x33); delay(10);
    delay(100);
}
void loop()
{
    ledState = !ledState;
    if (ledState) { digitalWrite(ledPin,HIGH); } else { digitalWrite(ledPin,LOW); }
 
    //IR sensor read
    Wire.beginTransmission(slaveAddress);
    Wire.send(0x36);
    Wire.endTransmission();
 
    Wire.requestFrom(slaveAddress, 16);        // Request the 2 byte heading (MSB comes first)
    for (i=0;i    i=0;
    while(Wire.available() && i < 16) {
        data_buf[i] = Wire.receive();
        i++;
    }
 
    Ix[0] = data_buf[1];
    Iy[0] = data_buf[2];
    s   = data_buf[3];
    Ix[0] += (s & 0x30) <    Iy[0] += (s & 0xC0) <
    Ix[1] = data_buf[4];
    Iy[1] = data_buf[5];
    s   = data_buf[6];
    Ix[1] += (s & 0x30) <    Iy[1] += (s & 0xC0) <
    Ix[2] = data_buf[7];
    Iy[2] = data_buf[8];
    s   = data_buf[9];
    Ix[2] += (s & 0x30) <    Iy[2] += (s & 0xC0) <
    Ix[3] = data_buf[10];
    Iy[3] = data_buf[11];
    s   = data_buf[12];
    Ix[3] += (s & 0x30) <    Iy[3] += (s & 0xC0) <
    for(i=0; i    {
      if (Ix[i] < 1000)
        Serial.print(" ");
      if (Ix[i] < 100)
        Serial.print(" ");
      if (Ix[i] < 10)
        Serial.print(" ");
      Serial.print( int(Ix[i]) );
      Serial.print(",");
      if (Iy[i] < 1000)
        Serial.print(" ");
      if (Iy[i] < 100)
        Serial.print(" ");
      if (Iy[i] < 10)
        Serial.print(" ");
      Serial.print( int(Iy[i]) );
      if (i        Serial.print(",");
    }
    Serial.println("");
    delay(3);
}
sumber:
https://handritoar.wordpress.com/2011/11/28/sensor-api-paket-hemat-tapi-efisien/
.

Arduino: Membaca Data Jarak Menggunakan Modul Sensor Ultrasonik PING Parallax


Pada tutorial ini digunakan software Arduino 1.0.1 yang merupakan versi terbaru IDE Arduino. Namun tak hanya menggunakan versi terbaru, sebagai perbandingan, digunakan juga IDE Arduino-0022.
Pada kedua versi Arduino tersebut terdapat contoh program sensor PING yang dapat langsung diuji-coba tanpa modifikasi atau dengan sedikit modifikasi. Untuk praktisnya, kita akan merangkai Starduino Board dan PING Parallax sesuai dengan contoh program PING yang tersedia pada IDE Arduino.


starduino_ping_parallax400

Rangkaian Starduino + PING Parallax
Modul sensor ultrasonik PING buatan Parallax memiliki 3 kaki yakni: GND5V, dan SIG. Gambar di bawah ini menunjukkan koneksi modul PING dengan Starduino Board.

starduino_ping_diagramb
Kaki SIG dari modul PING dihubungkan dengan Pin-7 dari Starduino. Kaki GND dan 5Vdihubungkan ke GND dan +5V dari Starduino.
Setelah Starduino dan PING terangkai dengan benar, maka langkah selanjutnya adalah membuka sketch Ping yang telah tersedia pada contoh-contoh program bawaan IDE Arduino 1.0.1 maupun Arduino-0022 seperti ditunjukkan pada screenshot di bawah ini.
arduino_sensor_ping
Sebelum program ini kita upload ke Starduino, kita edit sedikit program Ping pada bagian tampilan data serial dan delay sebagai berikut:
   Serial.print("Jarak = ");
   Serial.print(inches);
   Serial.print("in, ");
   Serial.print(cm);
   Serial.print("cm");
   Serial.println();
   delay(500);
Baris perintah pertama yang bercetak tebal menambahkan tulisan ‘Jarak =’ sebelum menampilkan nilai jarak dalam inci dan centimeter. Perubahan program lainnya adalah parameter fungsi delay() yang awalnya bernilai 100 diganti menjadi 500.
Selanjutnya, kita lakukan upload program ke Starduino dan buka window Serial Monitor. Jika tidak ada kesalahan pada hardware dan komunikasi, maka Starduino akan melakukan pengukuran dan mengirimkan hasil pengukuran jarak ke PC melalui port serial.
LED pada modul PING akan berkedip setiap 1/2 detik sebagai tanda bahwa modul PING bekerja memancarkan suara ultrasonik. Teknik pengukuran jarak dilakukan dengan mengukur lebar-pulsa dalam satuan waktu yang menunjukkan lamanya waktu semenjak PING memancarkan suara ultrasonik hingga menerima pantulan suara ultrasonik, atau mengalami TIMEOUT. Selanjutnya, program menghitung jarak dalam inci dan centimeter menggunakan fungsi-fungsi berikut:
long microsecondsToInches(long microseconds)
{
  // According to Parallax’s datasheet for the PING))), there are
  // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
  // second).  This gives the distance travelled by the ping, outbound
  // and return, so we divide by 2 to get the distance of the obstacle.
  // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
  return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}
Berikut adalah tampilan window Serial Monitor yang menampilkan data yang dikirimkan oleh Starduino Board melalui port serial RS232.
starduino_ping_com1
Nah, sangat mudah bukan? Dengan dukungan contoh-contoh program dan library-library siap pakai yang disediakan oleh Arduino, kita dapat membuat prototipe sistem dengan sangat cepat. Tak heran jika Arduino mengklaim dirinya sebagai Rapid Prototyping Platform.
Tak hanya mudah, Arduino juga murah. Dan tak hanya murah, Arduino juga menerapkan kebijakan open-source untuk software dan hardwarenya, sehingga siapapun boleh membuat sendiri versi Arduino-nya masing-masing. Termasuk juga saya dengan versi Starduino yang masih berbasis ATmega8.
Dengan Starduino dan PING Parallax, kita dapat membuat berbagai aplikasi berbasis pengukuran jarak seperti monitoring level air, pengukur tinggi badan, sistem pengaman mesin potong, dan lain-lain.
Berikut adalah screenshot aplikasi monitoring level ketinggian air dalam tandon dan aplikasi pengukur tinggi badan berbasis Starduino dan sensor jarak ultrasonik PING Parallax. Program dibuat menggunakan VB.NET 2005 Express Edition.
starduino_ping_levelair
starduino_ping_tinggibadan


Read more: http://belajar-dasar-pemrograman.blogspot.com/2013/04/arduino-membaca-data-jarak-menggunakan.html#ixzz3SdNdM700

Monday 19 January 2015

ELEKTRONIKA :: Inverter DC 12V to AC 220 V 1000 Watt (multivibrator IC)


inverter1
Rangkaian inverter DC ke AC adalah didasarkan dari kerja astable multivibrator. Dalam rangkaian ini dipilih IC CD4047 sebagai jantung astable multivibrator karena jenis IC ini sudah memberikan tegangan output yang saling berlawanan fasanya (keluaran pada pin 10 dan 11), serta siklus kerja yang cocok yaitu sebesar 50 %.
Supaya arus keluaran dari multivibrator ini cukup besar untuk membangkitkan tegangan AC dengan daya yang besar pula, maka diperlukan rangkaian pensaklaran yang dalam rangkaian ini diperankan oleh mosfet IRFZ44. Arus keluaran dari IRFZ44 diumpankan ke trafo step up, sehingga akan diperoleh tegangan yang cukup besar pada keluarannya.

ELEKTRONIKA :: Inverter DC 12V to AC 220 V 500 Watt

INVETER2

Biasanya orang pengin membuat inverter untuk mengganti suplay listrik saat PLN padam.N so kita butuh suplay 220vac dari sumber batere yang cuma 12vdc,meskipun telah banyak rangkaian inverter akan tetapi masih bingung bagaimana membuat inverter untuk membackup konsumsi yang rata-rata 450watt.Padahal sebenarnya permasalahan adalah pada cara memilih Transformator dan sumber DC-nya, But Ok dibawah ini mari kita menghitung bersama-sama:
Rumus dasar : P(daya) = V(tegangan)xI(Arus)
DAYA INPUT TRAFO = DAYA OUTPUT TRAFO
Misalkan kita ingin daya output inverter 480 watt pada 220 Vac maka arus output menjadi 2,18 ampere, dan tentunya pada input 12 Vdc harus menggunakan 40 ampere. hal ini dari perhitungan:
220 volt x 2,18 ampere = 12 volt x 40 ampere

OTOMOTIF :: Rangkaian Pengapian Transistor Menggunakan FET IRF740


Rangkaian pengapian transistor dengan FET ini bermanfaat jika terjadi kerusakan pada transistor coil yang kebetulan signal input cukup kecil,sehingga diperlukan penguat signal agar bisa menggerakan Transistor switching.
Fungsi transistor FET disini adalah untuk rangkaian switching atau pensaklaran yang memutus dan menyambungkan arus listrik primer koil pengapian mobil.
Untuk gambar skema rangkaian pengapian transistor dengan FET IRF740, gambar skema rangkaian pengapian transistor ini Otomotif Qita kembangkan dari pengapian dengan full transistor yang bisa dilihatDISINI.Skema rangkaian sistem pengapian transistor dengan FetSedikit penjelasan tentang gambar skema rangkaian sistem pengapian dengan transistor diatas adalah sebagai berikut:
Ketika input IC LM358 tinggi pada kaki no 3 maka out put pada kaki no 6 dan 7 juga tinggi
Ketika input rendah atau 0 (nol) pada kaki input no 3 maka out put kaki 6 dan 7 juga rendah
Input tinggi bila pada ujung pulser magnetic bersentuhan dengan logam dan terbentuk tegangan beberapa milivolt atau saat pulser sedang tidak dihubungkan.
Input rendah bila pada ujung pulser magnet tidak bersentuhan dengan logam atau jika pada kaki input ditambahkan resistor contoh pada input di beri resistor 12 kilo ohm, baik dengan atau tanpa pulser input kaki ic no 3 tetap rendah, dengan catatan ujung pulser tidak bersentuhan dengan logam.
Ketika input sedang tinggi pada kaki no 3 IC LM358 output pada kaki 6 dan 7 juga tinggi, selanjutnya tegangan output IC mengalir menuju kaki Gate (G) pada IRF740 dan membuka saluran antara kaki Drain dan Source, maka arus listrik akan mengalir dari Koil yang tersambung dengan Drain (D) menuju Ground atau kaki Source (S) pada transistor FET.
Selanjutnya ketika input IC  LM 358 kaki no 3 rendah out put juga rendah, resistor yang terhubung dengan kaki Gate (G) pada gambar rangkaian diatas menggunakan resistor dengan nilai 1k2 ohm akan membuang muatan listrik pada Gate ke ground untuk menutup saluran antara Drain dan Source dan arus listrik tidak mengalir dari Koil menuju Ground, dan begitu seterusnya.
Berikut adalah beberapa komponen yang diperlukan sesuai dengan skema rangkaian pengapian transistor menggunakan FET IRF740 di atas:
1. Regulator tegangan LM 7812
2. Elco 100uf/35volt
3. IC LM358
4. Resistor 10 kilo ohm
5. Resistor 100 kilo ohm
6. Resistor 1200 ohm atau 1k2 ohm
7. Transistor FET IRF740
Khusus untuk IRF740 bisa paralel dua biji jika ada pesan error hight input voltage coil …., ini untuk Ecu mesin yang minta tegangan benar-benar presisi, karena Ecu mesin tersebut jika mendeteksi ada yang aneh pada bagian pengapian akan mematikan driver penggerak coil, sehingga efeknya malah tidak akan keluar api dari busi.

Friday 16 January 2015

DLL :: Pengertian File DLL (Dynamic Link Library)


Setelah pembahasan kita tentang Windows API 1 dan WIndows API 2maka materi ini adalah kelanjutan dari Windows API tersebut.  Kita sering melihat file berekstensi .DLL.  Apakah file DLL ?
File DLL (Dynamic Link Library) adalah file library windows, merupakan kode yang sudah dikompilasi dan dapat digunakan oleh program lain.  Jika kita meletakan fungsi sub rutin ke dalam dll, berarti fungsi tersebut dapat diakses oleh semua program pada saat yang bersamaan.  DLL biasanya ditulis dengan bahasa C/C++, Delphi atau bahasa lainnya yang mendukung sistem operasi windows.
Dengan memanggil fungsi yang terdapat dalam DLL, kita dapat mengakses ribuan fungsi yang berhubungan dengan sistem windows, dengan kualitas sebaik yang kita gunakan dalam bahasa yang kita gunakan.
Berikut adalah nama-nama library milik WIndows yang sering dan paling banyak digunakan dalam Windows API.
No
Nama File
Deskripsi File
1
Advapi32.dll
Library yang mendukung fungsi-fungsi keamanan dan rutin-rutin registry
2
Xomdilg32.dll
Standart kotak dialog windows
3
Gdi32.dll
Penanganan grafik Windows
4
Kernel32.dll
Fungsi sistem operasi windows 32 bit
5
Lz32.dll
Fungsi kompresi file
6
Mpr.dll
Fungsi internet
7
Netapi32.dll
Fungsi jaringan
8
Shel32.dll
Library shell 32 bit
9
User32.dll
Penanganan rutin user interface
10
Version.dll
Versi windows
11
Winmm.dll
Fungsi-fungsi multimedia windows
12
Winspool.drv
Fungsi-fungsi printer spooler
Yang perlu kita lakukan untuk menangani fungsi-fungsi dalam file library windows yaitu dengan menspesifikasikan di mana fungsi tersebut ditemukan dan menyediakan informasi yang dibutuhkan fungsi pada bagian pendeklarasian fungsi WIndows API.

sumber : https://trisnowlaharwetan.wordpress.com/2010/03/09/pengertian-file-dll-dynamic-link-library/

DLL :: cara mengedit file .dll (dinamic link library)



langkah-langkahnya sbb :

  • instal program PE-explorer atau resources tuner. (biasanya tidak bagus jika diinstal keduanya. jadi pilih salah satu saja, kalau bisa, ya sudah.)

  • backup file.dll yang asli (yang ingin dirubah) dengan cara copy-paste, jika di-protect oleh sistem, maksudnya file dll tersebut tidak bisa di copy, bisa menggunakan yang ini. tools tersebut akan menambahkan "add take ownership" pada conteks menu klik  kanan anda. file berekstensi .7z, bisa diekstrak menggunakan winzip atau 7zip. setelah itu, klik 2 kali file "add take ownership.REG" maka anda akan memiliki kuasa penuh untuk file-file system di windows setelah itu.
  • setelah di backup, klik 2 kali file.dll yang ingin dirubah.
  
disini saya mencoba merubah file.dll dari norton internet security. dimana diberi nama cssbase.dll

  • maka akan muncul jendela dari aplikasi PE-explorer. seperti ini :
 

  • itu adalah informasi umum dari file.dll . untuk melihat da mengedit isi-isinya, bisa klik "resource viewer/editor" yang ditunjukkan oleh tanda panah. maka akan muncul jendela baru yang berisikan file-file yang bersangkutan dengan file cssbase.dll itu.




itu adalah tampilan list tree dimana file-file terkelompokan didalam folder-folder tersebut.

baiklah, kita langsung mulai pengeditan.
pada tree folder html, terdapat banyak file gambar.png dimana itu adalah file-file kecil yang nantinya akan diakses dan disusun sehingga menjadi tampilan user interface dari program norton.



saya ingin mengganti background user interface norton internet security yang awalnya, ber-background seperti ini :



jadi saya harus mencari bagian file gambar.PNG yang mana yang cocok yang bisa dirubah agar sesuai keinginan.





 

  • bisa dilihat pada gambar diatas, bahwa saya telah menemukan file background norton IS dengan nama BACKGROUND_3.PNG. dimana gambarnya ditunjukan disebelah kanan (panah warna merah)
  • setelah itu ketemu, untuk mengedit, kita harus meng-copy / save as file tersebut (file BACKGROUND_3.PNG) ke luar dari file cssbase.dll ( misalnya ke desktop ) dengan cara klik kanan file tersebut, pilih "save resource as" (tanda panah kuning )
  • setelah file BACKGROUND_3.PNG di save as ke desktop, selanjutnya bisa di edit menggunakan aplikasi image processing, seperti photoshop,corel, dll. dan setelah selesai di edit, simpan dengan nama yang sama.( overwrite)
  • selanjutnya kita ke bagian memasukkan file yang telah diedit tadi ke dalam file cssbase.dll. dengan membuka kembali file.dll seperti cara diatas.
  • cari file BACKGROUND_3.PNG pada list tree folder html. selanjutnya klik kanan dan pilih "edit resource". maka jendela baru akan muncul.


  • klik gambar folder (tanda panah biru) setelah itu ok.
  • save, exit.
biasanya, jika file.dll yang ingin anda edit itu sedang digunakan oleh sistem (proses sedang bejalan) anda tidak dapat meng copy kan file editan anda dan mem-paste ke file.dll yang asli. jika tejadi seperti itu, anda bisa meng-copy nya lewat safe mode. dalam kasus peng-editan file cssbase.dll milik norton IS ini, saya harus masuk lewat safe mode untuk meng-copy pastekan nya dengan file cssbase.dll yang asli.
ingat, sebelum anda meng-overwrite file .dll yang asli di backup dulu.

jika berhasil, seteah di edit, hasilnya seperti ini.



sumber : http://rahindra.blogspot.com/2010/10/cara-mengedit-file-dll-dinamic-link.html