Semua Tentang Belajar Teknologi Digital Dalam Kehidupan Sehari - Hari

  • IC Timer 555 yang Multifungsi

    IC timer 555 adalah sirkuit terpadu (chip) yang digunakan dalam berbagai pembangkit timer, pulsa dan aplikasi osilator. Komponen ini digunakan secara luas, berkat kemudahan dalam penggunaan, harga rendah dan stabilitas yang baik

  • Ayo Migrasi TV Digital

    Kami bantu anda untuk memahami lebih jelas mengenai migrasi tv digital, apa sebabnya dan bagaimana efek terhadap kehidupan. Jasa teknisi juga tersedia dan siap membantu instalasi - setting perangkat - pengaturan antena dan distribusi televisi digital ke kamar kos / hotel

  • Bermain DOT Matrix - LOVEHURT

    Project Sederhana dengan Dot Matrix dan Attiny2313. Bisa menjadi hadiah buat teman atau pacarmu yang ulang tahun dengan tulisan dan animasi yang dapat dibuat sendiri.

  • JAM DIGITAL 6 DIGIT TANPA MICRO FULL CMOS

    Jika anda pencinta IC TTL datau CMOS maka project jam digital ini akan menunjukkan bahwa tidak ada salahnya balik kembali ke dasar elektronika digital , sebab semuanya BISA dibuat dengan teknologi jadul

  • Node Red - Kontrol Industri 4.0

    Teknologi kontrol sudah melampaui ekspektasi semua orang dan dengan kemajuan dunia elektronika, kini semakin leluasa berkreasi melalui Node Red

Selasa, 03 September 2013

Project: Digital Gear Indicator Untuk Suzuki Smash



Gear display di motor kamu masih jadul ? Hanya indikator lampu doang ? Kalau punya duit dan waktu lebih boleh nih dipraktekin. Ide ini muncul dari seorang pembaca blog yang ingin merubah dial digit Gear/Gigi motor Susuki Smash nya menjadi display 7 segmen. Sebenernya penulis agak merasa mubazir tapi bagi anak muda mungkin bisa membuat keren motornya...asal jangan ngawur aja perkabelannya ya ....


BAHAN-BAHAN :


  1. IC 4511 (CMOS BCD - 7 segmen decoder) 
  2. IC ULN2003 (Transistor array isi 7 transistor, bisa diganti dengan transistor NPN umum seperti 2N2222/BC337/9012 x 7pcs)
  3. 7Segmen Common Anoda
  4. Resistor 1K (7 pcs), 10K(3pcs), 100 ohm (3pcs)
  5. Dioda 1N4148 (10 pcs)
  6. PCB Lubang IC
  7. Solder, Timah, socket IC, Kabel wrapping dsb.




SKEMATIK




*)klik untuk memperjelas
**)Jika menggunakan transistor, tambahkan resistor 1K ohm pada tiap basis (biar awet)


PENJELASAN

Suzuki smash memiliki gear indicator berupa lampu kecil yang akan menyala sesuai sensor yg ada di dalam gearbox. Common atau simpul dari kesemua lampu indicator ini adalah 12v (+) dan sensor pada gear akan memberikan ground kepada lampu yang sesuai dan akan menyalakan lampu, sehingga untuk menterjemahkan ke dalam bentuk digital maka yang akan diteksi adalah perubahan dari 12v menuju 0v (ground). Jika lampu menyala atau sensor gear ON  maka tegangan 0 volt pada sisi (-) pada lampu harus diterjemahkan sebagai "AKTIF" oleh system, sedangkan ketika sensor gear mati dan lampu padam maka tegangan pada konektor lampu (-) akan mempunyai tegangan 12v dan system menterjemahkannya sebagai "MATI"

IC CMOS 4511 dipilih karena merupakan ic decoder biner ke 7 segment yang bekerja pada range tegangan 3-15 volt sehingga akan menghemat penggunaan regulator tegangan 5v apabila menggunakan IC TTL semaca 74LS47. Input dari ic ini berupa 4 bit binary coded decimal, dimana 4 bit ini mewakili angka 0-9 (9 = 1001). Karena gear yang diteksi hanya maksimum 4 + 1(netral) maka pemilihan binary cukup dengan memanfaatkan kombinasi dioda 1N4148 (dioda jenis lain pun ok). Dengan sifat dioda yang hanya satu arah maka kondisi biner yg dikehendaki dapat disusun.




Karena sifat output dari IC CMOS 4511 adalah active high , maka dibutuhkan 7 segmen Common Cathode. Akan tetapi Common Cathode memiliki kekurangan pada pengaturan keseragaman nyala segmen, jadi ketika banyak segmen maka dia nyala redup, sedangkan ketika sedikit segmen yg nyala maka led menyala terang sekali. Untuk itu kita memilih menggunakan 7 segmen Common  Anode dengan pertimbangan tiap segmen akan gampang diatur arus yang mengalir padanya menggunakan transistor. Kebetulan saja transistor yg dipakai NPN yang akan mendrive tiap segmen ke ground. Tambah klop lagi jika menggunakan ic transistor array ULN2003 sehingga urusan menyolder menjadi lebih simple.


HASIL

Dari percobaan diatas breadboard oleh pembaca yang memiliki ide awal, didapatkan hasil seperti berikut ini...







Saya tunggu hasil praktek dari pembaca lainnya dan dengan senang hati akan saya tampilkan pada blog ini.

SELAMAT MENCOBA


Share:

Rabu, 21 Agustus 2013

Papan Skor 2 Digit Dengan IC 4026

( post terdahulu terdeteksi malware ..jadi saya posting ulang )

Mau bikin papan skor sederhana ? gampang aja ..
kita manfaatkan project sederhana di posting terdahulu ,
yaitu memanfaatkan IC UP COUNTER CMOS 4026






IC CMOS ini sudah langsung bisa dihubungkan ke 7 segmen common katoda (negatif)

jika ingin membuat 2 digit lebih, maka kita cascade / hubung tingkat antar IC , jadi ketika IC pertama mencapai angka 5, maka output CO akan menjadi Low (0) dan ketika mencapai 0 akan menjadi High (1). perpindahan 0-1 akan mengakibatkan counter tambah 1 sehingga pin CO digit sebelumnya dapat menjadi input CLOCK ic dengan pembagian puluhan lebih lanjut

rangkaiannya seperti ini : 




hasilnya di PCB lobang kira2 seperti ini , dimana untuk menambah nilai counter dilakukan dengan pencet tombol



Untuk menjadi papan skor sederhana, maka dibuat 2 buah rangkaian yang serupa, dengan menambahkan tombol "reset" (PULL DOWN 4k7 ohm seperti rangkaian tombol UP tapi logikanya terbalik / reset saat high) dihubungkan ke pin nomer 15 tiap IC



jika memerlukan display yang lebih besar, dapat menggunakan 7 segment yg besar atau membuat sendiri dengan menyusun LED menjadi segmen yang ukurannya besar



selamat mencoba
Share:

Selasa, 20 Agustus 2013

Kenapa Harus Memakai Breadboard ? Ayo kembali ke dasar gan !



Jadul ... Tidak praktis .... Ribet ! Ya mungkin jika pembaca yang sudah dimanjakan dengan teknologi maju bolehlah berkata seperti ini. Coba anda mundur (time travel kalo mungkin) dan hidup di jaman tahun 70-an ketika komputer baru bersifat experimental maka  breadboard atau projectboard merupakan barang yang paling penting yg harus dimiliki oleh seorang insinyur elektronika. Apalagi simulasi rangkaian elektronika komputer jaman jadul harus dilakukan di sebuah datacentre dengan komputer time-sharing dan semuanya bermodel teks ! Ya.... leluhur software proteus di masa itu sudah ada loo ..tapi semua rangkaian kudu dibayangkan diotak dan output berupa printout angka-angka yang tebalnya bisa beratus halaman. Jadi singkatnya biar anda lebih tertarik, steve wozniak menciptakan komputer Apple 1 diatas breadboard !

"Seorang pecinta elektronika sejati memulai sesuatunya dari nol "...kata-kata seorang insinyur senior di laboratorium sebuah kampus selalu memotivasiku untuk mengetahui sesuatunya "from scratch". Sudah jarang ditemui anak muda yang bermain ic timer 555 + 4017 atau membuat sirene memakai LM358 , hampir semua anak muda dari desa sampe metropolis sekarang tinggal merengek ke orang tuanya untuk dibelikan gadget. Lalu terpikirkan oleh mereka ngapain bikin led kedip atau text berjalan karena toch di iphone mereka tinggal download aplikasinya. Sah-sah saja sih tapi asal anak muda ini ketahui saja kalo gadget impor ini menggunakan 100% komponen dari china, walau ada seorang menteri yg  berkoar kalau orang Indonesia bisa membuatnya dengan 100% bahan-bahan lokal. Bagaimana mau lokal kalo anak mudanya menyolder saja tidak bisa ?
Ternyata Di SMK 3 GORONTALO masih menggunakan Pembelajaran via breadboard


BENCI ARDUINO ....

Pernah beberapa waktu yang lalu penulis berdebat dengan seseorang yang merupakan pendukung platform nono (sebutan saya pada arduino). Hak setiap orang untuk memilih jalan untuk mendapatkan ilmu microcontrollernya, apakah itu melalui minimum system atau memakai system nono. Akan tetapi kebencian ini semakin terasa ketika mengingat trick kapitalis yang ingin diterapkan oleh pembuat si nono. Ini terjadi ketika ada seseorang pembaca yang  kebingungan dengan pesanan shield arduinonya yang belum datang dari amrik padahal deadline tugas semakin dekat. Apa yg terjadi ? Padahal tugas itu hanya simple saja ...hanya komunikasi ke sensor suhu dan kemudian dikirim via sms. Dan karena dia terpatok dengan contoh yang gratisan di share di internet tapi shield GSM nya kudu pesen ya bingunglah dia. Coba bayangkan kalau memakai plaform standar avr maka dengan bermodalkan HP/Modem wavecom buat jualan pulsa maka ga perlu susah-susah memesan dari luar dengan biaya kirim yg ga masuk akal.


Raspbery Pi ? Beli aja laptop kosongan lalu instal linux ..

Yang ini lebih parah lagi, mungkin karena latah atau ikut trend aja yang lagi rame, maka berbondong2 mahasiswa yang berduit membeli kit yang harganya memang murah. Tapi setelah saya perhatikan maka raspbery merupakan salah satu produk yang booming karena social media saja. Rame-rame mendownload firmware dan ada yang bangga karena hardisk yg ditancapkan penuh setelah download film via torent. Kalau fungsinya seperti ini sebaiknya beli aja laptop 2 jutaan toh sama saja hasilnya dan kalau butuh duit bisa digadaikan. Raspbery pi ? Alat ini powerfull jika kamu ingin belajar sinyal processing yang butuh 2 semester untuk belajarnya,.


Jangan Emosi Gan..





Tulisan ini hanya merupakan ajakan kepada pembaca diluar sana yang ingin belajar microcontroller untuk kembali melihat nilai-nilai dasar dari perancangan suatu system. Tentunya saya tidak menganjurkan untuk membuang arduino atau raspi kamu, semua alat yg dibeli itu bagus asal jangan lupa cara membaca nilai suatu komponen diskrit (resistor , kapasitor, induktor) atau jangan sampai lupa cara menentukan kaki nomer 1 dari ic 555. Apa yang akan kamu lakukan jika hanya bisa menunggu barang yang harus dipesan dan butuh waktu menunggu  ? Jika kreativitas diutamakan maka semua dapat dibuat dengan memanfaatkan barang yang ada disekitarmu 
Share:

Minggu, 18 Agustus 2013

Instalasi DT HiQ AVR-51 (AVRISP MK2) - AVRSTUDIO - Jungo untuk WIN 64 bit




Bagi kamu yang kebingungan setelah membeli downloader DT-Hiq AVR51 (versi AVRISP MK2) sedangkan komputer yang digunakan WIN 64 bit, berikut saya bagi langkah-langkah yang sebenarnya sudah banyak di share di internet. Tapi buat para pembaca setia yang belum bisa ga ada salahnya kita bahas lagi disini.

Berikan power ke programmer AVR ISP MK2 melalui baterai atau adaptor yg tidak melebihi 5v sehingga led power menyala. Bisa juga menyambung langsung ke rangkaian target sehingga bisa langsung melanjutkan ke proses pemrograman.


Jika tidak menggunakan rangkaian, maka cukup memberi tegangan (+) ke pin header no 2 dan tegangan (-) / Ground ke header pin no 4. Setelah Led hijau menyala maka port usb dapat dicolokkan ke PC/Laptop.



Jika menggunakan win32 biasanya saat instalasi avr studio maka otomatis diberi pilihan untuk menginstal jungo, sedangkan jika menggunakan win64 maka avrstudio versi lawas tidak menyediakan drivernya dan bisa di download disini lalu diextract ke hardisk. Jika menggunakan Atmel Studio 6 sebenernya driver jungo ada di instalasi hanya saja hardwarenya tidak akan kedetect sehingga perlu di "ADD LEGACY HARDWARE" seperti pada gambar di device manager berikut:




Lanjut klik next dan select "Install the hardware, that I manually select from a List (Advanced)" , lalu select "Show All Devices" dan click on "Have disc" dan arahkan ke  "C:\Program Files (x86)\Atmel\AVR Tools\usb64\windrvr6.inf" atau folder tempat extract hasil download sebelumnya.


Pilih "WIN DRIVER" dan kemudian tinggal melanjutkan klik next-next saja. Jika Instalasi benar akan muncul seperti gamabr dibawah serta LED merah (status) pada programmer akan menyala


Selanjutnya AVRSTUDIO dan programmer DT-HiQ yang kamu beli dapat digunakan seperti biasanya.

Untuk yang lebih suka menggunakan AVRDUDE untuk melakukan programming maka perlu menginstal libusb 64 bit yang bisa didownload disini. Selanjutnya tutorial menggunakan AVRDUDE bisa dibaca disini.


SELAMAT MENCOBA ...
Share:

Selasa, 13 Agustus 2013

Software Teks Berjalan (News Ticker) Penjadwal dan Iklan untuk TV Komunitas - TV Kabel - TV Hotel - Media Promosi



---=====UPDATE==-----

Untuk versi 2019 dapat dibaca di 

----====================================---


Kreasi terbaru dari aisi555 ini merupakan sebuah pengembangan dari system display informasi yang telah dikembangkan selama hampir kira-kira 4 tahun belakangan. Sebelumnya system display hanya diperuntukkan sebagai media informasi ditempat umum seperti halnya ruang tunggu, ruang publik, sekolah dan lain sebagainya. Untuk kepentingan yang hampir serupa maka pengembangan dilakukan untuk membuat system display ini agar bisa dibuat broadcast ke siaran tv baik siaran tv komunitas , tv kabel, CATV hotel atau lain sebagainya.









FEATURE UTAMA :
  1. Video Player , berupa playlist dari  beberapa file video dengan fasilitas unggulan berupa penjadwal video pada waktu ditentukan. Semisalnya setiap hari  jam 12:00 di set memutar berita olahraga, maka playlist yang sebelumnya akan langsung di cut/interupsi oleh berita. Kemudian bisa juga berdasarkan hari penayangannya (contoh : film kartun tiap senin jam 16:00) atau jika ingin menyiarkan adzan bisa juga dijadwalkan sesuai waktunya. Setelah file berita atau adzan selesai diputar maka video yg diputar kembali ke playlist awal. Inputan dari siaran televisi, parabola  atau AV Input juga dapat dilakukan dengan bantuan TV TUNER.
  2. Teks scroll/berjalan yang biasanya disebut news ticker dengan posisi dan arah yang dapat diatur.
  3. Gambar logo, grafik dan slideshow untuk informasi tambahan juga cocok untuk iklan gambar
  4. Penanda waktu (Jam & Tanggal)

Contoh Software Editor



KEPERLUAN HARDWARE / SOFWARE

Aisi555 hanya menyediakan Software sedangkan Hardware disediakan pembeli/broadcaster yang berupa:

  1. Komputer PC standar dengan kemampuan extended display (via VGA/HDMI/S-VIDEO) yang kemudian akan dihubungkan ke perangkat mixer / combiner / broadcast 
  2. Software Windows (xp/vista/7/8) dengan versi yang mampu extended display (jangan vesi basic)
  3. Software Flash Player
  4. Software VLC

contoh display yang lain



CARA PEMBELIAN

  1. Desain layout tampilan sepenuhnya diserahkan ke pembeli dan setelah disepakati akan dikirimkan demo (melalui upload via internet) 
  2. Setelah perbaikan dan kesepakatan desain maka akan diadakan transaksi melalui bank
  3. Pembeli menentukan 1 buah komputer yang akan dipakai dan software akan di lock hanya untuk pc itu saja
  4. Proses selanjutnya pembeli akan mendownload software yang license via internet
  5. Jika terjadi kerusakan dan perubahan desain maka dilayani sampai waktu yang disepakai sebelumnya

CONTOH PEMASANGAN



Trims buat pemilik tv komunitas SYLVA CHANNEL 



KONTAK

 Untuk informasi harga dan penawaran silahkan hubungi kami :

 HP : 081331339072
 WA : 08155737755
 Mail : ahocool@gmail.com


DEMO

Dapat di unduh di alamat : http://goo.gl/oaL1c


SELAMAT MENCOBA 
Share:

Senin, 12 Agustus 2013

Hobby Microcontroller Itu Mahal ? Kreativitasmu Itu yg Mahal Gan !


Judul diatas saya kutip dari keluh kesah seorang pembaca yang meminta saya untuk menurunkan harga paket belajar yang dijual disini. Saya kemudian mencoba menanyakan apakah dia serius untuk belajar atau hanya mengetes kesabaran saya saja. Padahal paket belajar yang saya susun komponen beserta tutorialnya tidaklah mengambil untung margin komponen modul yang besar. Semangat saya dalam menyebarkan ilmu yg dulu saya dapatkan dengan perjuangan menghilangkan segala keinginan untuk mengeruk keuntungan.


KREATIVITASMU LEBIH MAHAL !

Lanjut ke cerita pembaca tadi, saya kemudian melakukan komunikasi via ym ke dia dan dalam percakapan saya menganjurkan agar dia menyicil membeli komponen. Tapi ada daya anak muda yang rasa ingin tahunya tinggi maka jika terpotong-potong maka rasa bosan dan tidak sabar muncul. Dan saya keluarkan ajian pamungkas saya dalam belajar microcontroller 10 tahun yang lalu dengan TANPA KELUAR UANG !


  1. Kuatkan niat, tebalkan mental (+ muka) kalo ga sanghup ya DISHANGGUP-SHANGGUPIN (ala the comment net. TV)
  2. Mencari incaran teman sekampus yang sekiranya tajir tapi rada bloon , atau mencari sekiranya kapan si teman yg mengambil matakuliah atau praktikum ini lulus kuliah microcontroller. Kamu tidak usah mengambil semester ini dan diganti semester berikut dengan harapan modul dan komponen microcontroller punya si teman sudah selesai dipakai dan bisa di "pinjem" atau paling apes diobral murah.
  3. Jika mengandalkan teman yang bloon, kita sok pinter aja.. (harusnya sih pinter beneran) kemudian menawarkan jasa untuk mengajari si bloon tentang microcontroller dengan jaminan semua tugasnya akan dibantu. Paling jitu lagi suruh aja si bloon liburan keluar negeri (kan tajir) kemudian tugas2nya kamu yang ngerjain. 
  4. Hunting modul belajar yang biasanya dimiliki oleh laboratorium, nah yang ini pengalaman penulis harus menjadi tukang bersih-bersih di LAB agar bisa meminjam modul belajar FPGA kesayangan milik dosen.
  5. Meng-Inden komponen bekas punya kakak kelas yang mau lulus skripsi. Karena Euforia kelulusan maka sang kakak kelas akan cenderung merelakan komponen yang sekotak besar itu ditinggal di LAB. Tungu sampe dia lupa mengambil (karena sudah diluar kota) atau main bersih dengan menawarkan jasa penitipan..."mas ..barang2 mas saya amankan ya..kapan2 bisa diambil di loker saya". Dijamin kakak kelas itu akan sibuk dengan urusan test dan wawancara kerja...(ini terjadi pada saya...)






Bagaimana jika kamu bukan mahasiswa dan belajar sendiri ? Ya tidak ada jurus lain selain menabung yang rajin. Tapi ini ada tips juga kok yang dinamakan TIPS BELAJAR SENDIRI DENGAN HEMAT.

  1. Rajin-rajin mantengin website-website elektronika (terutama produsennya) jaga-jaga ada penawaran komponen sample gratis. Penulis pernah mendapat sampel ic TTL 74xx lengkap hanya dengan mengisi survey. Bahasa inggris yang lumayan sangat dianjurkan.
  2. Inventaris semua komponen dari yang kecil sampai yang besar. Kumpulkan dalam box atau dengan plastik klip dan hitung jumlahnya pada sebuah catatan (di kertas boleh ..di HP aja aman..di komputer lebih lega). Tujuannya adalah menjaga kemungkinan terbelinya komponen yg berulang padahal masih ada stok. Penulis sangat kurang dalam hal catat mencatat makanya ada beberapa komponen yang tidak perlu tapi jumlahnya seabrek.
  3. Berburu ke tempat loakan, coba hunting mesin VCD lawas atau komputer bekas dan cari komponen yang sekiranya penting. Saran saya kumpulkan saja resistor dengan nilai antara (100-1K) cocok untuk tahanan LED , kemudian resistor (3K - 22K) cocok untuk pull up/down logic digital. Juga semikonduktor semacam Dioda , LED dan Transistor layak dikumpulkan. Selebihnya jangan diambil karena akan memenuhi tempat penyimpananmu. Kapasitor nilai dibawah 100nF pun bisa dikoleksi dari tukang loak, sedangkan untuk ELCO tidak disarankan karena biasanya semakin tua elektrolitnya bisa habis. Jangan sering menyimpan komponen induktor atau lilitan karena jarang berguna dan spacenya lumayan. Taukah kamu kalau HP bekas merek china didalamnya ada processor ARM yang opensource dan banyak sumber bacaan yang dapat digoogling


Nah....semua jurus sudah saya keluarkan, masih merasa mahal ? Kalau iya pertimbangkan saja untuk merubah jurusan kuliah atau mencari hobby lain seperti menjahit...Wah...mesin jahit mahal GAN ! Oooooppssss.....

Share:

Selasa, 06 Agustus 2013

Kreasi Pembaca: VU Meter Untuk Sound Level dengan ATMega8535 (Versi Digital)



Kreasi pembaca lanjutan dari tulisan sebelumnya merupakan penggabungan dari beberapa pembahasan mengenai penulisan ke lcd dan topik yang membahas tentang ADC (Analog To Digital Converter). Sinyal yang diterima oleh mic condenser kemudian dikuatkan dua kali oleh op-amp LM358 kemudian output yang berupa tegangan ini akan memberikan inputan menuju ADC port pada minimum system 8535. Sebelumnya alangkah baiknya kita ketahui dulu bagaimana response tegangan dengan suara yang tidaklah linear akan tetapi logaritmik.




Microcontroller 8 bit akan mengalami kesulitan jika dipaksakan berhitung di skala logarithmic (entah micronya yg bakal error atau kepala yg bikin script akan pusing hebat). Nah untuk itu kita akan mengambil sampling data sound level dari sebuah bunyi (tone generator) , kemudian kita ukur pada dbMeter yang difungsikan sebagai kalibrator. Pada saat yang bersamaan kita catat pula level pembacaan ADC yang keluar pada layar LCD minimum system. 

Karena sudah memakai minimum system maka rangkaian yg kita tampilkan hanya berupa penguat dari mic condenser.



Klik gambar untuk memperjelas gambar
*) VCC 5v tidak sebagai input, melainkan input dari supply 9-12v


Jika pembaca sudah terbiasa dengan pembahasan ADC ungkin akan sangat mudah tetapi tetap saja saya tempel scriptnya demi kemudahan bagi pembaca setia.


//Insisialisasi awal

#define F_CPU 4000000UL //frek minsys 8535 versi innovative
#include <string.h>
#include <avr/io.h>
#include <util/delay.h>
#include "lcd.h"

// silahkan baca pembahasan menulis di lcd
//fungsi untuk menulis angka ke ASCII LCD
void reverse(char s[]) 
{ 
   int c, i, j; 
    
   for (i = 0, j = strlen(s)-1; i < j; i++, j--){ 
      c = s[i]; 
      s[i] = s[j]; 
      s[j] = c; 
   } 
} 
void itoa(int n, char s[]) 
{ 
   int i, sign; 
    
   if ((sign = n) < 0) // record sign 
      n = -n;         // make n positive 
   i = 0; 
   do {   // generate digits in reverse order 
      s[i++] = n % 10 + '0'; // get next digit 
   } while ((n /= 10) > 0); // delete it 
   if (sign < 0) 
      s[i++] = '-'; 
   s[i] = '\0'; // add null terminator for string 
   reverse(s); 
}  


//insisialisasi ADC

void initADC()
{
ADMUX=(1<<REFS0);// Aref=AVcc;
ADCSRA=(1<<ADEN)|(1<<ADIE)|(7<<ADPS0);
MCUCR |= _BV(SE);  // Sleep Enable, jadi abis ini processor diturunkan loadnya
MCUCR |=_BV(SM0);  // mode ADC NOISE REDUTION
}


//Baca ADC, pilih pin portA yg diinginkan

uint16_t ReadADC(uint8_t ch)
{

   //Select ADC Channel ch must be 0-7
   ch=ch&0b00000111;
   ADMUX|=ch;

   //Start Single conversion

   ADCSRA|=(1<<ADSC);

   //Wait for conversion to complete
   while(!(ADCSRA & (1<<ADIF)));

   //Clear ADIF by writing one to it
   ADCSRA|=(1<<ADIF);

   return(ADC);

}


int main(void)
{


uint16_t baca,decimal,pecahan;
uint8_t a;

//inisialisasi port I/O 

//PORTC menuju LCD & BUzzer
//PC0=buzzer, dapat tidak digunakan
DDRC  |= (1<<PC0)|(1<<PC1)|(1<<PC2)|(1<<PC3)|(1<<PC4)|(1<<PC5)|(1<<PC6)|(1<<PC7);
//PC1=Rs PC2=R/W PC3= E PC4-PC7 = data lcd 4 bit
//inisialisasi LCD
lcd_init(LCD_DISP_ON);
lcd_clrscr();


initADC();
char dum; //dum = variabel sementara penyimpan angka


   while(1)
   {

      baca=ReadADC(1); //baca tegangan output op-amp
      lcd_clrscr();
      lcd_gotoxy(0,0);

    // baca merupakan binner 10 bit, range 0-5V
    // jadi binnernya 0-1023  
    
  // berikut ini untuk buat animasi level VU
 for(a=0; a< (baca/64); a++) 
    {

     if(a<16) lcd_putc(0xFF); //tulis kotak ke LCD sesuai level

 }

// yang ini penentuan level buzzer, gunakan sesuai keinginan 
    if(a>13) PORTC|=(1<< PC0);
 else PORTC &= ~(1<< PC0);

//buzzer dapat tidak digunakan

      
   decimal= (baca * 5)/1000 ;

   pecahan= ( ((baca * 5) - (decimal * 1000) ) /10);

// tampilan tegangan ke LCD
      lcd_gotoxy(0,1);
      lcd_puts("teg =");

      itoa(decimal,&dum);
   lcd_puts(&dum);
   lcd_putc(',');
      
       if(pecahan <10) lcd_putc('0');

      itoa(pecahan,&dum);
   lcd_puts(&dum);

   lcd_puts(" V    ");
  

      _delay_ms(100);  //delay pembacaan, ubah2 sesuai keinginan, makin cepet susah dibaca tapi makin realtime

   }


return 0;

}




Selanjutnya jika menginginkan perhitungan dB (desibel) dari level suara, maka kita buat tabel seperti contoh berikut :


dB P1 P2 P3 AVG BINER
45 2.09 2.22 2.12 2.14 429
50 2.12 2.25 2.19 2.19 437
47 2.15 2.27 2.21 2.21 442
48 2.18 2.31 2.22 2.24 447
49 2.25 2.32 2.23 2.27 453
51 2.28 2.34 2.24 2.29 457
52 2.32 2.35 2.26 2.31 462
53 2.36 2.37 2.27 2.33 467
55 2.41 2.39 2.29 2.36 473
56 2.47 2.42 2.31 2.40 480
58 2.53 2.44 2.33 2.43 487
59 2.56 2.46 2.34 2.45 491
61 2.57 2.48 2.35 2.47 493
62 2.59 2.49 2.37 2.48 497
65 2.60 2.53 2.41 2.51 503
67 2.62 2.54 2.43 2.53 506
68 2.63 2.56 2.44 2.54 509
70 2.66 2.58 2.47 2.57 514 



Dengan perolehan data seperti diatas maka dapat dilakukan pengambilan sample level db vs voltage(rata-rata) kemudian secara mudah dapat dilakukan menggunakan lookup array ataupun paling primitif menggunakan "IF ELSE" saja seperti contoh berikut:




  if( baca <= 429) lcd_puts("<45 dB");
  else if( baca > 429 && baca <= 437 ) lcd_puts(" 45 dB");
  else if( baca > 437 && baca <= 442 ) lcd_puts(" 50 dB");
  else if( baca > 442 && baca <= 447 ) lcd_puts(" 47 dB");
  else if( baca > 447 && baca <= 453 ) lcd_puts(" 48 dB");
  else if( baca > 453 && baca <= 457 ) lcd_puts(" 49 dB");
  else if( baca > 457 && baca <= 462 ) lcd_puts(" 51 dB");
  else if( baca > 462 && baca <= 467 ) lcd_puts(" 52 dB");
  else if( baca > 467 && baca <= 473 ) lcd_puts(" 53 dB");
  else if( baca > 473 && baca <= 480 ) lcd_puts(" 55 dB");
  else if( baca > 480 && baca <= 487 ) lcd_puts(" 56 dB");
  else if( baca > 487 && baca <= 491 ) lcd_puts(" 58 dB");
  else if( baca > 491 && baca <= 493 ) lcd_puts(" 59 dB");
  else if( baca > 493 && baca <= 497 ) lcd_puts(" 61 dB");
  else if( baca > 497 && baca <= 503 ) lcd_puts(" 62 dB");
  else if( baca > 503 && baca <= 506 ) lcd_puts(" 65 dB");
  else if( baca > 506 && baca <= 509 ) lcd_puts(" 67 dB");
  else if( baca > 509 && baca <= 514 ) lcd_puts(" 68 dB");
  else if( baca > 514 ) lcd_puts(">70 dB");



Hasilnya pada video berikut ...jangan terkejut alau kualitas video jelek dan ada suara latar yang sangat "menggetarkan hati..."





Dan seperti biasa kabar gembira muncul dari hasil bimbinganku ini, tugas akhir yang dibuat mahasiswi dari aceh ini mendapatkan nilai "A"  . Duh ...senangnya.....


SELAMAT MENCOBA
Share:

Senin, 05 Agustus 2013

Kreasi Pembaca: Vu meter Untuk Sound Level menggunakan IC LM 3914/5 (Versi Analog)



Masih ingat dengan kisah sukses mia dari aceh yang dibimbing penulis untuk tugas akhir ? Ternyata tidak hanya mia yang meminta saya untuk membimbing tugas akhirnya, ada seorang temannya mia yang juga meminta ide dari saya dan ide ini harus berhubungan dengan pengukuran suara. Awalnya saya terpikir untuk memberikan ide yang mudah saja karena jurusan kuliah yang mereka ikuti adalah jurusan fisika-mipa. Jadi kali ini saya hanya akan berkutat pada rangkaian analog. 

Teringat saya ketika saya SMA pernah membuat VUmeter dengan membeli kit jadi yang berbasiskan ic vu meter yang umum yaitu LM3914 atau LM3915. Ic ini cukup populer dikalangan penghobi elektronika karena dapat mempersingkat waktu desain dengan komponen yang sangat sedikit.



LM3914 umumnya digunakan pada display vu meter - led  untuk perangkat audio dan beberapa kreasi di google juga ada yg menggunakannya untuk mengukur tinggi air atau bahkan ada kreasi yang pernah saya baca digunakan sebagai pengukur isi tangki bensin kendaraan roda2. Kembali ke tugas akhir teman kita dari aceh ini, yang ingin diukur adalah level dari suara yang ditangkap oleh sebuah sensor. Sensor ini tidak lain adalah microphone dan yang saya pilih kali ini adalah microphone berjenis Mic Condenser.




Microphone jenis ini bersifat kapasitif dimana perubahan diafragma membran oleh gelombang suara akan menyebabkan kapasitansinya berubah-ubah. Untuk mengolah perubahan ini menjadi sinyal audio yang dapat diterima oleh ic LM3914 maka sinyal harus dikuatkan melalui transistor atau op-amp. Kali ini penulis memilih penguatan menggunakan op-amp LM358 (dual op-amp) yang cukup umum dipasaran walaupun response frekuensinya kurang bagus untuk diatas 5KHz.

LM358


Trus apa gunanya kalo hanya sebagai hiasan level suara dengan Led ? Ternyata rekan mahasiswi kita ini agak kebingungan karena ide yg pertama kali dia ingin capai adalah merancang alat sebagai alarm jika level suara tertentu dicapai. Semakin tidak masuk akal karena jika dilogikakan secara nalar anak SD ... apabila ada level suara yang melebihi batas itu pun sudah menjadi alarm tersendiri bagi telinga, betul tidak ? Telinga yang terhubung ke Otak merupakan sensor dan sistem alarm ciptaan Tuhan yang sangat sempurna....

Ahhh... tapi buat pembaca lainnya jangan dibuat bingung, alat ini cukup bagus kok apabila diletakkan di dekat speaker atau sound system, dengan kreasi Led warna-warni maka yang seperti di video youtube ini dapat juga dikreasikan dengan modal yang cukup murah.







Rangkaiannya cukup simple kok...ini nih saya kasi yaa...


(klik untuk memperbesar)


Kelanjutan dari tugas akhir teman dari aceh ini dilanjutkan dengan perubahan mendasar dengan menggunakan microcontroller. Yahhh..akhirnya barang yang powerful ini keluar juga karena si dosen pembimbing katanya tidak puas karena tidak ada penunjukan level dB dari suara pada suatu display. Mau tidak mau harus menggunakan microcontroller dan akan kita bahas pada tulisan selanjutnya.


SELAMAT MENCOBA
Share:

Senin, 29 Juli 2013

Tutorial: Jam 6 Digit + Kalender Dengan Attiny 2313




Siapkan bahan-bahan  seperti berikut:

Attiny 2313 + downloader isp
Bagian power supply

  •     Trafo AC atau Adaptor yang dapat diatur tegangannya
  •     Jika menggunakan Trafo AC, maka ubah-ubah terminal sekunder trafo untuk V Segmen
  •     7805 untuk menurunkan tegangan ke 5V
  •     Baterai backup 3v - 4.5 v

Dioda 1N4002 (4 + 1 )atau Dioda Bridge sebagai penyearah jika memakai Trafo AC
Capasitor 1000uF/25v , 100nF, 22pF (2buah) atau Varco 0-50pF
Resistor 10K (3 buah), 1K 2Buah
Led 4 buah sebagai pembatas digit
ULN 2003
OptoIsolator PC817 atau 4N25 atau yang sejenis (6 buah)
Xtal 4MHz atau sesuai keinginan
Push Buton tactile (2 buah)
7 segment common Anoda ukuran terserah (6 buah)


SKEMATIK




klik untuk memperjelas

Keterangan:


  1. Gunakan power supply berbeda (yang dapat diubah-ubah) untuk V SEGMEN sehingga dapat mengatur kecerahan dari 7 segmen
  2. Untuk mengkompensasi ketidak akuratan xtal, maka salah satu load cap dari xtal dibuat variabel
  3. Nilai Xtal yang digunakan disesuaikan dengan xtal yg tersedia dipasaran, jika berbeda maka silahkan baca pembahasan mengenai counter/timer disini.
  4. Baterai backup akan mencatu attiny jika listrik mati (tanpa display) sehingga time keeping tetap jalan.


SCRIPT


#define F_CPU 4000000UL //sesuaikan xtal yg dipakai
#include <avr/io.h>
#include <util/delay.h>
#include <avr/eeprom.h>
#include <inttypes.h>
#include <avr/interrupt.h>
#include <string.h>

uint8_t jam,menit,detik,bulan,tanggal,tahun,clock,menu,mode,blink; 
uint8_t a = 0;
char bul_max[12]={31,28,31,30,31,30,31,31,30,31,30,31} ;





//tampilan 7 digit 7 segmen dan animasi

void segmen(uint8_t digit)

{
    switch (digit)        
          {

  case 0 :  
     {

   PORTB &= ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB3)  & ~_BV(PB4) 
            & ~_BV(PB5)  & ~_BV(PB6);

            PORTB |= _BV(PB7);
   
   break;
           }
  case 1 :
     {
      
   PORTB &= ~_BV(PB2) & ~_BV(PB3);

            PORTB |= _BV(PB1)|  _BV(PB4)|  _BV(PB5)|  _BV(PB6)|  _BV(PB7);
   
   break;
           }
  case 2 : 
     {
   PORTB &= ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB7) & ~_BV(PB5) & ~_BV(PB4);

            PORTB |= _BV(PB3)|  _BV(PB6) ;
   
      break;
           }  
  case 3 : 
      {

   PORTB &= ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB3) & ~_BV(PB4) & ~_BV(PB7);

            PORTB |= _BV(PB5)|  _BV(PB6) ;
        
   break;
           }
  case 4 :
     {
      
   PORTB &= ~_BV(PB6) & ~_BV(PB2) & ~_BV(PB3) & ~_BV(PB7) ;

            PORTB |= _BV(PB4)|  _BV(PB5) |  _BV(PB1);
   
   break;
           }
  case 5 : 
     {

   PORTB &= ~_BV(PB1) & ~_BV(PB3)  & ~_BV(PB4) & ~_BV(PB7)  & ~_BV(PB6);

            PORTB |= _BV(PB2) |  _BV(PB5);
   
   break;
           }
  case 6 : 
     {

   PORTB &= ~_BV(PB1) & ~_BV(PB3)  & ~_BV(PB4) & ~_BV(PB7)  & ~_BV(PB6) & ~_BV(PB5);

            PORTB |= _BV(PB2) ;
   
      break;
           }
  case 7 : 
     {

   PORTB &= ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB3);

            PORTB |=  _BV(PB4)|  _BV(PB5)|  _BV(PB6)|  _BV(PB7);
   
      break;
           }  
  case 8 : 
     {
   PORTB &= ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB3)  & ~_BV(PB4) 
            & ~_BV(PB5)  & ~_BV(PB6)  & ~_BV(PB7);

      break;
           }
  case 9 : 
     {

   PORTB &= ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB3)  & ~_BV(PB4) 
             & ~_BV(PB6)  & ~_BV(PB7);

   PORTB |= _BV(PB5); 

      break;
           }
  case 10 :
     {
         PORTB |= _BV(PB1) |  _BV(PB2) |  _BV(PB3) |  _BV(PB4)|
                _BV(PB5) | _BV(PB6) |  _BV(PB7) ;

      break;
           }
  case 11 :
     {
         PORTB &= ~_BV(PB1);

      PORTB |=  _BV(PB2) |  _BV(PB3) |  _BV(PB4)|
                _BV(PB5) | _BV(PB6) |  _BV(PB7) ;
                

      break;
           }
  case 12 :
     {
         PORTB &= ~_BV(PB4);

      PORTB |=  _BV(PB2) |  _BV(PB3) |  _BV(PB1)|
                _BV(PB5) | _BV(PB6) |  _BV(PB7) ;
                

      break;
           }

  case 13 :
     {
         PORTB &= ~_BV(PB2);

      PORTB |=  _BV(PB4) |  _BV(PB3) |  _BV(PB1)|
                _BV(PB5) | _BV(PB6) |  _BV(PB7) ;
                

      break;
           }

  case 14 :
     {
         PORTB &= ~_BV(PB3);

      PORTB |=  _BV(PB2) |  _BV(PB4) |  _BV(PB1)|
                _BV(PB5) | _BV(PB6) |  _BV(PB7) ;
                

      break;
           }
  case 15 :
     {
         PORTB &= ~_BV(PB5);

      PORTB |=  _BV(PB2) |  _BV(PB3) |  _BV(PB1)|
                _BV(PB4) | _BV(PB6) |  _BV(PB7) ;
                

      break;
           }
  case 16 :
     {
         PORTB &= ~_BV(PB6);

      PORTB |=  _BV(PB2) |  _BV(PB3) |  _BV(PB1)|
                _BV(PB5) | _BV(PB4) |  _BV(PB7) ;
                

      break;
           }

      }

         PORTB =  _BV(PB0) | ~PORTB; //khusus memakai uln2003


}


//posisi scan digit

void posisi(uint8_t pos)

{
    switch (pos)   
    {
    case 0 :  
     {

            PORTD &=  ~_BV(PD0) & ~_BV(PD1) & ~_BV(PD4) & ~_BV(PD5)  & ~_BV(PD6) ;
   
   PORTB &= ~_BV(PB0);
               
   break;
           }

    case 1 :  
     {

            PORTD |= _BV(PD0);

            PORTD &= ~_BV(PD1) & ~_BV(PD4) & ~_BV(PD5)  & ~_BV(PD6) ;
   
   PORTB &= ~_BV(PB0);
               
   break;
           }

    case 2 :  
     {

            PORTD |= _BV(PD1);

            PORTD &= ~_BV(PD0) & ~_BV(PD6) & ~_BV(PD4)  & ~_BV(PD5) ;
   
   PORTB &= ~_BV(PB0);
               
   break;
           }

    case 3 :  
     {

            PORTD |= _BV(PD4);

            PORTD &= ~_BV(PD1) & ~_BV(PD0) & ~_BV(PD5)  & ~_BV(PD6) ;
   
   PORTB &= ~_BV(PB0);
               
   break;
           }


    case 4 :  
     {

            PORTD |= _BV(PD5);

            PORTD &= ~_BV(PD0) & ~_BV(PD1) & ~_BV(PD4)  & ~_BV(PD6) ;
   
   PORTB &= ~_BV(PB0);
               
   break;
           }

    case 5 :  
     {

            PORTD |= _BV(PD6);

            PORTD &= ~_BV(PD0) & ~_BV(PD1) & ~_BV(PD4)  & ~_BV(PD5) ;
   
   PORTB &= ~_BV(PB0);
               
   break;
           }


    case 6 :  
     {

            PORTB |= _BV(PB0);

            PORTD &= ~_BV(PD0) & ~_BV(PD1) & ~_BV(PD4) & ~_BV(PD5)  & ~_BV(PD6) ;
   
               
   break;
           }
         }

}


void animasi(void) //animasi pindah jam-kalender

{
     posisi(1);
     segmen(11);
  _delay_ms(50);
     posisi(2);
     segmen(11);
  _delay_ms(50);
     posisi(3);
     segmen(11);
  _delay_ms(50);
     posisi(4);
     segmen(11);
  _delay_ms(50);
     posisi(5);
     segmen(11);
  _delay_ms(50);

     posisi(6);
     segmen(11);
  _delay_ms(50);
     segmen(13);
  _delay_ms(50);
     segmen(14);
  _delay_ms(50);

     posisi(5);
     segmen(12);
  _delay_ms(50);
     posisi(4);
     segmen(12);
  _delay_ms(50);
     posisi(3);
     segmen(12);
  _delay_ms(50);
     posisi(2);
     segmen(12);
  _delay_ms(50);

     posisi(1);
     segmen(15);
  _delay_ms(50);
     segmen(16);
  _delay_ms(50);

}


void tulis(void) //tulis ke 7 segmen

{

     posisi(1);
 
 if(menu == 1 && TCNT1 < 20000) segmen(10); //edit jam
 else    segmen((jam/10));
  _delay_ms(1);
     segmen(10);


     posisi(2);
 if(menu == 1 && TCNT1 < 20000) segmen(10); //edit jam
 else  segmen((jam%10));
  _delay_ms(1);
     segmen(10);

 
 
     posisi(3);
 if(menu == 2 && TCNT1 < 20000) segmen(10); //edit menit
 else    segmen((menit/10));
  _delay_ms(1);
     segmen(10);


     posisi(4);
 if(menu == 2 && TCNT1 < 20000) segmen(10); //edit menit
 else    segmen((menit%10));
     _delay_ms(1);
     segmen(10);

     
  posisi(5);
 if(menu == 3 && TCNT1 < 20000) segmen(10); //edit detik
 else     segmen((detik/10));
  _delay_ms(1);
     segmen(10);

    
  posisi(6);
 if(menu == 3 && TCNT1 < 20000) segmen(10); //edit detik
 else    segmen((detik%10));
  _delay_ms(1);
     segmen(10);


}

void tanggalan(void)

{

     posisi(1);
  if(menu == 4 && TCNT1 < 20000) segmen(10); //edit tgl
 else   segmen((tanggal/10));
  _delay_ms(1);
     segmen(10);


     posisi(2);
  if(menu == 4 && TCNT1 < 20000) segmen(10); //edit tgl
 else    segmen((tanggal%10));
  _delay_ms(1);
     segmen(10);

     posisi(3);
  if(menu == 5 && TCNT1 < 20000) segmen(10); //edit bulan
 else    segmen((bulan/10));
  _delay_ms(1);
     segmen(10);


     posisi(4);
  if(menu == 5 && TCNT1 < 20000) segmen(10); //edit bulan
 else    segmen((bulan%10));
     _delay_ms(1);
     segmen(10);

     
  posisi(5);
  if(menu == 6 && TCNT1 < 20000) segmen(10); //edit tahun
 else    segmen((tahun/10));
  _delay_ms(1);
     segmen(10);

    
  posisi(6);
 if(menu == 6 && TCNT1 < 20000) segmen(10); //edit tahun
 else     segmen((tahun%10));
  _delay_ms(1);
     segmen(10);


}


//INTERUPT 1 DETIK

ISR(TIMER1_COMPA_vect) 

{ 


detik++;
clock++;


if(detik == 60)

{  
   detik=0;
   menit++;

if(menit == 60)

     { menit=0; 
       jam++;
     }

if (jam == 24) 

{ tanggal++; jam = 0 ; }

       
    if(tahun%4 == 0) bul_max[1]=29;
       else bul_max[1]=28; 

if (tanggal > bul_max[bulan-1]) {bulan++; tanggal =1 ;}

if (bulan > 12) {tahun++;  bulan=1; }



}




}


void tombol(void)
{

if(bit_is_clear(PIND, PIND2)) 
   { 

if(menu == 0) menu =1;

else if (menu == 1) menu=2;

else if (menu == 2) menu=3; 

else if (menu == 3) menu=4; 

else if (menu == 4) menu=5; 

else if (menu == 5) menu=6; 

else if (menu == 6) menu=0; 

 
_delay_ms(200);

 }




else if(bit_is_clear(PIND, PIND3)) 
   { 

if(mode==0 && menu == 0)
{ animasi();  
  mode=1; 
  clock=0; }

else if(mode ==1 && menu ==0)
{mode=0;
clock=0;
}


if(menu == 1) 
{ jam ++;
  if (jam == 24) jam =0;
}

else if(menu == 2) 
{ menit ++;
  if (menit == 60) menit =0;
}

else if(menu == 3) detik = 0;

else if(menu == 4) 
{ tanggal++;
  if (tanggal == 32) tanggal =1;
}

else if(menu == 5) 
{ bulan++;
  if (bulan == 13) bulan =1;
}

else if(menu == 6) 
{ tahun++;
  if (tahun == 100) tahun=0;
}


_delay_ms(200);

}


}

int main(void)
{



 
 DDRD |= _BV(PD0) | _BV(PD1) | _BV(PD4) | _BV(PD5) | _BV(PD6) ; //scan digit
 DDRB |= _BV(PB0) | _BV(PB1) | _BV(PB2) | _BV(PB3) | _BV(PB4) | _BV(PB5) | _BV(PB6) | _BV(PB7) ; //segment
 DDRD &= ~_BV(PD2) & ~_BV(PD3); //tombol
  

// ------------ini untuk xtal 4Mhz----------------------
   TCCR1B |= (1 << WGM12); 
   TIMSK |= (1 << OCIE1A); 
   OCR1A  = 62499;
   TCCR1B |= (1 << CS11)|(1 << CS10); 
//------------------------------------------------------

 

jam = 0;
menit= 0;
detik=0;
tanggal=1;
bulan=1;
tahun=11;
clock=0; //perpindahan animasi jam dan kalender
mode=0;
menu=0;

sei();



 while(1)
 {
     
     if(clock == 40 && mode == 1 && menu == 0)
    { animasi();}

  else if(clock > 40 && clock <50 && mode == 1 && menu == 0) 
       {
        
        tanggalan();
    }
     else if(clock == 50 && mode == 1 && menu == 0)

   { animasi(); clock =0; }
  
  else if(menu == 0)
  { tulis(); }

  else if(menu > 3)
  { tanggalan(); }

  else 
  { tulis(); }

         
tombol();   

    }
return 0;
}




ALTERNATIF UNTUK 7 SEGMEN LEBIH BESAR

Optoisolator PC817 mempunyai kekurangan yaitu dayanya kecil sehingga arus yg dapat dialirkan kecil saja. Hal ini akan menyebabkan 7 segmen besar menjadi redup sehingga perlu ditambahkan transistor yg memiliki daya lebih dan dengan rangkaian common Emiter menggunakan transistor PNP seperti BD140  dan PC817 sebagai control base nya (bisa juga transistor NPN 2N3906/2222)  dengan contoh rangkaian pengganti sebagai berikut:





HASIL




SELAMAT MENCOBA
Share:

Jumat, 26 Juli 2013

Kreasi Pembaca : Metal Detector MK-2 Untuk Skripsi



Beberapa pembaca blog ada yang sms atau mengkontak saya dan bertanya-tanya mengenai metal detektor yang saya bahas di blog ini. Ada yang pencari logam rongsokan, pencari emas dan ada juga yang meminta bantuan untuk merancang pendetektor logam di makanan ringan dan nasi kotak. Berapa pembaca saya tolak untuk pembahasan lebih lanjut karena alasan terlalu komersial dan menuntut realibilitas yang tinggi, dan saya lebih memilih ketika yang meminta bantuan adalah rekan-rekan pelajar smk atau mahasiswa.



Metal Detektor SBG-PI satu-satunya yang penah dibuat dan berfungsi !


Pada tulisan kali ini yang saya angkat adalah kreasi rekan dari aceh bernama mia, yang merupakan mahasiswi D3 jurusan fisika, dasar elektronikanya sedikit akan tetapi dia bersemangat untuk menyelesaikan skripsi yang judulnya dipilihkan oleh dosennya. Beberapa desain saya tawarkan seperti pulse induction dan BFO, akan tetapi yang paling reliable adalah MK-2 yang pernah dibahas disini . Kunci dari kesuksesan perancangan dan perakitan metal detektor MK-2 adalah pada penyusunan lilitan serta pada pemilihan potensiometer yang wajib menggunakan jenis muti turn sehingga ratio pemutaran knob dengan perubahan resistansi menjadi kecil.



 Mia dan teman-temannya

Dosen pembimbing dari rekan kita yang imut ini pada awalnya menuntut metal detektor yang lumayan canggih sehingga saya berpikiran mengajukan type metal detektor pulse induction yang saya dapat di forum thunting.com yaitu SBG-PI yang pernah dibahas disini. PCB yang lumayan besar saya rancang untuk memudahkan demo skripsi dan komponen pun telah dikirim,akan tetapi sang dosen pembimbing menolak dengan alasan yang kurang masuk diakal (padahal mungkin dia ga ngerti aja pulse induction itu apa). Dan bapak dosen memberikan rangkaiannya sendiri kemudian coba saya rangkai dan itupun tidak berfungsi dengan benar , mungkin karena ada komponen yang diganti sehingga respon frekuensinya tidak match.



Rangkaian BFO yang gagal total


Dan pada akhirnya kembali ke metal detector MK-2 yang menjadi penyelamat semuanya. Berikut ini hasil kreasi MK-2 yang telah di packing dan diberikan stick sehingga seperti alat penyapu ranjau. 






Dan beberapa waktu lalu saya dikontak oleh mia yang menyatakan dia lulus dengan nilai "A". Wahh...selamat yaaa....
Share:

Rabu, 17 Juli 2013

Trick: Solid State Relay dengan menggunakan Triac


Ketika kita menginginkan isolasi antar input dan output maka kita akan selalu teringat dengan Relay. Perangkat elektro magnet - mekanikal ini memanfaatkan isolasi dari suatu elektro magnet yang dihasilkan oleh suatu kumparan. Ketika suatu kumparan diberikan tegangan yang sesuai maka medan magnet yang dihasilkan dapat menarik suatu saklar mekanikal yang akan memutus atau menyambung arus listrik. Relay ini merupakan komponen yang penting dalam perkembangan awal komputer sebelum transistor diciptakan


Sifat mekanik dari kontaktor ini memiliki beberapa kekurangan yang dapat disebutkan antara lainnya kecepatan kontak, kelenturan mekanisme pir, keausan pergerakan kontaktor dan yang paling berbahaya disini adalah "spark" atau percikan yang dapat berbahaya dilingkungan yang combustible seperti pada tangki kendaraan bermotor atau kilang minyak bahkan percikan ini dapat menyebabkan kebakaran pada penyimpanan biji-bijian yang menghasilkan debu " grain dust " (silahkan baca di http://en.wikipedia.org/wiki/Dust_explosion).

Solusinya adalah menggunakan perangkat semikonduktor seperti halnya transistor. Secara sederhana transistor yang berfungsi sebagai switch tidak memiliki sifat isolasi seperti halnya relay, akan tetapi solusi yang ditawarkan oleh photodioda yang ditrigger oleh cahaya menjadikannya terisolasi penuh. Alat ini dinamakan sebagai "OPTOISOLATOR"

OptoIsolator jenis 4N25



Opto isolator memiliki prinsip trigger cahaya terhadap photodioda sehingga ketika tegangan setara untuk menghidupkan LED ( 5v + resistor 1K) diberikan ke pin input maka led didalam bungkus akan mengalirkan arus dari 5 ke 4 dengan kata lain jika ohm meter dipasang maka resistansinya akan kecil (seperti tersambung). Jenis OptoIsolator yang seperti ini hanya berlaku pada beban yang bersifat DC. Bagaimana dengan beban yang AC atau beban yang tidak tentu arah alirannya? Diciptakanlah OptoTriac.







Triac sebagai perangkat semikonduktor dengan 3 layer silikon berfungsi untuk mengalirkan arus AC saat trigger diberikan. Sifat arus AC yang sangat berbeda dengan DC dengan sinusnya menyebabkan ke kompleksan dalam pengaturan switchingnya. Pada gambar diatas terdapat OptoTriac dengan zerocrossing detector yang sangat membantu saat trigger mendekati tegangan sinus 0V. MOC3041 hanya memiliki rating dengan arus yang cukup kecil, sehingga diperlukan suatu Triac yang lebih tinggi ratingnya seperti BTAXX  (xx= rating arus). 



*)Watt dari Resistor di bagian power disesuaikan dengan watt / arus beban


Rangkaian diatas merupakan solid stater relay dengan optotriac MOC-3104 serta power triac BTA-12 (12 Ampere). Triac jenis BTA yang ada dipasaran umumnya adalah versi SNUBBERLES yang artinya sekali tertrigger maka triac akan menyala terus. Untuk itu deperlukan rangakaian tambahan berupa snubber R-C yang cukup akan memutus junction semikonduktor pada Triac. Ketika ON, C pada snubber akan full terisisi dan bersifat open, sedangkan ketika ada gangguan akibat optotriac yang "off" maka menyebabkan C ter discharge secara pelan (sesuai besarR) dan kemudian meng "short" power triac dan triac akan menjadi OFF.

Dengan menggunakan solidstate model ini  akan menghemat biaya pembelian solid state relay yang sudah dalam satu packing yang cukup mahal.



SELAMAT MENCOBA

Share:

Kontak Penulis



12179018.png (60×60)
+628155737755

Mail : ahocool@gmail.com

Site View

Categories

555 (8) 7 segmen (3) adc (4) amplifier (2) analog (19) android (12) antares (8) arduino (26) artikel (11) attiny (3) attiny2313 (19) audio (5) baterai (5) blog (1) bluetooth (1) chatgpt (2) cmos (2) crypto (2) dasar (46) digital (11) dimmer (5) display (3) esp8266 (25) euro2020 (13) gcc (1) iklan (1) infrared (2) Input Output (3) iot (58) jam (7) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (17) komputer (3) komunikasi (1) kontrol (8) lain-lain (8) lcd (2) led (14) led matrix (6) line tracer (1) lm35 (1) lora (7) MATV (1) memory (1) metal detector (4) microcontroller (70) micropython (6) mikrokontroler (1) mikrokontroller (14) mikrotik (5) modbus (9) mqtt (3) ninmedia (5) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (88) pcb (2) power (1) praktek (2) project (33) proyek (1) python (7) radio (26) raspberry pi (4) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (2) sharing (3) signage (1) sinyal (1) sms (6) software (18) solar (1) solusi (1) tachometer (2) technology (1) teknologi (2) telegram (2) telepon (9) televisi (167) television (28) transistor (2) troubleshoot (3) tulisan (93) tutorial (108) tv digital (6) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika