Sabtu, 29 Maret 2014

Elektronika Untuk Anak - Jurang Generasi Orangtua vs Anak



Senangnya melihat anak-anak ini meluangkan waktu dengan robot lego (walau berharga jutaan rupiah), si ortu pun jadi terkurangi bebannya karena anak-anak bisa menghabiskan waktu dengan lebih baik daripada menonton acara alay di tv. Salah satu teman penulis yg mempunyai 2 orang anak SD baru saja pulang dari jalan-jalan ke luar negeri dan membawakan oleh-oleh anaknya berupa robot rakitan. Dan karena kebingungan harus memulai darimana dan takut kalau mainan yang mahal ini nantinya rusak, akhirnya di kontaklah penulis dan ditodong untuk mengajarkan anaknya bagaimana cara bermain-main dengan robot ini. Tentunya bagi penulis sangat mudah karena sudah tersedia software bawaan yg cukup mudah dengan GUI yg sangat interaktif. Dan apa yg terjadi dengan si anak ? yahh karena tanpa tantangan yang berarti dalam 1 minggu mainan robot yang mahal itu hanya menjadi pajangan di lemari.


Teringat pada jaman dulu ketika penulis masih kecil di tahun 80-an, mungkin mainan dengan pelepah pisang adalah favorit penulis walau akhirnya di ujung SD lebih tertarik dengan warna warni LED, tapi tetap saja lebih asyik bermain perang-perangan bersama teman. Begitu juga dengan teman penulis yang ceritakan diatas juga menghabiskan masa kecil tahun 80-90 an dengan bermain gundu/neker/kelereng sampai dikatakan menjadi juragan gundu karena punya 1 kaleng biskuit yang berisi ratusan gundu. 



Bagaimana dengan dunia elektronika jaman 80-90an ? Seingat penulis, Indonesia pada jaman itu hanya berkutat di dunia audio dan radio (walau mungkin di lingkungan kampus era digital mulai ramai), dengan pengalaman penulis yang berlomba dengan teman sekelas untuk merakit amplifier OCL 150 watt dan mencobanya ke speaker segede gaban sampai transistor Jengkol 2N3055 mengeluarkan asap! Bagi yang mempunyai uang lebih dan kurang hobby menyolder biasanya memiliki radio break (HT/ CB) atau mungkin kalo didesa terpencil bisa tetap bercuap-cuap juga (bisa disebut moyangnya whatsapp ) menggunakan intercom dengan kabel kawat yg di bentangkan di sekeliling desa. 



Jadi dapat dibayangkan kesenjangan antara orang tua dan anak dan hal ini bisa menjadi sangat menjengkelkan bagi kedua pihak. Sang ayah masih terbayang-bayang dengan masa kecil yang hanya menunggu hari minggu pagi untuk menonton si unyil atau kartun polisi akademi, sedangkan sang anak termanjakan dengan gadget , game console, komputer dan internet yang dapat dinikmati kapan saja. Hobby elektronika pun menjadi relatif mahal dengan munculnya modul siap pakai atau robot rakitan yang  bagi beberapa orang  demi prinsip "sayang anak" akhirnya dituruti juga . 

** gambar wajah sengaja di tutup sesuai UU perlindungan anak


Berbagai prestasi "semu" dari anak-anak SD dalam hal elektronika banyak diekspose media, seperti anak SD pencipta robot , juara lomba line follower dan sebagainya. Umumnya judul berita akan dibuat hiperbola dan sedikit miris karena kalau dipikir anak SD tentu belum menguasai prinsip elektronika secara baik dan guru pembimbinglah yang lebih berperan. Lalu apakah ini salah ? Tidak ! yang salah adalah ketika guru menuntut anak didik yang terlalu berlebihan dan cenderung agak "berbohong" dengan mengatakan bahwa ini adalah kreasi ciptaan mereka. Sebaiknya (menurut pendapat penulis) tetap diberikan porsi kejujuran dengan menjelaskan bahwa anak-anak ini merakit, memprogram dan menjalankan kreasi mereka dengan bantuan guru dan diingat siswa hanya sebagai peserta lomba merakit , bukan menciptakan ! 



Seiring dengan bertambahnya umur maka kemampuan anak akan berkembang. Pada usia SD sebaiknya dimulai dengan bermain LED menggunakan IC diskrit semacam 555 + 4017 dan ini pas buat mereka. Jika ini kurang menarik cobalah orang tua mengajak anak berkreasi dengan kombinasi input dan output semisal sensor sederhana dengan limit switch yg akan mengeluarkan suara sirene atau lampu alarm kedap-kedip (Flip Flop) saat jendela terbuka. Sesuatu yg bergerak akan sangat disenangi oleh anak-anak semisal menambahkan lampu LED + sirene pada  mobil-mobilan atau pada sepeda yang anak miliki. 

Ketika sudah mencapai umur SMP-SMA ini adalah saat yg tepat untuk mengajarkan elektronika yang sudah lumayan maju. Walau penulis sangat benci dengan modul siap pakai tapi kenyataannya modul ini dapat juga menjadi "penolong" agar anak-anak tidak menjadi cepat bosan. Microcontroller sekelas AVR dan arduino cukup menjadi awal menuju ke elektronika digital jaman sekarang. Mungkin ortu yg jadul dengan IC TTL/CMOS nya dapat juga menyelipkan ilmu-ilmu lawas agar anak-anak menjadi lengkap ilmunya. Ingat bahwa anak jaman sekarang lebih gampang menyerap hal baru sehingga jangan heran mereka akan cepat bosan jika kurang tantangannya . Yah mau bagaimana lagi karena pilihan yg dimiliki anak jaman sekarang jauh lebih beragam daripada jaman 80-an ketika hanya beberapa pilihan dan itupun sudah dianggap seru sekali !


Ketika beranjak kuliah semua hal dapat terjadi bagi sang anak, mungkin dia akan menjadi pengejar wanita atau kutu buku tapi hal ini bisa dianggap sebagai perkembangan yg wajar selama masih menghargai norma -norma. Satu hal yg mungkin akan berguna bagi mereka adalah nilai " kejujuran " karena tidak jarang peserta lomba robotika di tingkat universitas lebih memalukan daripada lomba line follower tingkat SD. Tidak perlu saya sebutkan siapa yang pernah melakukan ini tapi pada intinya tetap uang yang berbicara. Siapa yg bisa belanja motor dan kontrol yg lebih mahal biasanya akan juara ! Mungkin hanya keberuntungan akan mengalahkan robot "berduit". Sekali lagi ini sah-sah saja karena kita sadar hidup di lingkungan yang seperti tidak sadar bahwa hal ini akan merusak nasib bangsa. "Toh nantinya lulus kebanyakan jadi makelar produk buatan zhensen atau beijing, bisa kaya kok !" ....tidak bermaksud menjadi sok suci, tapi kapan lagi ada sebuah lomba robot dengan tingkat komponen lokal 100 % ? Haruskah anak kita membuat mainan senapan dari pelepah pisang yang diimpor dari malaysia ?

Tentunya tulisan ini merupakan isi hati dari penulis yang mungkin saja berseberangan dengan pendapat pembaca. Jika  YA berkeberatan silahkan diskusi sehat dimulai di bagian komentar dibawah. Semoga kita dapat nyambung (terutama dalam hobby elektronika) dengan anak-anak dan menjadikan hubungan ortu-anak menjadi lebih berkualitas.



-=ditulis di STO Tandes Surabaya=-

Selasa, 18 Maret 2014

[TUTORIAL] Clinometer (pengukur ketinggian) Sederhana Memanfaatkan ADC




Persiapan sebelum memulai project :

  • Tutorial ADC dapat dibaca disini
  • Dasar menulis ke LCD dapat dilihat disini

Bahan-bahan yang dibutuhkan :
  • Minimum System / ATmega 8535/ ATmega 16
  • Display LCD 16 x 2 
  • Potensiometer linear (nickel) 10K ohm(2 buah)
  • Resistor 1K (2 buah)

Project ini adalah request dari anak SMA yang mendapatkan tugas matematika dimana gurunya cukup "Gila" untuk menantang anak didiknya membuat alat clinometer atau pengukur ketinggian. Sang murid mencari di google dan didapatkan rangkaian yg menggunakan acelerometer tapi kendalanya harga yang mahal dan dia pun kesulitan mengerjakannya. Solusi saya cukup sederhana dengan memanfaatkan putaran sudut yg dikonversikan ke putaran potensiometer (variable resistor) yang kemudian dirubah ke dalam level tegangan dan dibaca ADC.


Gambar diatas merupakan ilustrasi trigonometri dari sebuah clinometer dengan mencoba memanfaatkan rumus trigonometri. Keuntungan rumus diatas adalah tidak perlu menentukan jarak pengamat ke benda yang diukur,akan tetapi karena mengandalkan rumus tangen maka dari grafik tangen berikut terjadi sedikit anomali pengukuran jika sudut mendekati kelipatan 90 derajat, dimana tangent 90 adalah tak berhingga !.

grafik tangen yang tidak linear sedikit mempengaruhi keakuratan


Pemilihan potensiometer yang akan digunakan sebagai penerjemah dari sudut ke tegangan (menggunakan prinsip pembagian tegangan) juga perlu diperhatikan karena pada umumnya potentiometer yg dijual dipasaran adalah potentiometer audio yg bersifat logaritmik. Jadi potentiometer yang dipilih adalah berjenis "wire wound" atau yang umum di pasaran bernama "potensiometer nikel".



Output dari project kali ini menggunakan lcd 16x2 yang akan menampilkan nilai sudut alpha, beta dan nilai hasil pengukuran ketinggian.



Perputaran sudut pengukuran vs tegangan yg dihasilkan dapat menggunakan rumus pembagian 10 bit adc (0 - 1023) sehingga didapat sudut yang mewakili per bit. Tentunya potensiometer tidaklah terlalu linear karena banyak faktor dan untungnya kita hanya menggunakan sudut 0-90 derajat saja untuk alpha maupun beta. Saya mendapatkan untuk sudut 0-90 dapat menggunakan pembagian nilai bulat per bit ADC yaitu  "pembacaan adc / 3". Jadi sesuaikan dulu dengan respon nilai potensiometer yang kamu punya dengan sudut yang dihasilkan.

Untuk pengukuran tangen pada WinAvr akan digunakan library "math.h" dimana pengukuran sudut akan dirubah menjadi satuan radian. Rumus yang digunakan tentunya akan sangat memakan memory akibat nilai "float" yang digunakan. Hal ini kita akali saja dengan menggunakan unsigned integer 32 bit dengan pendekatan seperti berikut :

  • tana = tan((M_PI*adcalpha)/180)*1000;
  • tanb = tan((M_PI*adcbeta)/180)*1000;
  • tinggi= (tanb/tana) + 1 ;

Kita ingat juga konversi dari derajat ke radian digunakan rumus :


  • RADIAN = (PI * sudut ) /180 


Pengali 1000 pada rumus diatas digunakan untuk mendapatkan nilai float (pecahan / koma) menjadi ratusan sehingga pembagian menjadi agak bulat.


Skematiknya adalah sebagai berikut ini :

klik untuk memperjelas


Script selengkapnya seperti dibawah ini, diasumsikan bahwa tinggi pengamat 1 meter :


#define F_CPU 4000000UL
#include <string.h>
#include <avr/io.h>
#include <util/delay.h>
#include <avr/eeprom.h>
#include <math.h>
#include "lcd.h"

char derajat = 0xDF; // karakter derajat

void reverse(char s[]) //rutin untuk merubah angka ke ascii
   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(uint16_t n, char s[]) 
//rutin untuk merubah angka ke ascii
   uint16_t i;
   
   i = 0; 
   do {   // generate digits in reverse order 
      s[i++] = n % 10 + '0'; // get next digit 
   } while ((n /= 10) > 0); // delete it 

   s[i] = '\0'; // add null terminator for string 
   reverse(s); 


void initADC() //inisialisasi ADC
{
ADMUX=(1<<REFS0);// Aref=AVcc;
ADCSRA=(1<<ADEN)|(7<<ADPS0);
}


uint16_t ReadADC(uint8_t ch) //pembacaan ADC
{
   //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 baca1,baca2,tana,tanb,tinggi;
char dum;

lcd_init(LCD_DISP_ON);//inisialisasi LCD
lcd_clrscr(); //bersihkan LCD

   while(1)
   {
      initADC(); 

      baca1=ReadADC(6) / 3; //baca alpha
      if(baca1 <90){ //jika hasil tidak lewat 90 derajat

      lcd_gotoxy(0,0);
      lcd_putc(224); //ascii alpha
      lcd_puts(" =");

          itoa(baca1,&dum);
  lcd_puts(&dum);
 lcd_putc(derajat);
 lcd_putc(' ');
 
 }

 else{ //jika lebih 90 di warning
          lcd_gotoxy(0,0);
 lcd_putc(224);
 lcd_puts(" =max");
 }


     _delay_ms(100);

initADC();


     baca2= ReadADC(5) / 3; //baca beta

     if(baca2 <90){  // jika perhitungan < 90 derajat
 
 lcd_gotoxy(8,0);
 lcd_putc(226);
          lcd_puts(" =");

          itoa(baca2,&dum);
 lcd_puts(&dum);
 lcd_putc(derajat);
 lcd_putc(' ');
      }

      else{  //jika lebih 90 di warning
          lcd_gotoxy(8,0);
 lcd_putc(226);
 lcd_puts(" =max");
 }

      _delay_ms(100);
 lcd_gotoxy(0,1);
      

      if(baca1 <90 && baca2 <90){
          //PERHITUNGAN TINGGI
          tana = tan((M_PI*baca1)/180)*1000;
 tanb = tan((M_PI*baca2)/180)*1000;
 tinggi= (tanb/tana) + 1 ;
 
 lcd_puts(" TINGGI:");
          itoa(tinggi,&dum);
 lcd_puts(&dum);
 lcd_puts(" m");
 lcd_puts("        ");
 }

         else{
          lcd_gotoxy(0,1);
 lcd_puts(" TINGGI: Error !");
 }
   }
return 0;

}


SELAMAT MENCOBA  

Rabu, 12 Maret 2014

Pengalaman Mendesain Sistem Sensor dengan Modul Siap Pakai




Sekitar 10 tahun yang lalu ketika saya baru saja lulus kuliah, mengikuti kata hati yg masih "idealis" untuk mencoba bekerja sesuai bidang keahlian yaitu dibidang elektronika. Tak lama berselang  saya pun diterima untuk bekerja di sebuah pabrik perakitan komponen elektronika di sidoarjo. Apa yg saya dapatkan disana adalah ilmu yang sangat bermanfaat walaupun saya tidak menghabiskan setahun bekerja disana. Ilmu yg saya dapatkan adalah automasi mesin-mesin produksi dilakukan dengan komponen berupa modul sensor dan kontrol siap pakai buatan pabrikan yang sudah tidak asing lagi seperti omron, autonics, dan lain sebagainya. 



Pada awalnya ketika masih dalam masa orientasi saya ditugaskan untuk berkeliling lingkungan pabrik dan melihat proses produksi. Pemikiran saya cenderung meremehkan sensor-sensor dan kontol siap jadi dengan otak saya yang masih diliputi idealisme "... begitu saja harus beli mahal-mahal, cari di pasar genteng saja pasti bisa dirakit ...". Fiuuuhhh ternyata saya salah ketika saya diminta untuk merancang automasi sebuah mesin feeder komponen sebelum di laser marking dan yang terjadi adalah alat saya selesai dalam 3 hari sedangkan anak maintenance yg hanya lulusan STM merakit modul siap pakai hanya dalam waktu 3 jam. Dan inilah yang membuka pemikiran saya bahwa kadang-kadang suatu sistem automasi tidak perlu dirancang dari nol !





Perselingkuhan saya dengan modul kontrol siap pakai tak berlangsung lama karena kemudian hampir 10 tahun saya berada di dunia telco yang sangat jauh dari bidang kontrol dan automasi. Sampai suatu hari saya dihubungi oleh pembaca blog yang ingin melakukan modifikasi terhadap dump truck yang dimilikinya. Di "culiklah" saya ke workshop pabrik ini dan ternyata yang diinginkan adalah alarm saat dump truck mengangkat bak nya sehingga operator yang terkadang lupa akan mendapatkan warning sebelum bak kembali ke posisi awal. Ahh ini mudah saja tinggal memakai limit switch, begitu awal pemikiran saya. Dan saya kembali salah karena muatan truck yg bersifat korosif akan merusak switch pada akhirnya. Dan kemudian pilihan muncul pada sensor optik berupa LED INFRA dan PHOTOTRANSISTOR. Sayangnya saya hanya diberi waktu 1 hari saja !



Sampai dirumah otak serasa mau pecah dan untung saja pengalaman dipabrik dulu itu membawa saya mencari di mbah google tentang supplier sensor siap jadi dan ternyata tidak jauh-jauh ketemunya yaitu di pusat alat teknik di jl. semarang  / raden saleh surabaya dan  pilihan saya jatuh pada sensor photoelectric keluaran autonics BA2M series. Sensor ini akan memberikan respon saat ada halangan atau tidak dengan jarak deteksi sekitar 2 meter. 



Langkah selanjutnya adalah membeli relay 24 volt karena truck menggunakan aki 24 volt. Bagaimana dengan alarmnya ? Berhubung ingin membuat tanpa menggunakan komponen diskrit larilah saya ke pusat otomotif di kedungdoro surabaya dan membeli flasher untuk lampu sein. Yang saya tidak ketahui ternyata flasher yg umum dijual untuk truck masih menggunakan flasher thermal yang prinsipnya akan memutus-sambung lampu sein berdasarkan prinsip bimetal yg akan melengkung dan memutus hubungan beban ke aki. Tapi harus diingat bahwa flasher ini tak akan berfungsi kalau bebannya kecil karena arus yg kecil tidak akan memanaskan bimetal didalam tabung flasher. Akhirnya saya harus membeli lampu 24 volt...dan saat itu waktu sudah beranjak  malam , toko di kedungdoro pun telah berubah menjadi lapak nasi bebek !



Tidak kalah akal saya berpikir bahwa beban ini bisa digantikan dengan resistor. Jika rating dari flasher menunjukkan 25 watt maka saya membutuhkan sekiranya  dengan rumus P=V x I  , maka dengan rumus ohm didapar nilai resistor sekitar 20 ohm. Dan patut diwaspadai karena arusnya tinggi maka resistor akan panas sehingga harus dalam rate watt yang lumayan sekitar 5 watt. Sensor akan dihubungkan pada coil relay (sesuai gambar koneksi sensor di gambar sebelumnya) dan kemudian secara SPDT (single pole dual throw ) akan memilih flasher (warning bak terbuka) atau indikator bebas jalan (bak sudah tertutup).

Voilaa...berhasil dengan sukses ketika di test dilapangan walau dengan perbaikan berupa panas berlebih dari resistor yang cukup melelehkan casing plastik murahan yang saya pakai. Solusinya adalah diakali dengan meletakkan resistor di luar. 

Bagaimana dengan pengalamanmu ? ayo share di komentar dibawah yaaa....

Sabtu, 08 Februari 2014

[Tutorial] Remote Control dengan 38kHz Infra red Menggunakan NE555 dan HT12D/E


Semakin asyik dengan project non micro nih...ya tanpa micro biar orang yg sedikit jadul dan mungkin lemot (sorry ya) bisa berpartisipasi juga. Kali ini akan bermain dengan remote control berbasis inframerah, dimana ada sebuah modul Tx Rx 38khz saya beli di pasar genteng surabaya. Modul ini sangat simple dengan menggunakan pembangkit sinyal menggunakan IC favorit blog ini...timer NE555 !


38kHz Protocol for Infra Red


Ketika remote untuk televisi dikreasikan oleh zenith , para pemilik anjing peliharaan mengeluh karena anjing mereka terbangun atau menggonggong ketika ada yg memencet tombol remote. Saat itu frekuensi yg digunakan berupa audio ultrasonik diatas 20khz dan masih dapat didengar suaranya oleh anjing. Maka muncullah inovasi dari NEC dan Philips dengan menggunakan sinyal inframerah (yg tidak terlihat) dan frekuensi 36kHz-40kHz yg dipilih karena hampir tidak ada sumber alam yg menghasilkan atau terpengaruh oleh frekuensi di range ini. 

Saya menjadi bingung ..kenapa harus dimodulasikan menjadi 38kHz, padahal jika led infra di ON OFF saja sudah dapat memberikan sinyal clock/data serial. Ahh biarkan saja ini menjadi sejarah para engineer di NEC dan Philips..sebaiknya saya cari aja perbedaan antara INFRA tanpa modulasi dan yang termodulasi melalui modul buatan Innovative Electronics (DT-IO Infra Tx/Rx). Rangkaiannya simple kok...

Modul Tx (klik biar lebih jelas)

Modul transmitter menggunakan IC 555 sebagai pembangkit frekuensi dan IC TTL 7400 sebagai pembalik logika dari input yg diberikan. Input bisa diberikan dengan tegangan beragam baik TTL/CMOS/RS232. Perhatikan jumper harus dipasang sesuai dengan mode aktif dari sinyal input dan output infra red yg diinginkan.

Modul Rx (klik biar lebih jelas)


Komponen utama adalah phototransistor yg khusus digunakan untuk komunikasi infra merah yg umumnya ditemukan diremote televisi berkode TSOP4838. Komponen lainnya hanya sebagai pembatas tegangan dan pembalik logika. Saya kemudian menyusun kedua modul ini diatas breadboard dan menggunakan inputan berupa tombol / switch tactile.


Untuk mencocokkan frekuensi dari oscillator 38khz menggunakan 555 maka perlu dikalibrasikan melalui trimpot kecil (digambar warna putih). Jika menggunakan oscilloscop maka simple aja ketika input di ground ( jumper posisi 1-2 semua) maka output dari kaki led infra bernilai 38khz. Jika tidak mempunyai oscilloscop maka cukup dengan memasang receiver dan output dihubungkan ke LED dan input transmiter di groundkan. Putar trimpot transmitter sampai led di receiver menyala tanpa kedip.



Rangkaian diatas merupakan infra merah tanpa modulasi dan output dari receiver bisa nyala kok ! Lalu apa bedanya ? coba deh pantulkan infra rednya dan jauhkan dari receiver, lihat mana yg masih diterima oleh TSOP4838. Tentunya yg masih nyaut adalah yg termodulasi 38kHz. 

Ingat percobaan jam 6 digit yg dibahas di tulisan sebelumnya ? Ayo kita ganti saja input clock menggunakan penekanan tombol dari transmitter infra merah. 



Dan hasil yang didapatkan bisa dilihat pada video youtube berikut







ENCODER/ DECODER with HT-12E / HT-12D




Nahh..inilah IC yg saya cari-cari selama ini dan akhirnya dijual juga di eltech pasar genteng surabaya. IC yg legendaris ini merupakan encoder dan decoder data serial yg siap pakai, dengan hanya menambahkan 1 komponen Rosc sebagai penentu frekuensi clock data serial. ADDRESS A0-A7 digunakan sebagai pemilih "Channel" dari rangkaian remote, sehingga untuk dapat berkomunikasi maka addres di kedua sisi haruslah sama.  PIN AD8-AD11 pada sisi transmiter merupakan data 4 bit yg akan dikirim sat pin TE (14) mendapatkan GND. Semua pin memiliki pullup sehingga jika menginginkan logika HIGH cukup di ambangkan saja.

Bagaimana dengan pemilihan ROsc ? bacalah datasheet dan ikuti rumus nya sesuai grafik berikut :



Pilihlah Rosc yg menghasilkan frekuensi oscillator yg hampir sama , 5% kurang lebih tidak masalah. Kebetulan di rumah ada Resistor 2Mega Ohm lalu digunakan sebagai ROsc HT12E sehingga ROsc dari HT12D berkisar nilainya 56K ohm. Lanjut ke skematik yukkk...


klik untuk memperjelas


Pemilihan address menggunakan dip switch 8 pin, kemudian input data menggunakan tombol switch tactile yang hubungkan dengan dioda 1N4148 sehingga saat ditekan maka TE (transmit enable) juga terhubung ke ground. Ada penggunaan transistor NPN dan PNP pada output HT12E ini dimaksudkan untuk meningkatkan level logic (agak rendah tegangannya), karena yg saya gunakan adalah logic 1 yg akan mengkatifkan modul transmitter 38kHz ( Jumper di 2-3) . Jika transistor jenis ini susah didapatkan didaerah kamu dapat juga diganti dengan transistor NPN / PNP yg umum seperti 9012/9013.

Pada sisi receivernya input data berasal dari pin 4 (logika negasi, jumper lepas). Untuk kalibrasi 38khz maka ketika saat tombol transmitter ditekan maka led di pin 17 harus menyala. Dan hasilnya seperti video berikut:






Aplikasi yg mungkin dari tutorial ini adalah  sebagai pengontrol lampu rumah, semisal dengan memanfaatkan IC decoder 4 to 16 (74LS154) sehingga output HT12D yang cuman 4 bit dapat dibuat menjadi 16 pin yg kemudian dihubungkan ke relay. Masih banyak kok aplikasi lainnya....

SELAMAT MENCOBA 

Selasa, 21 Januari 2014

[TUTORIAL] Jam Digital 6 Digit Dengan IC CMOS



" Jam tanpa micro ...." itulah request dari seorang pembaca dari Bali. Mustahil ? Tidak lahh... Ketika jamannya microcontroller masih di meja desain para engineer, para pelajar dan penghoby elektronika jaman jadul menggunakan IC yang umum dipasaran kala itu, IC TTL atau IC CMOS. Bahkan salah satu buku yg pernah saya baca mengenai dedengkot APPLE "IWOZ" Steve Wozniak menceritakan bagaimana tahun 60-70an sang pioner ini berlomba membuat alat elektronika digital dengan jumlah komponen IC yang paling sedikit. Bayangkan game "BREAKOUT" merupakan cikal bakal masuknya Wozniak dan sebagai "penari latarnya" si Steve Jobs ke dunia gaming dan industri besar ( waktu itu mereka menjualnya ke ATARI ) dengan membuat console game yang seluruhnya disusun dengan IC TTL. Atari mendesain game breakout dengan 150 buah IC dan bos nya yg bernama Nolan Bushnell merasa ini terlalu besar dan menjanjikan hadiah U$700 jika ada yg berhasil membuat game ini dibawah 50 IC . Dan Steve Wozniak berhasil membuatnya dengan hanya 44 IC! 




Steve Wozniak dan Game Komponen Diskrit "Breakout"

Teringat kembali dengan percobaan dadu digital menggunakan ic cmos 4026 yg sangat simple karena berfungsi sebagai counter dan driver 7 segmen, ditambah dengan pembangkit clock 1 hz menggunakan xtal 32,768 khz dengan ic 4060 + 4013. Lalu masalah muncul ketika sadar kalau jam itu bermodulo 12/24 sedangkan menit/detik bermodulo 60. Dan Google menjadi penyelamatku dengan memberikan arahan ke sebuah forum belanda yg menggunakan dioda sebagai deteksi dari angka-angka maksimum pada dial jam. Ayo kita mulai saja dengan pembahasan lebih mendalam.

1 Hz Clock Generator

Ic yang kita gunakan adalah CMOS 4060 (14 bit binary counter) yg sangat compact karena memiliki input langsung dari xtal. Kali ini yg kita gunakan adalah xtal yang umum dijumpai pada mesin jam baik jam dinding ataupun jam tangan. Frekuensi yg dimiliki oleh xtal ini adalah 32,768 khz.


Kenapa dipilih angka 32,768 khz ? perhatikan rumus dari ic counter 14 bit yg ditunjukkan dari gambar berikut:



Sehingga pada output Q14 ( pin 3 )akan membagi clock input (32,768 kHz) menjadi 2Hz. Masih kurang karena yg kita inginkan adalah pulsa 1Hz maka kita perlukan pembagi 2 bisa menggunakan D flip-flop (4013) atau IC yang umum dibahas di blog ini menggunakan pembagi 10 atau decade counter 4017, dengan melakukan reset ketika mencapai stage ke 3. Sebagai project awal untuk mendapatkan clock 1 Hz ikuti skematik berikut:




Alternatifnya menggunakan 4017 seperti gambar skematik dibawah ini :



Sesuai dengan karakteristik  dari xtal memerlukan load capacitor sebesar 18-30 pF. Dikarenakan keakuratan yg cukup kritikal maka dapat diberikan kapasitor variabel pada salah satu kaki xtal dan kemudian diputar-putar untuk mendapatkan keakuratan yg diinginginkan. Bagaimana mengetestnya? Jika ada frequency counter atau oscilloscop atau AVO meter yg agak mahal dengan fasilitas freq. counter , hubungkan dengan kaki 7 (Q4) dari 4060 dan pembacaan diharapkan berkisar 2048 Hz.

Hasilnya seperti pada video berikut ini:





Pencacah Modulo 60 dan 24 

IC Cmos 4026 yang dicascade akan menghasilkan susunan counter bermodulo pangkat 10 sehingga tidak cocok untuk jam yang bermodulo 60 (pada detik dan menit) serta bermodulo 12/24 pada Jam. Bagaimana mendeteksi kondisi ketika 7 segment mencapai 60 dan kembali reset ke 0 ? Perhatikan tabel 7 segment (puluhan saja , satuan diabaikan karena modulo 10)  berikut ini.


Secara kebetulan ( atau tidak ) kita diuntungkan dengan deteksi digit angka 6 yg memiliki kondisi segment yang berbeda dengan digit lainnya yaitu pada segment E-F-G. Jadi dengan memanfaatkan dioda saja sudah dapat memberikan reset pada IC 4026. Rangkaiannya seperti berikut:









Bagaimana dengan Modulo 24 ? kita akan mendeteksi di 2 tempat yaitu puluhan dan satuan. Kembali kita perhatikan tabel segmennya.


Bingung juga menentukan kenapa 3 segment berwarna merah ini yg dideteksi, penulis saja agak kesulitan menganalisa tapi pada dasarnya kondisi ini akan menyebabkan saat counter jam mencapai digit 24 maka akan mereset 4026 yg mengontrol jam.



JAM 6 DIGIT FULL CMOS


Mari kita menuju ke perangkaian jam 6 DIGIT FULL CMOS. Karena kita menggunakan CMOS maka range tegangan supply yg digunakan cukup lebar berkisar 3-15 volt. Komponen yg digunakan cukup sedikit seperti gambar diatas akan tetapi diperlukan kabel jumper ke PCB atau Breadboard yg lumayan banyak. Skematik yg digunakan dan daftar komponennya seperti berikut ini . Klik pada gambar jika dirasa kurang jelas. 



Hasilnya seperti pada video berikut ini :

TESTING





JAM BENERAN






Simple bukan ? Bagaimana jika menggunakan 7 segment yg besar? Pada umumnya 7 segment besar menggunakan mode common anoda dengan susunan kaki yg berbeda. 4026 memiliki output aktif high sedangkan 7 segmen common anoda membutuhkan aktif low sehingga untuk membalik logika bisa menggunakan transistor NPN atau lebih simplenya menggunakan IC ULN2003 seperti pada skematik berikut ini.



SELAMAT MENCOBA ...

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Hosting