RTC DS1307 PAKAI CRYSTAL JAM WEKER

Satu hari ngoprek-ngoprek IC rtc DS 1307, ternyata sangat memusingkan,  masalahnya ada pada crystal yang dipakainya yaitu crystal DS1307 32,768KHz, akhirnya karena ngga jalan jalan, JAM WEKER pun jadi korban, di cabutlat crytal 32,768KHz dari jam weker,

Dan ketika crystal tersebut di pasangkan ke IC rtc ds1307, ternyata rtc nya pun jalan. HIdup jam weker.

rtc

NGAHURUNGKEUN 7 SEGMENT WIN AVR GGC

NGAHURUNGKEUN 7 SEGMENT WIN AVR GGC
Sekarang kita akan belajar timer, memory program, dan 7 segment, pada umumnya 7 segment sangat berguna sekali sebagai indicator, sekarang di tiap bank selalu ada 7 segment, maka dari itu let’go kita program 7 segment

#include “avr/io.h”
#include “avr/iom8.h”
#include “avr/pgmspace.h” // include memori program

uint8_t i;
// data seven segment dari angka 0-9
const uint8_t segment[] PROGMEM =
{
0b10111111,
0b10000110,
0b11011011,
0b11001111,
0b11100110,
0b11101101,
0b11111101,
0b00000111,
0b11111111,
0b11101111,
0b00000000,
};

void initio()
{
DDRD=255;
}

void delay1detik()
{
TCNT1=0XE17C;
TCCR1B=0B00000101;
while(!(TIFR&(1<<TOV1))); //tunggu hingga bit T0V1 =1
TIFR=0B00000100;
}

void tampilsegment()
{
/* for(i=0;i<10;i++)
{
PORTD=pgm_read_byte(&segment[i]);
// PORTD=i;
delay1detik();
}
*/
i=0;
while(pgm_read_byte(&segment[i]))
{
PORTD=pgm_read_byte(&segment[i]);
delay1detik();
i++;
}
}

int main()
{
initio();
for(;;)
{
tampilsegment();
}
}

segment

Output Timer dan Interupsi winavr gcc

Output Timer dan interupsi winavr gcc

Biasa mun diajar bahasa pemrograman baru, project pertama moal jauh ngahurungkeun led blinking, mun basa sundana led cacingeun, tapi projectna teu make delay biasa, tapi make interupsi timer 1, hidup interupsi.

#include “avr/io.h” //include keur IO
#include “avr/interrupt.h” //include keur interupsi

void initio() //setting io jeung timer
{
DDRD|=(1<<2); //portd2 sebagai output
TCCR1B=0B00000101;// timer 1 prescaller 1024
TIMSK=0B00000100;//interupsi timer diaktifkeun
TCNT1=0Xe17c; //isi nilai timer keur 1 detik
}

ISR(TIMER1_OVF_vect) //rutin interupsi timer 1
{
TCNT1=0Xe17c; //isi nilai timer keur 1 detik
PORTD^=(1<<2);// negasi portd2
}

int main(void)
{
initio();//panggil rutin init io
sei(); //aktifkan global interupsi
for(;;) // kalang tanpa ujung, ujungna dicabut listrik hahahahahha
{

}
}

simulasi di proteus

ledled2

naha di webna mah

teu hurung. rudet aing mah

PANDUAN MEMBUAT DOWNLOADER AVR USB

TATA CARA MEMBUAT
programmer AVR
pakai USB

Sebelum membuat downloader USB kalian sudah harus mempunyai:
• Eagle
• Ponyprog
folder_gawean.zip
• winzip atau winrar

SYARAT SAH MEMBUAT DOWNLOADER USB ADA 20 PERKARA:
1. Sehat lahir dan batin
2. Mempunyai niat mau belajar dengan ikhlas, ga perlu dilafalkan
3. Bisa nyolder, pangkat minimal “teman solder”
4. mempunyai alat solder, kalau ga punya pinjam sama teman
5. Mempunyai komputer
6. Ada komputer teman yang ada parallel portnya untuk mendownload mikro master
7. mempunyai PCB, minimal PCB titik
8. mempunyai IC ATMEGA8
9. mempunyai minimum system ATMEGA 8
10. mempunyai kristal 12 MHz
11. mempunyai kapasitor 22pF
12. mempunyai konektor USB dan kabel USB
13. mempunyai soket IC 14pin 2 buah
14. mempunyai resistor 10k, 68ohm atau 100 ohm, 2k2, 1K
15. mempunyai elko 4,7 uF/16 V dan kapasitor 100nF
16. mempunyai LED 3 buah
17. mempunyai housing 5 pin dan 4 pin
18. Dioda zener 3.6 volt 2 buah
19. Koleksi program yang mendukung panduan ini
20. tidak sedang pacaran kecuali sudah tunangan dan menikah

SEDANGKAN RUKUNNYA YAITU:

– sediakan komputer, dan nyalakan (bukan nyalakan api)
– mainkan lagu ThePanasDalam (cita-citaku)
– ekstrak folder gawean
– lihat rangkaian dengan program eagle. Nama File RANGKEYAN.SCH
– buat rangkaian tersebut ke PCB, sebagaimana kita menjadi pegawai solder yang baik dan benar
– periksa lagi pekerjaan kita, minta diperiksa sama pendekar solder
– siapkan kabel usb, hati hati tertukar minimal VCC sama GND tidak nyambung, celaka… USB komputer taruhannya….
– sekarang masukkan kabel usbnya
– Ingat , ini baru percobaan, MIKRO ATMEGA 8 JANGAN DIMASUKKAN DULU KE SOKET !!!!JANGAN DULU…..
– jika benar, akan muncul seperti ini

usb1– jika sudah muncul seperti itu, berarti rangkaian sudah bener, dan LED power harus nyala
– Sesudah itu lepas kembali kabel USB
– Sekarang download mikro master ATMEGA 8 memakai computer yang ada parallel portnya dengan memakai program ponyprog
– Download file USB.HEX
– Sebelumnya kita setting dulu fuse bitnya, karena kita memakai kristal eksternal 12 MHz
– setingan fuse bit nya seperti dibawah ini
usb2– Jika men-downloadnya sudah, pasangkan ATMEGA 8 ke soket, kemudian masukan kembali kabel usb. Jika benar akan muncul tampilan seperti ini.

usb3– sebentar lagi akan minta driver

usb4– biasa seperti nginstal pada umumnya tinggal: next next next…..
– kemudian tunjuk ke folder_gawean\windriverusb5– kemudian tinggal menunggu finish
usb6– Jika sudah finish, lepas kembali kabel usbnya
– matikan dulu lagu the panas dalamnya biar nggak ada suara
– sesudah itu, masukan kembali kabel usb
– ketika dimasukan akan ada suara, seperti suara ketika kita memasukkan flash disk
– kemudian lihat di device manager

usb7
– tentu harus ada LIBUSB USBasp, berarti alat sudah jadi
– sekarang tinggal mencoba
– lihat LED power , led standby / suspend nyala,ada satu yang mati, ini disebut led (busy), jika sedang berpikir led ini akan nyala
– sekarang buka program USBheheh.EXE

usb8
– sekarang coba klik Execute
– Jika tidak ada mikro yang akan diprogram,akan muncul tampilan seperti ini:

usb9
jika tampilan seperti ini error, mikro rusak atau rangkaian salah.
jika tampilan seperti ini error, mikro rusak atau rangkaian salah.

usb10– Jika sudah benar, masukan target file yang akan didownload.
– lihat TAB Files
usb111

– di sana ada lokasi file yang akan ditulis atau dibaca keflash atau eeprom data
usb12

– Jika sudah ditentukan file yang akan di program ke mikro
– Tinggal klik saja
– hati-hati type format file harus cocok, atau di autodetect saja
– jika sukses akan muncul tampilan seperti ini…..:

usb13

jika mau nulis ke data eeprom caranya seperti ini:
usb14

– jika sukses akan muncul tampilan seperti ini…..:
usb15

– jika mau baca, buat dulu file baru, yang kosong. Di folder gawean, klik kanan, new – text file, buat file baru missal program.txt, ganti txt dengan .hex, ini jadi file kosong. Nantinya jadi target tulisan dari mikro ke ini file
– contoh kita buat dulu file “kosong” bacaflash.hex dan bacaeeprom.bin

usb16

– memang agak lama kalau baca karena di baca semuanya

– jika sudah seperti ini:

usb17– hasil bacaan disimpan di bacaflash.hex
– sekarang coba baca dari EEPROM, hasilnya ke bacaeeprom.bin

usb18– hati-hati, kalau ada pesen error seperti ini:

usb19cek jumper di pin PORT C2, saya sudah nyoba pakai jumper tapi ga guna buat mikro yang ada kristalnya / kristalnya kurang cepat, jadi lebih baik kalau pin ini di GROUND kan saja.

HASIL BACA PAKAI PONYPROG, sesudah deprogram pakai USB

Dari flash

usb20Dari eeprom

usb21

hayu ah urang pindah ka winavr gcc

bermula belajar mikrokontroler dari melihat seorang teman, namanya pendekar solder, akhirnya ikut ikutan juga ingin menjiplaknya, dikenalkannya assembler 8051 kepadaku, ternyata bermula dari situ akhirnya ketagihan juga. mun ceuk nu gelo mah hayang nyaho leuwih jero, tapi selama memakai 8051 tidak ada ketertarikan memakai bahasa c atau bascom, karena kata pendekar solder mah udik ceunah,

seiring dengan perkembangan jaman, beralihlah dari 8051 ke avr, ternyata di avr juga pakai assembler avr,  senangnya bikin source code dengan assembler, karena tidak semua orang suka dengan assembler,  skripsi S1 saya juga programnya pakai assembler avr.

ketika januari 2008 akhirnya saya di suruh untuk memilih bahasa pemrograman bahasa c atau bascom, karena katanya kalau pakai assembler kalo mau rubah source codenya agak lama. akhirnya pilihan saya pun jatuh kepada BASCOM, karena saya sangat membenci syntak bahasa C yang case sensitive, kayannya cuma bahasa c yang mempunyai sifat seperti itu, udik sekali.

seiring dengan perkembangan jaman akhirnya saya juga banyak menemui masalah dengan bahasa bascom avr, karena perusahaan perusahaan jarang ada yang membutuhkan orang yang terbiasa memakai bahasa bascom.

gelo lah, dengan alasan itu saya memutuskan untuk berpindah ke bahasa c yang sangat udik sekali. karena CASE SENSITIVENYA, ANJING SALAH SAEUTIK error. ASSEMBLER GEN TEU KITU KITU TEUING.  maka dari sekarang saya mulai pindah ke win avr GCC.

WATCHDOG (LIHAT DOG DOG) EKSTERNAL

Pewaktu watchdog merupakan piranti pewaktuan perangkat keras yang bisa memicu reset sistem pada saat program utama, karena ada beberapa keasalahan, seperti hang, mengabaikan layanan rutin ke watchdog (biasanya seperti pemberian pulsa secara rutin),

watchdog eksternal yang dibuat memakai IC pewaktu 555.

watchdogwaktu watchdog tergantung nilai R dan C. coba coba wen hese titah ngitung mah. kumaha maneh wen rek dipasang sabaraha gen da pasti jalan.

sensor jarak devantech SRF-04 Buatan Parallax

Sensor ini sering digunakan di ajang lomba krci, meskipun harganya cukup mahal 450.000 tapi sensor ini kaya bala-bala dan combro. tinggal beli karena biasanya uangnya dari kampus. jadi tidak perlu mikir mahal atau murah. sensor srf04 merupakan sensor jarak yang cukup bagus, selain bentuknya yang kecil. juga keteleitiannya membaca jarak

tah ieu sensor na teh

r93-srf04memakai sensor ini sangat enak sekali, tidak ada rangkaian tambahan apapun, hanya perlu 4 kabel. vcc,gnd,trigger dan echo. untuk programnya pun tidak terlalu rumit karena sudah banyak di internet. tinggal copy paste, jadi deh.

srf04

‘=========================================
$regfile = “m32def.dat” ‘ATMEGA 32
$crystal = 4000000 ‘KECEPATAN 4 MhZ
$baud = 4800 ‘Baudrate 4800
‘====================================== ‘ultrasonik
Config Timer0 = Timer , Prescale = 256 ‘TIMER SRF04
Dim Data_jarak As Byte

Triger Alias Portb.3
Pecho Alias Pinb.4
‘===================================srf
Config Portb.3 = Output
Config Pinb.4 = Input

DECLARE Sub Cek_jarak

DO
CALL CEK_JARAK
PRINT DATA_JARAK
LOOP

Sub Cek_jarak:
Reset Triger
Waitus 10
Set Triger
Waitus 20
Reset Triger
Tcnt0 = 0
Bitwait Pecho , Set
Start Timer0
Do
If Pecho = 0 Then
Data_jarak = Tcnt0
Stop Timer0
Exit Do
End If

If Tifr.0 = 1 Then
Stop Timer0
Tifr.0 = 1
Data_jarak = &HFF
Exit Do
End If
Loop
Stop Timer0
Waitms 15
End Sub