View Single Post
  #1  
Old 20th October 2012
KingMotorz's Avatar
KingMotorz KingMotorz is offline
Ceriwiser
 
Join Date: Oct 2012
Posts: 961
Rep Power: 14
KingMotorz mempunyai hidup yang Normal
Default [Tutorial] Bikin Tachometer Digital Sendiri yuks ..

[/quote][quote]







UPDATE TERBARU !!



TACHOMETER versi LCD








yang berminat untuk "belajar ngerakit + programming" ...silahkan via PM

khusus buat yg pengen belajar ya...kalo tujuannya laen...banyak yg jual tacho kok di FJB












Dear ceriwisser



Perkenalkan diriku pengasuh thread di forum hobby, hobby yg aku asuh yaitu elektronika, linknya dimari



Sekitar pertengahan tahun 2010 dapet tantangan bikin tachometer digital dari seorang ceriwisser dan akhirnya berhasil aku bikin prototypenya







Input tacho dari radiasi kabel busi , dililitkan kabel(coil) ke kabel menuju busi sehingga bisa nangkep pulsa dari busi



alat ini berbasis microcontroller AVR ATTINY 2313

bahan2nya cukup gampang dan mudah didapat, cuman agan kudu ngerti microcontoller untuk membuatnya (kalo mau desain dari awal..kalo nyolder aja seh gampang)



Bahan2 mudah didapat dan murah ga sampe 50ribu



- AVR attiny 2313

- 7 Segment 4 buah

- regulator 7805

- cap 1000uF , 100nF

- transistor 2n3906





Tentunya Agan Butuh programmer AVR ...bisa beli (200 rb an) atau bikin ndiri ( diforum hobby ada kok)



software programmernya pake yg gratisan aja (AVR STUDIO + WINAVR)



Hasil jadi di test ke Motor





Maaf photonya siang pake HP pulak, jadi agak ga jelas...tp aslinya mantap















yang mesen ke aku juga ada ...tapi bencana datang...kerjaan dikantor numpuk, daku pergi keluar kota ...

terbengkalai akhirnya terlupakan, dan sebagai pertanggungan jawab daku sebarin aja source code + rangkaiannya...

dan terusnya kepikir untuk nyebarin di FR2 juga....dan berikut rangkaiannya :




[/spoiler][spoiler=open this] for rangkaian + source code:













Code:

#define F_CPU 1000000UL
#include
#include
#include
#include
#include
#include
#include

uint8_t angka1=10 ;
uint8_t angka2=10 ;
uint8_t angka3=10 ;
uint8_t angka4=10 ;
uint8_t segstep=0;

uint8_t kalibrasi=3;

int number=0;

void conv_segmen(uint8_t digit)

{
switch (digit)
{

case 0 :
{
PORTB &= ~_BV(PB0) & ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB3) & ~_BV(PB4) & ~_BV(PB5);
PORTB |= _BV(PB6) ;
break;
}
case 1 :
{
PORTB &= ~_BV(PB1) & ~_BV(PB2) ;
PORTB |= _BV(PB0) | _BV(PB3) | _BV(PB4) | _BV(PB5) | _BV(PB6) ;
break;
}
case 2 :
{
PORTB &= ~_BV(PB0) & ~_BV(PB1) & ~_BV(PB3) & ~_BV(PB4) & ~_BV(PB6) ;
PORTB |= _BV(PB2) | _BV(PB5) ;
break;
}
case 3 :
{
PORTB &= ~_BV(PB0) & ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB3) & ~_BV(PB6) ;
PORTB |= _BV(PB4) | _BV(PB5) ;
break;
}
case 4 :
{
PORTB &= ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB5) & ~_BV(PB6) ;
PORTB |= _BV(PB0) | _BV(PB3) | _BV(PB4) ;
break;
}
case 5 :
{
PORTB &= ~_BV(PB0) & ~_BV(PB2) & ~_BV(PB3) & ~_BV(PB5) & ~_BV(PB6) ;
PORTB |= _BV(PB1) | _BV(PB4) ;
break;
}
case 6 :
{
PORTB &= ~_BV(PB0) & ~_BV(PB2) & ~_BV(PB3) & ~_BV(PB4) & ~_BV(PB5) & ~_BV(PB6) ;
PORTB |= _BV(PB1) ;
break;
}
case 7 :
{
PORTB &= ~_BV(PB0) & ~_BV(PB1) & ~_BV(PB2) ;
PORTB |= _BV(PB3) | _BV(PB4) | _BV(PB5)| _BV(PB6) ;
break;
}
case 8 :
{
PORTB &= ~_BV(PB0) & ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB3) & ~_BV(PB4) & ~_BV(PB5) & ~_BV(PB6);
break;
}
case 9 :
{
PORTB &= ~_BV(PB0) & ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB3) & ~_BV(PB5) & ~_BV(PB6);
PORTB |= _BV(PB4) ;
break;
}
case 10 :
{
PORTB |= _BV(PB0) | _BV(PB1) | _BV(PB2) | _BV(PB3) | _BV(PB4) | _BV(PB5) | _BV(PB6) ;
break;
}
}
}



void init_ctr(void)
{



TCCR0A |= (1

Reply With Quote