ForSa punya logo baru!! Ada komen?
0 Anggota dan 1 Pengunjung sedang melihat topik ini.
HP Siemens C45 & MK ATmega8535 + LCD 16*2 gw pingin nyoba program sederhana "mengirim SMS" ke nomer HP yg dituju & "menerima SMS" yg kemudian ditampilin di LCD
gw lagi bikin project pake HP Siemens C45 & MK ATmega8535 + LCD 16*2, gw pingin nyoba program sederhana "mengirim SMS" ke nomer HP yg dituju & "menerima SMS" yg kemudian ditampilin di LCD, tp kok susah amad yaa???
ada yg bs bantu gw ngasi contoh listing program pake bahasa C ga? ntar gw bandingin ama pny gw jd mudah2an bisa tw ksalahan gw ada dmana.
gw rasa interface pake RS232 yg gw colokin si mungkin uda bener. jadi masalahny cm di listing programny nih
NB : buat bos Too Payzgw sempet masuk k blog anda,, isinye EMPAT JEMPOL DAH gw jg blajar USART dari sanee,, makasi bgt ya boss,, uda bikin blog yg berguna
gw baru tau kalo antara Siemens C45 dengan MK ATmega8535 tu ga pake interface apa2,, cm langsung dicolokin ajee :- TX hp dengan RX mk- RX hp dengan TX mk- GND hp dengan GND mkkarena level tegangan HP & MK tu sama2 TTL (katanye temen gw),,
nah sekarang masalah gw ni,, gw pernah baca PDU via LCD,, diakhir PDU terima SMS tu ada gambar2 aneh :07F6B06||||OKnah gambar || tu artinyee apaan yaa ??
nah kalo pada saat inisialisasi seperti :for (w=0;w<=83;w++){ambil_PDU[w]=getchar();}programnye tu berenti (kalo "w<=82" ntu masi ga apa2),, ntu kenapa ya???perilakunye kok aneh2
w=0;while (huruf!='K' && huruf!='R'){huruf = getchar();if (huruf, simbol, atau angka) ambil_PDU[w]=huruf; // malas ngetiknya ::) ::)w++;}
Lihat daftar ASCII pada karakter LCD 16x2. Ingat ASCII pada LCD warna biru dengan ASCII pada lcd warna kuning/hijau sedikit berbeda.Link : pranala:http://shop.tuxgraphics.org/electronic/tuxgr_blue16x2_charset.png [non-aktif] pranala:http://www.microchip.com/forums/upfiles.aspx/42312/2C13FED83A544F0B9EBD72C125C6DC61.gif [non-aktif]
if (simbol, huruf atau angka) then simpan ke arrayelse do nothing.Kode: [Pilih]w=0;while (huruf!='K' && huruf!='R'){huruf = getchar();if (huruf, simbol, atau angka) ambil_PDU[w]=huruf; // malas ngetiknya ::) ::)w++;}
btw,, ni contoh program gw yg gw buat untuk nyalain & matiin lampu oiyaa,, ini USARTnya gw pake interrupt (sementara gw delete soalnye kagak cukup)
char pesan_nyala[]={'0','5','E','E','7','C','9','8','1','D','0','6'};char pesan_mati[]={'0','4','E','D','3','0','3','D','0','D'};
lcd_clear();lcd_gotoxy (0,0);lcd_putsf("SET ate0 :");delay_ms(500);printf("ate0");putchar(13);while (getchar()!='O');while (getchar()!='K');
lcd_clear();lcd_gotoxy (0,0);lcd_putsf("Deleting SMS :");delay_ms(500);printf("AT+CMGD=1");putchar(13);while (getchar()!='O');while (getchar()!='K');delay_ms(1000);printf("AT+CMGD=2");putchar(13);while (getchar()!='O');while (getchar()!='K');lcd_gotoxy (0,1);lcd_putsf("SMS DELETED");delay_ms(500);
while (getchar()!='K');
void read_SMS(){ looping: lcd_clear(); lcd_gotoxy (0,0); lcd_putsf("Menunggu SMS"); printf("AT+CMGL=0"); putchar(13);
if (getchar()=='O') { } if (getchar()=='O') { } if (getchar()=='O') { } if (getchar()=='O') { } if (getchar()=='O') { }
for (x=0; x<5; x++) if (getchar()=='O'); // titik koma saja n g usa {} = do nothing
...........Coding cek pesan nyala n pesan mati g di tulis panjang bgt.. ...........
buzzer_kedip2(); lcd_clear(); lcd_gotoxy (0,0); lcd_putsf("ADA SMS MASUK"); delay_ms(1000); printf("AT+CMGR=1"); putchar(13); while (getchar()!='+'); x = 0; // variabel tambahan ke = 0; // variabel tambahan // ram_bebas juga variabel tambahan while (ram_bebas!='K' && ram_bebas!='R') { ram_bebas=getchar(); // di ram saja mayan hemat memori if (x>=63 && x<=74) // cuma 12 karakter (NYALA) { ambil_PDU[ke] = ram_bebas; ke++; } x++; } // bandingkan apakah NYALA atau MATI
lcd_clear(); lcd_gotoxy (0,0); lcd_putsf("OK"); delay_ms(1000); goto looping; }
$crystal=12000000$baud=9600Print "ATD0857297XXXXX";chr(13)wait 2
$crystal=12000000$baud=9600Print "AT+CMGF=1"waitms 500Print "AT+CMGS="; chr(34);"+628572XXXXX";chr(34) wait 1Print "TESTING SMS";chr(26)wait 1