PDA

View Full Version : [Tutorial] Bikin Tachometer Digital Sendiri yuks ..


KingMotorz
20th October 2012, 10:38 PM
[/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 (http://www.ceriwis.us/showthread.php?t=2654259)



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



http://img233.imageshack.us/img233/9038/p0801111054.jpg



http://img29.imageshack.us/img29/9976/p080111105401.jpg







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 :



<div style="margin:20px; margin-top:5px">
[/spoiler][spoiler=open this] for rangkaian + source code:


<div class="alt2" style="margin: 0px; padding: 6px; border: 1px inset;">
<div style="display: none;">




http://img16.imageshack.us/img16/1191/skema.jpg



<div style="margin:20px; margin-top:5px">
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