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

Rabu, 06 Februari 2013

Robot Line Tracer Sederhana dengan 2 Transistor

courtesy of : http://www.ermicro.com/blog/?p=1097

Build Your Own Transistor Based Mobile Line Follower Robot (04)




UPDATE - 18 FEBRUARI 2013
HASIL KARYA PEMBACA BLOG INI



AYO KAWAN YANG LAINNYA, MAU DITAMPILKAN JUGA HASIL KARYANYA GAK ?



Sekitar setahun yang lalu penulis menerima request dari pembaca untuk menjelaskan tentang line tracer sederhana yang terdapat pada blog "ermicro". Prinsip sederhana dari line tracer ini adalah pendeteksian  pantulan jalur gelap dan terang yang dideteksi melalui LDR. LDR merupakan komponen resistor yang nilai tahanannya berubah-ubah sesuai dengan intensitas cahaya yang masuk.






Terdapat dua sensor yang ditempatkan disebelah kanan dan kiri dari line/garis jalur yg akan dilalui , dengan menggunakan prinsip pemantulan sinar LED yang ditangkap LDR berbeda ketika melalui jalur berwarna terang atau gelap. Jika sensor kiri mendapatkan gelap, maka akan menyebabkan roda sebelah kiri lebih lambat dari roda kanan sehingga akan berbelok ke kiri seperti rangkaiannya berikut ini:

Build Your Own Transistor Based Mobile Line Follower Robot (05)
LDR melakukan drive ke basis transistor berdasarkan intensitas cahaya yg didapat dan selanjutnya mengatur putaran motor


Motor yang digunakan haruslah motor yang mempunyai gear, karena motor tamiya/mobil-mobilan tanpa gear memiliki torsi/daya tarik yg lemah.

Build Your Own Transistor Based Mobile Line Follower Robot (03)


Berikut ini rangkaian yg sudah diubah menjadi PCB, dapat juga dibuat diatas PCB lubang.



hasilnya di youtube seperti ini :





SELAMAT MENCOBA
Share:

Jumat, 25 Januari 2013

Laundry yuk ! software admin + kasir untuk laundry kiloan



LAUNDRY YUK !!



Kini Versi 4 Lebih Keren Loooo






PERNAH MENGALAMI KEJADIAN SEPERTI INI ??

12036385.jpg (640×440)


KEUNTUNGAN MEMAKAI SOFTWARE INI


  •           Mempermudah transaksi  pada usaha laundry kiloan
  •           Mengurangi komplain karena kesalahan pegawai laundry dalam memasukkan data laundry
  •           Mempermudah pembukuan transaksi
  •         Mempercantik usaha laundry kiloan, dengan memanfaatkan screensaver sebagai media iklan saat tidak ada transaksi


KEBUTUHAN PERANGKAT

>>      PC / LAPTOP standar dengan kemampuan dual monitor/duplicate
Laptop yg dijual secara umum sudah memiliki dual monitor, jadi lebih baik menggunakan Laptop dikarenakan PC membutuhkan alat tambahan berupa monitor extender/splitter
>>       2 Buah layar monitor, 1 untuk pegawai/penjaga, 1 (diusahakan layar lebar) yg ditempatkan di etalase yg menuju pelanggan. Bisa juga untuk layar monitor sentuh atau menggunakan 1 buah display saja.
>>     Keyboard/numpad (USB) + Mouse(USB)  tambahan di untuk di etalase pelanggan. Jika kabel kurang panjang, dibutuhkan kabel extender USB




FASILITAS TERBARU VERSI 4 KEATAS :

- Login pengguna software yg bisa dibedakan berdasarkan kewenangannya
- Bisa untuk cucian kiloan, satuan, sistem deposit dan cuci express
- Sistem database sederhana tanpa perlu install mysql, dbase dll
- Print nota hanya menggunakan printer biasa (inkjet / deskjet) yang murah
- Ter-integrasi dengan pembukuan yg bisa diubah ke excel
- Fasilitas upload foto sebelum dan sesudah mencuci





KINI DENGAN REKAP BULANAN /HARIAN di EXCEL









SCREEN SHOOT

12036396.jpg (640×400)

12036397.jpg (640×400)

12036398.jpg (640×400)


PRINT OUT 





DEMO Ver. 4.0 DAPAT DOWNLOAD DISINI



HANYA 500rb SAJA !!



SELAMAT MENCOBA


Share:

Senin, 21 Januari 2013

KONTROL MOTOR SERVO JARAK JAUH via DTMF / HANDPHONE dengan IC 555


Untuk pembahasan kali ini adalah hasil bimbingan saya ke rekan pembaca blog yang bingung mengerjakan TA(skripsi) nya. Setelah rekan ini membaca pembahasan DTMF pada blog  disini, dia kebingungan ketika ingin merubah rancangan tanpa micro di blog menjadi dengan micro karena dasar micronya lemah. Kenapa dipaksa pakai micro ? toh dengan 555 saja servo bisa jalan ...perhatikan skematik berikut :



dari rangkaian PWM sederhana diatas sudah dapat mengontrol pergerakan dari motor servo dengan merubah dutycycle nya yang dikontrol oleh potensio P1. Nahh bagaimana dengan rangkaian DTMF ? kembali ke blog dan perhatikan gambar rangkaian berikut:

(klik untuk memperbesar)

rangkaian decoder dtmf sederhana diatas menggunakan ic decoder 8870 yg umum dijual di toko komponen, dengan truth table seperti berikut :


(klik untuk memperbesar)



nahh...dengan memperhatikan truth table diatas, secara sederhana kita dapat menggunakan 4 buah output menjadi control dutycycle PWM 555, dengan merubah-rubah pembagian tegangan yg akan diberikan ke pin 7 dari 555 melalui kontrol DTMF. Caranya mudah dengan memparalel beberapa trimpot dan melakukan switching ke pin tengahnya yg menuju ke pin 7 dari 555, switch ini bisa dilakukan dengan transistor atau menggunakan relay seperti yg dilakukan rekan dengan email : fendrian1989@gmail.com , memang agak membingungkan tapi dia berhasil kok...kalo bingung hubungi dia saja..hehehe

(klik untuk memperbesar)

tiap posisi servo yg diinginkan dapat dicoba terlebih dahulu (dengan merubah puteran trimpot/potensio) sebelum di switch menggunakan teknik relay atau transistor..

hasilnya seperti berikut, agan ini menggunakan servo continous yg muter terus sesuai perubahan arah yg diinginkan, kalo pake yg non kontinyu maka PWM berkolerasi dengan posisi sudut dari servo. Posisi yg dapat diperoleh dengan rangkaian sederhana ini adalah 4 posisi, sedangkan jika menginginkan 10 posisi sesuai jumlah dial telepon maka menggunakan BCD to Decimal decoder seperti penjelasan disini



Selamat Mencoba
Share:

Kamis, 17 Januari 2013

BERMAIN DENGAN TV PART #3 - OSD (Composite Video Text Overlay) dengan Attiny2313




Text Overlay atau On Screen Display (OSD) merupakan fitur yang umum dijumpai pada televisi modern. Gambar composite (AV in) dapat ditumpuk dengan text seperti text berjalan (scroll text / crawler) , logo , jam dan berbagai macam sesuai keinginan. Bagaimana cara menimpa gambar video dengan text akan kita bahas disini, dan diharapkan membaca penjelasan mengenai dasar-dasar bermain televisi menggunakan microcontroller disini:  PART#1  PART#2  JAM TV



Courtesy of  VIENA WIRELESS SOCIETY 


Gunakan rangkaian yg terhubung dengan AIN saja, yg di dekat TX RX diabaikan saja


Pada web aslinya yang digunakan ic microcontroller  ATMega8 ,prinsip utamanya memanfaatkan analog komparator untuk mendeteksi sinkronisasi vertikal & horisontal dari sinyal input video composit (semisal dari kamera atau dvd).


Pada script di web asli dijelaskan bahwa yg digunakan video NTSC..karena di indonesia menggunakan PAL maka saya ubah script menjadi PAL dan menggunakan ATTINY



dari gambar ic attiny 2313 kita akan menggunakan pin AIN0 dan AIN1 serta pin MOSI, dan beberapa pin digunakan sebagai tombol seperlunya, rangkai sesuai gambar asli. gunakan nilai komponen sesuai catatan dan dengan bereksperimen maka akan didapat efek2 yg tidak diduga seperti warna text, warna latar dsb.


untuk itu kita bahas script satu persatu ...


>>> Header <<



#define F_CPU 20000000UL //xtal 20MHz

#include <avr/io.h>

#include <util/delay.h>

#include <avr/interrupt.h>

#include <avr/pgmspace.h>

#include <avr/sleep.h>





#define FONTHEIGHT 12 //panjang text



//rumus dan variabel syncronisasi

#define HSYNC PORTB=0;

#define GREY PORTB=0x80;

#define COL(r) textnya=word[r][fontline];



static uint8_t fontline = 0;

static uint8_t fontzoom = 0;

static uint16_t rasterline=0;



// ARRAY untuk tulisan nomer 0,1,2 dst



const unsigned char font[12][FONTHEIGHT] PROGMEM = { 

   {

 0b00000000,

 0b01111100,

 0b11000110,

 0b11001110,

 0b11011110,

 0b11010110,

 0b11110110,

 0b11100110,

 0b11000110,

 0b01111100,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b00010000,

 0b00110000,

 0b11110000,

 0b00110000,

 0b00110000,

 0b00110000,

 0b00110000,

 0b00110000,

 0b11111100,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b01111000,

 0b11001100,

 0b11001100,

 0b00001100,

 0b00011000,

 0b00110000,

 0b01100000,

 0b11001100,

 0b11111100,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b01111000,

 0b11001100,

 0b00001100,

 0b00001100,

 0b00111000,

 0b00001100,

 0b00001100,

 0b11001100,

 0b01111000,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b00001100,

 0b00011100,

 0b00111100,

 0b01101100,

 0b11001100,

 0b11111110,

 0b00001100,

 0b00001100,

 0b00011110,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b11111100,

 0b11000000,

 0b11000000,

 0b11000000,

 0b11111000,

 0b00001100,

 0b00001100,

 0b11001100,

 0b01111000,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b00111000,

 0b01100000,

 0b11000000,

 0b11000000,

 0b11111000,

 0b11001100,

 0b11001100,

 0b11001100,

 0b01111000,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b11111110,

 0b11000110,

 0b11000110,

 0b00000110,

 0b00001100,

 0b00011000,

 0b00110000,

 0b00110000,

 0b00110000,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b01111000,

 0b11001100,

 0b11001100,

 0b11101100,

 0b01111000,

 0b11011100,

 0b11001100,

 0b11001100,

 0b01111000,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b01111000,

 0b11001100,

 0b11001100,

 0b11001100,

 0b01111100,

 0b00011000,

 0b00011000,

 0b00110000,

 0b01110000,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b00000000,

 0b00000000,

 0b00110000,

 0b00110000,

 0b00000000,

 0b00000000,

 0b00110000,

 0b00110000,

 0b00000000,

 0b00000000,

 0b00000000,

 },

 {

 0b00000000,

 0b00000000,

 0b00000000,

 0b00000000,

 0b00000000,

 0b00000000,

 0b00000000,

 0b00000000,

 0b00000000,

 0b00000000,

 0b00000000,

 0b00000000,

 }};





//variabel pelengkap



uint8_t word[7][12];

int y;

uint8_t jam,menit,detik,textnya,tick;







>>> timer untuk horisontal sync PAL (64us) <<


void timer_init(void){



 TCCR1B |= (1<<WGM12);

 TIMSK |= (1<<OCIE1A);

 OCR1A = 1280; //64*16;

 TCCR1B |= (1<<CS10);



}





>> geser2 bit untuk menampilkan angka dari Array <<



void geser(void)

{ 

PORTB = (textnya  & 0x80) +0x8  ;

textnya <<=1;

PORTB = (textnya  & 0x80) +0x8 ;

textnya <<=1;

PORTB = (textnya  & 0x80)  +0x8 ;

textnya <<=1;

PORTB = (textnya  & 0x80)  +0x8 ;

textnya <<=1;

PORTB = (textnya  & 0x80)  +0x8 ;

textnya <<=1;

PORTB = (textnya  & 0x80)   +0x8;

textnya <<=1;

PORTB = (textnya  & 0x80)   +0x8 ;

textnya <<=1;

PORTB = (textnya  & 0x80)   +0x8 ;



}





>> proses tulis tiap 1us dari frame horisontal 64us <<




void tulis(void){



//31 & 43 adalah batas tinggi karakter 12 scan/rasterline/vsync

//y adalah posisi rasterline(Vsync) yg sedang ditulis

 if( rasterline > (31+y) && rasterline <= (43+y) ) {

  _delay_us(8);

    COL(0);

    geser();

    COL(1);

    geser();

    COL(2);

    geser();

    COL(3);

    geser();

    COL(4);

    geser();

    COL(2);

    geser();

    COL(5);

    geser();

    COL(6);

    geser();

       PORTB=0;

      _delay_us(1);

  fontline++; //pindah ke array selanjutnya

 } 

//jika tidak menulis 

   else { 

  _delay_us(8);

   fontline = 0;

  fontzoom=0;

   }



// yang ini batas scannline trus bisa sisipkan proses

//      memasukkan data ke memory 

//  sesuaikan karena kaskus merubah text &word; (hilangkan ' ; ') 

 if( rasterline > 311 )

  { memcpy_P(&word;[0],&font;[jam/10],12);

   memcpy_P(&word;[1],&font;[jam],12);

   memcpy_P(&word;[2],&font;[10],12);

   memcpy_P(&word;[3],&font;[menit/10],12);

   memcpy_P(&word;[4],&font;[menit],12);

   memcpy_P(&word;[5],&font;[detik/10],12);

   memcpy_P(&word;[6],&font;[detik],12);

 

      }

}



// interupt 64us 

ISR (TIMER1_COMPA_vect) {



rasterline = 0;



}



>> comparator untuk mendeteksi awal Vsync dan Hsync <<



SIGNAL(SIG_COMPARATOR)



{ //trik mendeteksi hsync dan vsync dengan melihat lama blanking



 TCNT1=0; // reset timer

 while(TCNT1<70); // wait 5us to see if H or V sync



 if(!((ACSR>>ACO)&1)) { // its an H sync

  TCNT1=0; // reset timer

  rasterline++;

  tulis();

 }

 else { // this a V sync

  rasterline=0;

    

//sekalian aja ditambah timer untuk nambah detik

  tick++;

    if(tick >= 200){

    tick=0;

       detik++;

    if(detik==60){

      menit++;

   detik=0;}



       if(menit==60){

    menit=0;

    jam++;}

    if (jam==24) jam=0;

  }

 }

}  





>> Tombol untuk ubah jam dan geser2 posisi jam <<




void tombol(void)

{

if(bit_is_clear(PIND, PIND3)) 

{

jam++;



if(jam == 24) jam=0;



detik=0;

_delay_ms(200);

}



else if(bit_is_clear(PIND, PIND4))

{

menit++;  



if(menit == 60) menit =0;





detik=0;

_delay_ms(200);

}



else if(bit_is_clear(PIND, PIND5)) //naik

{

y-=3;



if(y<1) y=1;



_delay_ms(200);

}



else if(bit_is_clear(PIND, PIND6)) //turun

{

y+=3;



if(y>300) y=300;



_delay_ms(200);

}






>> main program<<




int main() {

tick=0;

jam=22;

menit=19;

detik=44;

rasterline=0;

y=0; //variable posisi text

    



    ACSR = (1<<ACIE)|(1<<ACIS0)|(1<<ACIS1);  //analog comparator

    DDRD &=~(1<<PD3) & ~(1<<PD4)&~(1<<PD5) & ~(1<<PD6) ; //tombol

    

  // data text dan MISO, PB0 pada web asli dirubah jadi PB3 attiny 

    DDRB |= (1<<PB7)|(1<<PB3);

  



        timer_init(); //idupin timer

    

 set_sleep_mode(SLEEP_MODE_IDLE); //menghemat tenaga



 sei();



 for( ;; )tombol();

}





rangkaian ini cocok buat nambahin text ke kamera CCTV murah yg ga ada textnya, jadi bisa ditambahin jam atau text penanda nomer kamera




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 (25) 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 (5) 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 (17) 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