Forum Sains Indonesia




*
Selamat datang, Pengunjung. Silahkan masuk atau mendaftar. Apakah anda lupa aktivasi email?
Pebruari 10, 2012, 08:11:25 PM

Masuk dengan nama pengguna, kata sandi dan lama sesi

Artikel Sains

Aku Cinta ForSa

  ForSa on FB  ForSa on Twitter

Pranala Luar

ShoutBox!

Last 10 Shouts:

 

dzikripratama

Hari Ini jam 01:34:08 PM
 :) ;) :D ;D
 

dzikripratama

Hari Ini jam 01:33:39 PM
duh,cape habis ekskul di sklh
 

semut-ireng

Hari Ini jam 07:37:05 AM
 :)
 

exile_rstd

Kemarin jam 06:04:39 PM
sampai di Tangerang jam 05.30 pagi. seneng udh plg tapi jadi kangen sm Yogya ;D
 

MonDay

Kemarin jam 01:56:29 PM
boleh promosi ga dsn ya?
 

lam_lavoisier09

Kemarin jam 12:03:50 PM
salam kenal semua,,, ikut nimbrung yoo.. :)
 ;)
 

semut-ireng

Kemarin jam 08:30:33 AM
 :)
 

Farabi

Pebruari 08, 2012, 08:04:23 PM
Semut: Kirain dah mahasiswa. Bagus kan, jadi terpacu buat belajar. ;D Heu...
 

semut-ireng

Pebruari 07, 2012, 06:24:47 PM
lagian guru gw kenceng banget,  yang ga ngerjakan PR ditulis di papan pengumuman ..... ;D
 

dzikripratama

Pebruari 07, 2012, 04:18:13 PM
aduh pusing banyak PR :)

Show 50 latest

Penulis Topik: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help  (Dibaca 5240 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline vallenangelict

  • Siswa Baru
  • *
  • Tulisan: 5
  • IQ: 1
    • Lihat Profil
bos, gw butuh bantuan ni  ;D
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 uda nyoba listing program dari banyak source yg gw dapet tp kagak bs smuaaaaa. & gw rasa interface pake RS232 yg gw colokin si mungkin uda bener. jadi masalahny cm di listing programny nih  :-\

Offline jatihisivalley

  • Mahasiswa
  • **
  • Tulisan: 14
  • IQ: 1
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #1 pada: Maret 08, 2010, 09:22:49 AM »
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

Tips:
- Pelajari AT Command - khususnya untuk C45 -
- Pelajari buffered (ring buffer) serial ISR (interrupt service routine)
- Pelajari command parsing (yang di akhiri 0x0D, 0x0A)
- sebelum terjun ke mikrokontroller,kenali dulu "kelakuan" C45 anda lewat hiperterminal, cari software hyperteminal dan serial spy
- dan jika ingin lebih serius... jangan pake C45, yang biasa si pake untuk M2M-based-design (gsm enabled device)... spesialisnya SIM300... banyak tuh yang udah pake... kami juga sudah bikin beberapa project yang interface di dalam nya untuk RTU (realtime unit),remote monitoring system,tracking system..
- "Penyederhanaan Algonya" :
   - AT+CMGS (kirim)
   - Tunggu AT+CMTI (baca)
   - AT+CMGR  (baca)

   -.... blah-blah :D .... jika M2M anda format sms-nya PDU, ya mesti bikin sendiri routine decode/encode PDU format

« Edit Terakhir: Maret 08, 2010, 09:25:11 AM oleh jatihisivalley »

Offline Too Payz

  • Dosen
  • ****
  • Tulisan: 260
  • IQ: 6
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #2 pada: Maret 13, 2010, 12:44:54 PM »
Kutip
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???
Gampaang...  ::)   ::)

Kutip
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.
Coba share dlu codingnya biar bisa dikoreksi bersama...  ;D   ;D

Kutip
gw rasa interface pake RS232 yg gw colokin si mungkin uda bener. jadi masalahny cm di listing programny nih  :-\
Jangan pakai perasaan... test dulu dengan komputer menggunakan Hyperterminal atau terminal bawaan CoViAVR.
Kalo komunikasi dengan komputer OK Mikro pasti OK..
 ;)  ;)

Offline vallenangelict

  • Siswa Baru
  • *
  • Tulisan: 5
  • IQ: 1
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #3 pada: Maret 18, 2010, 08:48:57 PM »
wahaha,, uda lama g ke forum ni,,  ;D
buat bos2 semuanya yg ada d atas gw,, makasih bgt buat smua masukannyee  :-* :-* :-*
gw lupa mulai kpn,, gw uda bisa masalah sms ntu,, ternyata emang gampang bgt.
ternyata masalahnye cm di sirkuit,, 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 mk

karena level tegangan HP & MK tu sama2 TTL (katanye temen gw),,
RS232 tu ga da gunanyeeeeee  :o :o :o (gw emang bego buanget)  :D

nah sekarang masalah gw ni,, gw pernah baca PDU via LCD,, diakhir PDU terima SMS tu ada gambar2 aneh :

07F6B06||
||
OK

nah gambar || tu artinyee apaan yaa ??  ??? ???

jd misalnye waktu PDU gw simpen di array & gw baca :
- array ke 73 membaca "0"
- array ke 74 membaca "6"
- array ke 75 membaca "||"
- array ke 76 membaca "  " (kosong)
- array ke 77 membaca "||"
- array ke 78 membaca "  " (kosong)
- array ke 79 membaca "O"
- array ke 80 membaca "K"
- array ke 81 membaca "||"
- array ke 82 membaca " " (kosong)

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  ??? ??? ???

Offline vallenangelict

  • Siswa Baru
  • *
  • Tulisan: 5
  • IQ: 1
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #4 pada: Maret 18, 2010, 08:55:10 PM »
NB : buat bos Too Payz
gw sempet masuk k blog anda,, isinye EMPAT JEMPOL DAH  ;D ;D ;D
gw jg blajar USART dari sanee,, makasi bgt ya boss,, uda bikin blog yg berguna  :-*

Offline Too Payz

  • Dosen
  • ****
  • Tulisan: 260
  • IQ: 6
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #5 pada: Maret 18, 2010, 11:52:11 PM »
Kutip
NB : buat bos Too Payz
gw sempet masuk k blog anda,, isinye EMPAT JEMPOL DAH  ;D ;D ;D
gw jg blajar USART dari sanee,, makasi bgt ya boss,, uda bikin blog yg berguna  :-*
Sama-sama...
Ga da yang gratis termasuk blog-ku.. jadi....
JAngan lupa doanya buat aku ya...   ::)   ::)

Begini nih yg wa suka...
BUka blog.. Baca... Coba sendiri...trus Bisa sendiri....
Nambah semangat buat update blog nih...  ;D   ;D   ;D

Offline Too Payz

  • Dosen
  • ****
  • Tulisan: 260
  • IQ: 6
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #6 pada: Maret 19, 2010, 12:13:55 AM »
Kutip
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 mk
karena level tegangan HP & MK tu sama2 TTL (katanye temen gw),,
Tepat sekali...  ;D  ;D
Btw ada Siemens tipe yang level TTL 3,3 Volt, jadi menambahkan konverter 5Vdc ke 3Vdc.
Kutip
nah sekarang masalah gw ni,, gw pernah baca PDU via LCD,, diakhir PDU terima SMS tu ada gambar2 aneh :

07F6B06||
||
OK

nah gambar || tu artinyee apaan yaa ??&nbsp; ??? ???
Lihat daftar ASCII pada karakter LCD 16x2. Ingat ASCII pada LCD warna biru dengan ASCII pada lcd warna kuning/hijau sedikit berbeda.
Link :
http://shop.tuxgraphics.org/electronic/tuxgr_blue16x2_charset.png
http://www.microchip.com/forums/upfiles.aspx/42312/2C13FED83A544F0B9EBD72C125C6DC61.gif

Karakter "||" ditampilkan jika nilai Heksadesimal tidak terdaftar pada list ASCII tersebut.
PDU kan terdiri dari huruf, angka, dan simbol-simbol tertentu jadi pada Coding tambahkan misalnya seperti ini :
if (simbol, huruf atau angka) then simpan ke array
else do nothing.

Kutip
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  ??? ??? ???
Coba ubah w<=255 tapi jangan lupa sesuaikan variabel array ambil_PDU[256];
Atau sesuaikan jumlah array dgn Maksimum karakter SMS yang akan diterima.

Tapi mending jangan gunakan for (w=0;w<=83;w++)
Saya lebih suka mendeteksi karakter "K" (OK) atau karakter "R" (ERROR) sebagai indikator akhir pembacaan PDU SMS...
kan kalo SMS berhasil dibaca akhirnya pasti ada OK.
dan kalo SMS gagal dibaca akhirnya pasti ada ERROR.
Kode: [Pilih]
w=0;
while (huruf!='K' && huruf!='R')
{
huruf = getchar();
if (huruf, simbol, atau angka) ambil_PDU[w]=huruf; // malas ngetiknya  ::)   ::)
w++;
}
Met mencoba..  :D  ;)  ;D
« Edit Terakhir: Maret 19, 2010, 12:17:14 AM oleh Too Payz »

Offline vallenangelict

  • Siswa Baru
  • *
  • Tulisan: 5
  • IQ: 1
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #7 pada: Maret 19, 2010, 01:17:42 AM »
Kutip
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]
hehe,, sebelumnye gw uda liad kok boz,, itu juga ada di blog anda kalo ga salah  ;)

Kutip
if (simbol, huruf atau angka) then simpan ke array
else 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++;
}

hehehe,, maap bos,, gw blum sempet nyoba,, ni gw aja uda mw bubug  :P
besok gw cobain de  ;D ;D ;D
btw,, makasi bgt ya bozz  :-*

Offline vallenangelict

  • Siswa Baru
  • *
  • Tulisan: 5
  • IQ: 1
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #8 pada: Maret 19, 2010, 01:23:25 AM »
btw,, ni contoh program gw yg gw buat untuk nyalain & matiin lampu  ;)
oiyaa,, ini USARTnya gw pake interrupt (sementara gw delete soalnye kagak cukup)

#include <mega8535.h>
#include <delay.h>

#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>

#define buzzer PORTA.0
#define lampu PORTA.1

// Standard Input/Output functions
#include <stdio.h>

// Declare your global variables here

char ambil_PDU[100];
int w,n;
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'};

void read_SMS();
void delete_SMS();
void buzzer_kedip2();

void main(void)
{
DDRA=0b00000011;

UCSRA=0x00;
UCSRB=0xD8;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x26;

ACSR=0x80;
SFIOR=0x00;

// LCD module initialization
lcd_init(16);

// Global enable interrupts
#asm("sei")

lcd_gotoxy (0,0);
lcd_putsf("Cek Koneksi HP");
delay_ms(2000);

lcd_clear();
lcd_gotoxy (0,0);
lcd_putsf("SET ate0 :");
delay_ms(500);
printf("ate0");
putchar(13);
while (getchar()!='O');
while (getchar()!='K');
lcd_gotoxy (0,1);
lcd_putsf("ate0 SUKSES");
delay_ms(500);

lcd_clear();
lcd_gotoxy (0,0);
lcd_putsf("SET at :");
delay_ms(500);
printf("at");
putchar(13);
while (getchar()!='O');
while (getchar()!='K');
lcd_gotoxy (0,1);
lcd_putsf("at SUKSES");
delay_ms(500);

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);

lcd_clear();
lcd_gotoxy (0,0);
lcd_putsf("SIAP TERIMA SMS");
delay_ms(1000);

while (1)
{   
        read_SMS();       
}
}

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') { }
        else
        {
                {
                        buzzer_kedip2();
                        lcd_clear();
                        lcd_gotoxy (0,0);
                        lcd_putsf("ADA SMS MASUK");
                        delay_ms(1000);
                        printf("AT+CMGR=1");
                        putchar(13);
                        while (getchar()!='+');

                        for (w=0;w<=80;w++)
                        {       
                                ambil_PDU[w]=getchar();
                        }
                        delay_ms(1000);
                        if (ambil_PDU[80]=='K')
                        {
                                printf("AT+CMGR=1");
                                putchar(13);
                                while (getchar()!='+');
                                for (w=0;w<=74;w++)
                                {       
                                        ambil_PDU[w]=getchar();
                                }
                                if ((ambil_PDU[63]==pesan_nyala[0])&&
                                (ambil_PDU[64]==pesan_nyala[1])&&
                                (ambil_PDU[65]==pesan_nyala[2])&&
                                (ambil_PDU[66]==pesan_nyala[3])&&
                                (ambil_PDU[67]==pesan_nyala[4])&&
                                (ambil_PDU[68]==pesan_nyala[5])&&
                                (ambil_PDU[69]==pesan_nyala[6])&&
                                (ambil_PDU[70]==pesan_nyala[7])&&
                                (ambil_PDU[71]==pesan_nyala[8])&&
                                (ambil_PDU[72]==pesan_nyala[9])&&
                                (ambil_PDU[73]==pesan_nyala[10])&&
                                (ambil_PDU[74]==pesan_nyala[11]))
                                {
                                        buzzer_kedip2();
                                        lampu=1;
                                        lcd_clear();
                                        lcd_gotoxy (0,0);
                                        lcd_putsf("LAMPU MENYALA");
                                        delete_SMS();
                                }
                        }

                        if (ambil_PDU[78]=='K')
                        {
                                printf("AT+CMGR=1");
                                putchar(13);
                                while (getchar()!='+');
                                for (w=0;w<=72;w++)
                                {       
                                        ambil_PDU[w]=getchar();
                                }
                                if ((ambil_PDU[63]==pesan_mati[0])&&
                                (ambil_PDU[64]==pesan_mati[1])&&
                                (ambil_PDU[65]==pesan_mati[2])&&
                                (ambil_PDU[66]==pesan_mati[3])&&
                                (ambil_PDU[67]==pesan_mati[4])&&
                                (ambil_PDU[68]==pesan_mati[5])&&
                                (ambil_PDU[69]==pesan_mati[6])&&
                                (ambil_PDU[70]==pesan_mati[7])&&
                                (ambil_PDU[71]==pesan_mati[8])&&
                                (ambil_PDU[72]==pesan_mati[9]))   
                                {
                                        buzzer_kedip2();
                                        lampu=0;
                                        lcd_clear();
                                        lcd_gotoxy (0,0);
                                        lcd_putsf("LAMPU MATI");
                                        delete_SMS();
                                }
                        }
                        else
                        {
                                delete_SMS();       
                        }
                        lcd_clear();
                        lcd_gotoxy (0,0);
                        lcd_putsf("OK");
                        delay_ms(1000);
                        goto looping;
                }

        }
        if (getchar()=='K') { }
        for (n=0;n<=15;n++)
        {
                lcd_gotoxy (n,1);
                lcd_putsf("*");
                delay_ms(50);
        }
        goto looping;     
}

void buzzer_kedip2()
{
        buzzer=1;
        delay_ms(50);
        buzzer=0;
        delay_ms(50);
        buzzer=1;
        delay_ms(50);
        buzzer=0;
        delay_ms(50);

   
void delete_SMS()
{
        delay_ms(1000);
        printf("AT+CMGD=1");
        putchar(13);
        while (getchar()!='O');
        while (getchar()!='K');
}

ntu program uda jalan kok,, tp kok perilakunye kadang aneh2 yee??
misalnya : gw sms "nyala" ato sms "mati" untuk yg kesekian kalinya,, alatnye tu brenti pada saat tampilan LCD "LAMPU MENYALA" ato "LAMPU MATI"  :-\ :-\ :-\
ntu knape yaaa??  ??? ??? ???
& kok gw ngrasa ntu listing program kayaknya aneh bgt (terlalu boros menurut gw)  :D
maap ajee,, kemampuan bahasa C gw masi kelas teri boz,, ntu aje ga da atupun yg ngajarin jdinye rada2 ngawur deh  ;D

Offline Too Payz

  • Dosen
  • ****
  • Tulisan: 260
  • IQ: 6
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #9 pada: Maret 22, 2010, 06:39:40 PM »
Wedew Panjang juga...  ;D   ;D
Kutip
btw,, ni contoh program gw yg gw buat untuk nyalain & matiin lampu  ;)
oiyaa,, ini USARTnya gw pake interrupt (sementara gw delete soalnye kagak cukup)
Seharusnya tidak perlu pakai interupsi karena mikro yang mengendalikan "kapan terjadinya komunikasi dgn HP", kan setelah dikasi AT-coomand HP pasti jawab terus-menerus hingga ada OK atau ERROR jadi sebaiknya mikro "jangan melakukan apapun" saat komunikasi terjadi..
Kutip
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'};
Boleh juga caranya, aq g kepikiran begini...  :o   :o
Kutip
lcd_clear();
lcd_gotoxy (0,0);
lcd_putsf("SET ate0 :");
delay_ms(500);
printf("ate0");
putchar(13);
while (getchar()!='O');
while (getchar()!='K');
Biasanya saya makenya putchar(0x0D); putchar(0x0A);
atau putchar(13); putchar(10);
oiya biar di gabung 1 line bisa ditulis printf("ate0\x0D\x0A");
Singkat to..  :D
Kutip
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);
Mengapa mesti Delete 2 SMS misalkan sejak awal InBox-nya kosong gimana ??

Btw misalkan balasan bukannya OK tetapi ERROR yang berarti K "tidak akan pernah ditemui" berarti programnya g akan jalan ke bawah / nyangkut gara-gara perintah
Kode: [Pilih]
while (getchar()!='K');Bahaya ini.....  >:D   >:D
Kutip
void read_SMS()
{
        looping:
        lcd_clear();
        lcd_gotoxy (0,0);
        lcd_putsf("Menunggu SMS");       
        printf("AT+CMGL=0");
        putchar(13);
daripada looping sambil nunggu SMS mending ada tampilan LCD yang berganti-gantian atau LED kedap-kedip yang menunjukkan "programnya masih jalan" kalo g terjadi apa-apa kan bingung, ini program error atau berfungsi..
Kutip
        if (getchar()=='O') { }
        if (getchar()=='O') { }
        if (getchar()=='O') { }
        if (getchar()=='O') { }
        if (getchar()=='O') { }
Bahaya..bahaya...  >:D   >:D  Rawan nyangkut..
Bisa disingkat:
Kode: [Pilih]
for (x=0; x<5; x++)  if (getchar()=='O'); // titik koma saja n g usa {} = do nothing
Kutip
...........
Coding cek pesan nyala n pesan mati
g di tulis panjang bgt..  ::)   ::)
...........
Pusing.... Wakakakakaaaa  ;D   ;D
Codingnya memang belum sederhana...
Kesamaan NYALA n MATI atau bahkan pesan apapun sepertinya dimulai dari data PDU ke-63 jadi langsung saja dibandingkan ketika data PDU ke-63. Misal :
Kode: [Pilih]

                        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
variabel ambil_PDU[] juga g perlu sampai 100, maksimal untuk NYALA n MATI 12 saja.
Kutip
                        lcd_clear();
                        lcd_gotoxy (0,0);
                        lcd_putsf("OK");
                        delay_ms(1000);
                        goto looping;
                }
Hindari penggunaan goto Seharusnya dalam bahasa C sudah tidak ada goto karena bisa merusak alur program..

Offline kuin

  • Dosen
  • ****
  • Tulisan: 121
  • IQ: 0
  • Gender: Pria
    • Lihat Profil
    • Keep Moving Forward
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #10 pada: Maret 24, 2010, 05:05:00 AM »
mendingan pakai sony ericson T610 yang udah ada mode text, kalo PDU text kan sulit......he he he

Offline hevngate!

  • Siswa Baru
  • *
  • Tulisan: 1
  • IQ: 0
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #11 pada: Juli 08, 2010, 04:08:49 PM »
saya mau tanya soalnya udah stress bgt oprek hardware saya yang ga jalan sesuai yg saya inginkan.
saya bikin sistem penjawab SMS otomatis dengn mikrokontroler AVR ATMEGA8535. saya menggunakan HP Sony Ericsson T610 yang sudah dilengkapi teks mode untuk mempermudah pemrosesan data. dan berikut ini adalah koneksinya

GND dr hp --> gnd uC

ah untuk ngecek apakah HP ini konek ama mikronya saya coba DIAL dengan program berikut
Kode: [Pilih]
$crystal=12000000
$baud=9600

Print "ATD0857297XXXXX";chr(13)
wait 2
nah pas dicoba di HP saya ternyata bisa dialing nomer diatas, TAPI itu cuma sesaat saja, sehingga sebelum T610nya menyambungkan dengan telpon yg dituju alias sedang CONNECTING eh malah tiba2 DIAL nya BERHENTI sehingga tidak bisa menyambung. nah disini saya mulai heran kenapa bs kek gini??

tapi saya berpikir, "ah ini kan cm buat testing koneksi mikro dengan HP, toh sudah konek, lagipula saya tidak butuh command DIAL"

akhirnya saya mulai membikin program testing kirim SMS seperti berikut:
Kode: [Pilih]
$crystal=12000000
$baud=9600

Print "AT+CMGF=1"
waitms 500
Print "AT+CMGS="; chr(34);"+628572XXXXX";chr(34)
wait 1
Print "TESTING SMS";chr(26)
wait 1

ternyata malah tidak jalan sama sekali, padahal semua AT command yang sudah saya coba diatas itu sudah sesuai dengan AT command dari SE T610. adakah yang bisa tolong bantu saya  ???

Offline herlambang

  • Dosen
  • ****
  • Tulisan: 154
  • IQ: 2
  • Gender: Pria
  • uh".. kimochi^^"
    • Lihat Profil
    • Discovering The Art and Technology
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #12 pada: Juli 09, 2010, 09:27:23 PM »
waaah rame juga ya  :D
built-in double watchdog! ^^"   *Problem Solved*

Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #13 pada: Juli 11, 2010, 07:10:36 PM »
sayangnya w pernahcoba pkenyayg pdu mode hehehe yg teks aku yum pernah tuh n di pdu w jadi kirimnya ...

Offline hyman45

  • Siswa Baru
  • *
  • Tulisan: 1
  • IQ: 0
    • Lihat Profil
Re: Mikrokontroller (ATmega8535) dengan Handphone (SMS) - please help
« Jawab #14 pada: Juli 12, 2011, 01:23:21 PM »
ntu program uda jalan kok,, tp kok perilakunye kadang aneh2 yee??
misalnya : gw sms "nyala" ato sms "mati" untuk yg kesekian kalinya,, alatnye tu brenti pada saat tampilan LCD "LAMPU MENYALA" ato "LAMPU MATI"  :-\ :-\ :-\
ntu knape yaaa??  ??? ??? ???

wah sama gan masalah kita,kadang suka eror trs klo kelamaan kyk g mau kerja

 

Copyright © 2006-2011 Forum Sains Indonesia