code vision untuk USART0 &USART1 ATMEGA 128 “printf”

7 Desember 2010

tulisan ini iseng saja. hhehehehe, diperuntukan bagi penggemar codevision seluruh indonesia. nah jika punya masalah dengan source code untuk mengeluarkan data serial ke USART1 tapi ingin memakai fungsi printf, ini saya punya contohnya.

anda maju saya juga maju, anda kaya saya mah tidak kebagian. sukseslah.

nanti source codenya diketik manual lagi. hehehehehhee, gempor gempor, ini source nya

#include <mega128.h>
#include <delay.h>

#define RXB8 1
#define TXB8 0
#define UPE 2
#define DOR 3
#define FE 4
#define UDRE 5
#define RXC 7

#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<DOR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)

#define _ALTERNATE_PUTCHAR_

#include <stdio.h>

#define USART0 0
#define USART1 1
unsigned char poutput;

void putchar(char c)
{
switch (poutput)
{
case USART0: // the output will be directed to USART0
while ((UCSR0A & DATA_REGISTER_EMPTY)==0);
UDR0=c;
break;

case USART1: // the output will be directed to USART1
while ((UCSR1A & DATA_REGISTER_EMPTY)==0);
UDR1=c;
break;
};
}

// Declare your global variables here

void main(void)
{
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: On
// USART0 Transmitter: On
// USART0 Mode: Asynchronous
// USART0 Baud Rate: 9600
UCSR0A=0x00;
UCSR0B=0x18;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x47;

// USART1 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART1 Receiver: On
// USART1 Transmitter: On
// USART1 Mode: Asynchronous
// USART1 Baud Rate: 9600
UCSR1A=0x00;
UCSR1B=0x18;
UCSR1C=0x06;
UBRR1H=0x00;
UBRR1L=0x47;

ACSR=0x80;
SFIOR=0x00;

while (1)
{
poutput=USART0;
printf(“kirim usart 0, dhani heheh tea\r\n”);
delay_ms(1000);
poutput=USART1;
printf(“kirim usart 1, dhani kasep tea\r\n”);
delay_ms(1000);
poutput=USART0;
printf(“key electronic- open source sejati\r\n”);
delay_ms(1000);
poutput=USART1;
printf(“support source code mah bayar atuh\r\n”);
delay_ms(1000);
printf(“linux juga kalo support bayar\r\n”);
delay_ms(1000);
};
}

simulasi proteusnya

 

key electronic, solution microcontroler. ayo teman teman NEKATZ INSTRUMENT, SAIZOKU COMUNITY, TASIK INSTRUMENT, kita buat PT. kerjasama kita sudah terbukti waktu pengerjaan robot. kalian ke JAKARTA lah. aku tunggu.


aplikasi sensor PIR dengan AVR TRAINER 2.0

23 November 2010

Ceritanya di kontrakan saya ada yang kemalingan motor. tapi itu sudah terjadi. untuk meningkatkan keamanan kontrakan, saya sebagai sarjana lulusan t.elektro masa tidak mampu membuat alat pendeteksi maling, atau kalo tidak mampui buat pun masa tidak tahu harus beli dimana alat tersebut. .

ini baru contoh simple saja. saya tadi membeli sensor PIR di universal electronic harganya 65.000. lumayan bisa di aplikasikan untuk pendeteksi manusia. karena ini hanya modul yang mudah digunakan,saya langsung saja, pasangkan modul PIR dengan modul avr trainer 2.0.

pada modul PIR ada 3 pin terdiri dari vcc,out dan gnd, untuk supply nya saya kasih 5v.

Keluaran dari modul PIR yang saya beli ini ketika ada manusia yaitu 3.5 v, dan ketika tidak ada yaitu 0 v. nah gampang sekali. udah saja saya langsung sambungkan dengan pin biasa misalanya pind.7. nah program utamanya seperti ini.

for(;;)
{
if(bit_is_set(PIND,7))
{
lcd_clrscr();
lcd_goto(line1);
lcd_puts(“ada penjahat”);
buzzer_hi;
_delay_ms(1000);
buzzer_lo;
_delay_ms(1000);
}
else
{
lcd_goto(line1);
lcd_puts(“aman aman saja”);
}
}

ini photo sensor pir nya

 

pemasangan sensor pir di jendela

 

nah mungkin untuk ke depannya akan saya tambahkan lagi beberapa sensor, mungkin akan saya tambahkan sensor IR,


membuat player file wav dengan avr ,dac r-2r, mmc dengan simulasi proteus.

17 November 2010

mungkin banyak proyek yang memakai modul suara soklah saya akan mencoba menjelaskannya se detail mungkin. tapi kalo ada yang dapat projek terus memanfaatkan artikel saya ini, heheheheh biasa royalti 10% per alat. hehehehe. bagi bagilah. anda kaya saya pun kebagian atuh.

bahan yang harus di sediakan:

- komputer.

- proteus, versi nya yang sudah ada MMC nya.

- winhex.

-goldwave.

-avr studio +avr gcc (bahasa c).

sekarang kita buat skematik bohong bohongannya di proteus

 

di buat saja dulu di proteus. nah kalo malas buat bisa di download file proteus nya disini

udah segitu dulu. sok cari heula. besok saya update.


bermain main dengan xbee pro 100 mWatt

16 November 2010

dapat juga kesempatan ngoprek modul xbee pro, padahal dulu kalo bantuin expert swarm ugm krci 2008 sudah ngoprek tuh. ya tapi kesempatannya baru dapat sekarang. ini pun ngerjain project orang lain. lumayan lah.

udah banyak kok yang bahas. ngga perlu di bahas aja. mau pamer photo saja. wkwkwkkww

kalo sudah sering memakai komunikasi serial pasti bisalah memakai modul ini. kaya nya dalam modul ini penerimaan data sudah ditangani sama chip di dalamnya, jadi data yang di keluarkan dari serial xbee pro sudah valid, kalo tidak valid modul ini tidak akan mengeluaran data serial.

maksudnya cek error komunikasi datanya sudah di tangani sama modul ini. beruntunglah yang memakai modul ini, karena ngga terlalu pusing ngurus crc atau cheksum. sok maronggo lah, paleser tah.

saya ngetest kalo dalam ruangan  banyak halangan kira kira 50 m. Kalo LOS katanya 1.6km Sa ya belum pernah nyoba

nah ini blog mungkin dapat membantu anda untuk ngoprek xbee pro

http://forums.trossenrobotics.com/tutorials/how-to-diy-128/xbee-basics-3259/

http://www.kei-elektronik.com/


STANDALONE PROGRAMMER AVR

27 Oktober 2010

standalone programmer atau alat copy mcu, atau downloader tanpa PC. ini saya buat karena saya memerlukan sebuah alat downloader tapi dapat hidup tanpa sebuah KOMPUTER.  maklum saya cuma punya 1 komputer, kalo saya pergi ke luar kota, wah proses produksi key electronic terganggu.akhirnya dengan menggunakan BOARD AVR TRAINER 2.0. saya membuat firmware nya. berikut hasilnya. ayo beli modul avr trainer 2.0. dapat source code stand alone programmer.

menu nya ada 7:

1. cek ic  : maksudnya mengecek enable spi, apakah masih berfungsi atau tidak

2. baca flash : membaca flash ic kemudian datanya disimpan di eeprom

3.tulis flash : mengisi flash ic tujuan dengan data yang sebelumnya disimpan di eeprom

4. hapus flash: menghapus isi flash

5.baca fusebit : membaca fusebit

6. tulis fusebit: menyetting fusebit sesuai dengan keingin kita

7. read signature.

nah ini instruksi set dari datasheet atmega8

AYO segera beli MODUL AVR TRAINER 2.0. dapatkan segera bonus standalone programmer.

ini source code nya dapat di download

hubungi : DHANI NUGRAHA (085228292473)


sekilas tentang SPI

17 Oktober 2010

tulisan ini hanya basa basi aja, tidak ada ilmu tambahan selain di datasheet ATMEL. tujuan belajar SPI yaitu kita akan membuat standalone programmer AVR(artinya kita akan membuat sebuah alat untuk memprogram IC AVR tanpa komputer), mungkin nantinya banyak digunakan di pabrik pabrik yang memakai mikrokontroler,

“UNTUK YANG DCS BIKIN SENDIRI SAJA”

SPI merupakan kepanjangan dari Serial Peripheral Interface, Protokol SPI ini sudah umum digunakan oleh pecinta mikrokontroler,  pada ic avr sudah ada hardware untuk menangani komunikasi SPI, nah untuk ic yang belum ada hardware spi nya protokol ini dapat di buat secara software.

Ada 2 macam mode SPI yaitu

1.   Satu master, satu slave

2.   Satu master, beberapa slave

 

register register pada avr yang berhubungan dengan SPI:

1. SPCR

2. SPSR

SPCR(SPI Control Register)  merupakan register control SPI untuk mengatur aktivasi SPI, mode SPI dan kecepatan data transfer SPI.

SPSR(SPI Status Register) merupakan register  untuk pengaturan kecepatan data transfer menjadi 2x kecepatan awal.

Untuk lebih kerennya belajar SPI lihat saja di datasheet atmel

Inisialisasi SPI

inisialisai SPI untuk mode master. Inisialisasi meliputi setting port MISO,MOSI,CS,SCK, mode spi dan kecepatan transfer data. Berikut program insialisasi SPI:

void init_spi()

{

DDRB &= ~(1 << SPIDI);     // set port B SPI data input to input

DDRB |= (1 << SPICLK);     // set port B SPI clock to output

DDRB |= (1 << SPIDO);      // set port B SPI data out to output

DDRB |= (1 << SPICS);      // set port B SPI chip select to output

SPCR = (1 << SPE) | (1 << MSTR) |(1 << SPR1) | (1 << SPR0);

SPSR = (1 << SPI2X);

}

 

Membaca dan mengirim data SPI

SPDR(SPI Data Register) merupakan register untuk membaca dan menulis pada transfer data SPI. Berikut program untuk baca tulis data SPI

char spi(char d) //kirim terima 1 byte data SPI

{

char received = 0;

SPDR = d;//mengirimkan sebuah  data

while(!(SPSR & (1<<SPIF)));//menunggu SPIF sampai bernilai 1

received = SPDR;//membaca data SPDR

return (received);//

}

ya sudah dulu sekian dari saya. mungkin untuk artikel selanjutnya kita akan langsung membuat sebuah aplikasi yang menggunakan PROTOKOL SPI untuk membuat STANDALONE PROGRAMMER AVR


menghubungkan modem wavecom dengan avr trainer basic 2.0

2 Oktober 2010

modem wavecom  yang saya beli ini saya beli di toekang modem. nah jika udah punya avr trainer basic 2.0. kita tinggal menghubungkannya melalui komunikasi rs 232.

nah seperti ini gambarnya

untuk menghubungkan kita tinggal beli db-9 male 2 buah. nah yang dihubungkan kaki 2,3, dan 5.  dihungkan cross.

modem wavecom ini dapat di setting baudrate nya. baudarate nya anatara 2400-115200. untuk menyetinggnya kita tinggal memberikan perintah at command

“AT+IPR=nilai_baudrate”

Nah setelah itu agar baudratenya tersimpan di modem wavecom maka harus disimpan,perintah at commandnya

“AT&W”

modem wavecom ini juga dapat direset secara software maupun secara hardware. nah kalo secara software dengan perintah

“AT+CFUN”

AT COMMAND YANG SERING DI PAKAI

AT+CMGL=”ALL” //BACA SMS
AT+CMGD=1,4 // DELETE SMS
ATE0 //KILL ECHO
AT+CUSD=1,*888# CEK PULSA
AT+CFUN=1 //RESTART
AT+IPR=BAUDARATE
AT&W // SAVE

Untuk aplikasi saya membuat contoh program untuk mematikan dan menyalakan led pada portb.0. kemudian modem akan mengirim report balik kepada nomor yang memerintahnya. nomor yang memerintahnya bebas, asalakna kata kunci yang disms kan benar.

udah langsung saja download programnya



Ikuti

Get every new post delivered to your Inbox.

Bergabunglah dengan 42 pengikut lainnya.