Forum Sains Indonesia




*

Artikel Sains

Aku Cinta ForSa

ForSa on FB  ForSa on Twitter

Pranala Luar

ShoutBox!

Last 10 Shouts:

jinggapersada

Desember 11, 2014, 09:08:06 AM
GOOD DAYS sahabat saya yg berbaik hati nya salam dari saya

raqiem7

Desember 09, 2014, 09:49:41 PM
Apakah di sini ada pembahasan sains dan hubungannya dengan agama?
 

Farabi

Desember 03, 2014, 06:50:05 PM
Seorang diktator akan menuntut rakyatnya untuk mengabdi kepada negara. Padahal seharusnya negara itu menjadi pelayan masyarakat.

tolle

Desember 03, 2014, 10:23:20 AM
gan dlu aku pernah coba buat kontrol robot pake stik ps2 tpi ngak jdi,,,,
bisa minta solusinya ....?

taqwimisme

Desember 02, 2014, 12:47:34 PM
nurhalimah
hmm.. bagus blognya..

taqwimisme

Desember 02, 2014, 12:45:40 PM
hallo.. mau nannya ada yg punya tutorial labview? lagi sangat butuh untuk kuliah..  :D

NurHalimah24

Desember 02, 2014, 11:13:09 AM
Halo salam kenal semuanya. bisa kunjungi blog saya ya http://nurhalimah-24.blogspot.com/ terima kasih :)

agus.sucipto99

Desember 01, 2014, 03:32:01 PM
haloo bang syair dari medan... minta alamat email atau no tlp yg bisa dihubungi dong ????

Learner

Desember 01, 2014, 01:03:16 AM
Ini anggota forumnya masih aktif kah?

quietwave

November 30, 2014, 08:24:45 PM
halo?

Show 50 latest

Penulis Topik: SMS Kontroller  (Dibaca 6990 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
SMS Kontroller
« pada: Juni 18, 2010, 06:15:23 PM »
 ;D
Perlu bantuan nih kalian semua - semua  :D
lg bikin aplikasi sms controller buat nyalain 8 buah lampu rencananya  :)
pake atmega 16 n covi avr pkenya mode pdu
aku dah coba koneksi ke komputer n dh bisa buat kirim.

waktu aku coba kirim pake mikro ada masalah nih . . . :D
hp tuh langsung mati ....
kira kira napa yah
 aku ksh listingnya yah ...

/*****************************************************
This program was produced by the
CodeWizardAVR V2.04.4a Advanced
Automatic Program Generator
© Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com [nofollow]

Project :
Version :
Date    : 6/15/2010
Author  : NeVaDa
Company : sttw
Comments:


Chip type               : ATmega16
Program type            : Application
AVR Core Clock frequency: 12.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/

#include <mega16.h>
#include <delay.h>

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

// Declare your global variables here
#define enter putchar(0x0D);
#define nl putchar(0x0A);

char echo,AT,pdu,send,cek_send;

void cek_hp(void)
{
    printf("AT\x0D\x0A");
    while(AT!='K')
    {
    printf("AT\x0D\x0A");
    AT=getchar();
    }
PORTA.0=1;
}

void no_echo(void)
{
    printf("ATE0\x0D\x0A");
    while(echo!='K')
    {
    printf("ATE0\x0D\x0A");
    echo=getchar();
    }
PORTA.1=1;
}

void pdu_mode(void)
{
    printf("AT+CMGF=0");
    enter;
    nl;
    delay_ms(200);
    while(pdu!='K')
    {
    printf("AT+CMGF=0");
    enter;
    nl;
    delay_ms(200);
    pdu=getchar();
    }
PORTA.2=1;   
}

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 19200
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x26;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

cek_hp();
delay_ms(500);
no_echo();
delay_ms(500);
pdu_mode();
delay_ms(500);
while (1)
      {
      delay_ms(200);
      printf("AT+CMGS=29");
      enter;
      nl;
      delay_ms(1000);
      printf("0691261801000011000D91265822271261F40000AA0FE179BD5EAFD7EBF57ABD5EAFD701");
      putchar(0x1B);
            while(send!='K')
            {
            printf("AT+CMGS=29");
            enter;
            nl;
            delay_ms(1000);
            printf("0691261801000011000D91265822271261F40000AA0FE179BD5EAFD7EBF57ABD5EAFD701");
            putchar(0x1B);
            PORTA.5=1;
            send=getchar();
            }
      PORTA.4=1;
      };
}




Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
Re: SMS Kontroller
« Jawab #1 pada: Juni 19, 2010, 05:42:57 AM »
setelah smlem w coba _ coba
msh juga blm berhasil

w coba simpen data pdu di memory hp penggalan listingnya gini :

void send_atcmgw(void)
{
    while(atcmgw!='K')
    {
    printf("AT+CMGW=19\x0D");
    delay_ms(100);              //harus di pake delay kalau tidak hp mati
    atcmgw=getchar();
        if(atcmgw==0x20)
        {
        printf("0691261801000011000D91265847377221F30000AA046572D80D\x1A");
        }
        else
        {
        putchar(0x1A);
        }
    }
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("atcmgw");
lcd_gotoxy(0,1);
lcd_putsf("ok");
delay_ms(3000);   
}

hasilnya sms di inbox jd full dgn sendiri .........  ??? mungkin krna dari putchar(0x1A)
apa mungkin mikronya g mampu ngirim pdu sebnyk gt yah ??? ada yg bisa bantu g kira2 knapa ?? ???

Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
[ask] SMS Kontroller
« Jawab #2 pada: Juni 19, 2010, 10:41:54 PM »
g putus asa nih bikin penasaran . . .  kok g jadi  ;D
gue rombak - rombak lagi eh ketemu gini nih programnya  :D

void send_sms(void)
{
    while(send!='K')
    {
    printf("AT+CMGS=19\x0D");
    delay_ms(100);
    printf("0691261801000011000D91265822271261F40000AA046572D80D\x1A");   
    send=getchar();
    delay_ms(100);
        if(send!='K')
        {
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("send sms");
        lcd_gotoxy(0,1);
        lcd_putsf("waiting");
        delay_ms(3000);
        }
    }
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("send sms");
lcd_gotoxy(0,1);
lcd_putsf("sending");
delay_ms(3000);
}

program aku tes n jadi ...  ;D tpi yg aneh nih disitu kan ada prog buatmenampilkan sms waiting atw sending.
lha pas hp tu lagi g da sinyal atw mencari jaringan otmtis staus ke waiting ...
tyus bas ok dpt sinyl sms terkirim ... status g berubah .... tetep waiting harusnya kan keluar dari looping itu ... status gnti ... knpa yah ???? pa yg salah ??  ???

Offline 0y1k

  • Dosen
  • ****
  • Tulisan: 233
  • IQ: 3
  • Gender: Pria
  • بسم الله
    • Lihat Profil
Re: SMS Kontroller
« Jawab #3 pada: Juni 20, 2010, 07:59:42 AM »
g putus asa nih bikin penasaran . . .  kok g jadi  ;D
gue rombak - rombak lagi eh ketemu gini nih programnya  :D

void send_sms(void)
{
    while(send!='K')
    {
    printf("AT+CMGS=19\x0D");
    delay_ms(100);
    printf("0691261801000011000D91265822271261F40000AA046572D80D\x1A");   
    send=getchar();
    delay_ms(100);
        if(send!='K')
        {
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("send sms");
        lcd_gotoxy(0,1);
        lcd_putsf("waiting");
        delay_ms(3000);
        }
    }
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("send sms");
lcd_gotoxy(0,1);
lcd_putsf("sending");
delay_ms(3000);
}

program aku tes n jadi ...  ;D tpi yg aneh nih disitu kan ada prog buatmenampilkan sms waiting atw sending.
lha pas hp tu lagi g da sinyal atw mencari jaringan otmtis staus ke waiting ...
tyus bas ok dpt sinyl sms terkirim ... status g berubah .... tetep waiting harusnya kan keluar dari looping itu ... status gnti ... knpa yah ???? pa yg salah ??  ???

yang membuat seperti itu ya if send tidak sama dengan karakter K
jadi setiap HP mengirim data serial, lantas diterima.
Jika yang diterima itu bukan K, maka tampil itu mas

kenapa hanya ngambil karakter doank???
coba ambil textnya
buka karakter

cara ambil text yaitu pake looping pengambilan karakter
لاَ إِلَـهَ إِلاَّ اللهُ الْعَظِيْمُ الْحَلِيْمُ، لاَ إِلَـهَ إِلاَّ اللهُ رَبُّ الْعَرْشِ الْعَظِيْمُ، لاَ إِلَـهَ إِلاَّ اللهُ رَبُّ السَّمَاوَاتِ وَرَبُّ اْلأَرْضِ وَرَبُّ الْع

Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
Re: SMS Kontroller
« Jawab #4 pada: Juni 20, 2010, 10:46:09 PM »
looping karakter yah .... penjelasannya gimana tuh

Offline Too Payz

  • Dosen
  • ****
  • Tulisan: 260
  • IQ: 7
    • Lihat Profil
Re: SMS Kontroller
« Jawab #5 pada: Juni 21, 2010, 12:23:30 PM »
Wow... Mangstab...
Udah di coba dan di tes perfungsi?
Jalan atau tidak... Coba dulu satu-satu kalo berhasil baru digabungkan.

Kutip
// Declare your global variables here
#define enter putchar(0x0D);
#define nl putchar(0x0A);
Mending ga usa tulis begini biar ga bingung nanti.

Kutip
void cek_hp(void)
{
    printf("AT\x0D\x0A");
    while(AT!='K')
    {
    printf("AT\x0D\x0A");
    AT=getchar();
    }
PORTA.0=1;
}
printf("AT\x0D\x0A"); nah mending begini aja nulisnya.
Kebalik nih..
Sama buat echo juga..
Kode: [Pilih]
void cek_hp(void)
{
    AT=' '; // init karakter awal spasi atau kosong(terserah)
    while(AT!='K' && AT!='R')  // OK dan ERROR
    {
    printf("AT\x0D\x0A");
    AT=getchar();
    }
    if (AT=='K') PORTA.0=1;
    else /*kalo error*/;

Kutip
void pdu_mode(void)
{
    printf("AT+CMGF=0");
    enter;
    nl;
    delay_ms(200);
    while(pdu!='K')
    {
    printf("AT+CMGF=0");
    enter;
    nl;
    delay_ms(200);
    pdu=getchar();
    }
PORTA.2=1;    
}
Kode: [Pilih]
void pdu_mode(void)
{
    pdu=' '; // init karakter awal spasi atau kosong(terserah)
    while(pdu!='K' && pdu!='R')  // OK dan ERROR
    {
    printf("AT+CMGF=0\x0d\x0a");
    delay_ms(200);
    pdu=getchar();
    }
    if (pdu=='K')    PORTA.2=1;   
    else /*kalo error ??*/;
}
terlihat klo fungsi, PDU, AT, echo mirip.
Coba sederhanakan jadi cukup 1 fungsi saja.
Bisa kok..

Kutip
printf("AT+CMGS=29");
.....................
      putchar(0x1B);
.....................
            while(send!='K')
            {
            printf("AT+CMGS=29");
            enter;
            nl;
            delay_ms(1000);
AT+CMGS=29 apa yak ?? lopa aku...
trus putchar 0x1B apa?
Kok pake memori HP fungsinya buat apa ?
Memori Mikro masi ebih dari cukup kok..
« Edit Terakhir: Juni 21, 2010, 12:49:05 PM oleh Too Payz »

Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
Re: SMS Kontroller
« Jawab #6 pada: Juni 22, 2010, 06:42:39 PM »
aku lagi coba bikin program buatbaca data pdu nya nih .. temen temen ada yg bisanagsih tips nya ga ?? seputar cara membaca datanya

Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
Re: SMS Kontroller
« Jawab #7 pada: Juni 24, 2010, 01:12:45 AM »
aku coba buat data buat baca pdunya tyus ditampilan ke lcd dibwh data diambil dai komputer blm dari mikro :
 
at+cmgr=1

+CMGR: 1,,22
06912618010000240D91265822476131F400000160321201908202C834

OK


dalam hexnya
00000000: 0D 0A 2B 43 4D 47 52 3A |  20 31 2C 31 2C 2C 32 32     ..+CMGR: 1,1,,22 
00000010: 0D 0A 30 36 39 31 32 36  |  31 38 30 31 30 30 30 30     ..06912618010000 
00000020: 32 34 30 44 39 31 32 36  |  35 38 32 32 34 37 36 31     240D912658224761 
00000030: 33 31 46 34 30 30 30 30  |  30 31 36 30 33 32 31 32     31F4000001603212 
00000040: 30 31 39 30 38 32 30 32  |  43 38 33 34 0D 0A 0D 0A    01908202C834.... 
00000050: 4F 4B 0D 0A                                                           OK..             

void read_sms1(void)
{
unsigned int x,msg,atcmgr1,msg5;
char buffer2[82],msg2[82],msg3[82],msg4[82];
atcmgr1=' ';


    while (getchar()!='K')
    {
    printf("AT+CMGR=1\x0D");
    delay_ms(100);
        for(x=0;x<82;x++)
        {
        msg3
  • =getchar();

        }
   
    lcd_clear();
    lcd_gotoxy(0,0);
    lcd_putsf("wait respon");
        for(x=0;x<82;x++)
        {
        msg5=msg3
  • ;

        lcd_gotoxy(0,1);
        lcd_putsf("   ");
        lcd_gotoxy(0,1);
        sprintf(msg4,"%x",msg5);
        lcd_puts(msg4);
        delay_ms(2000);
        }
    }

tyus dicoba dari mikro data kebaca sampia terakhir ... n dah ku bandingin bnar .. tp disini kok looping terus yah .. kan harusnya ketika menjumpai karakter 'K' pengambilan data slese g looping napa yah ??  ???

Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
Re: SMS Kontroller
« Jawab #8 pada: Juni 24, 2010, 01:16:43 AM »
maaf ada kesalahan, yang dari looping for pertama gini :
for(x=0;x<82;x++)
        {
        msg3
  • =getchar();

        }

dan yang looping for kedua

for(x=0;x<82;x++)
        {
        msg5=msg3
  • ;

        ................................

Offline 0y1k

  • Dosen
  • ****
  • Tulisan: 233
  • IQ: 3
  • Gender: Pria
  • بسم الله
    • Lihat Profil
Re: SMS Kontroller
« Jawab #9 pada: Juni 24, 2010, 04:55:52 PM »
looping terus??
kan itu karakter K udah diambil sebelumnya...
jadi nanti saat getchar selanjutnya itu ya karakter "."

coba ganti 82 menjadi 81

Offline 0y1k

  • Dosen
  • ****
  • Tulisan: 233
  • IQ: 3
  • Gender: Pria
  • بسم الله
    • Lihat Profil
Re: SMS Kontroller
« Jawab #10 pada: Juni 24, 2010, 05:01:16 PM »
oh iyah, coba kayak gini mas

printf("AT+CMGR=1\x0D");
delay_ms(100);
    while (getchar()!='K')
    {
        msg3 =getchar();
        msg5=msg3;
        }

Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
[ask] SMS Kontroller
« Jawab #11 pada: Juni 24, 2010, 08:01:25 PM »
 :D
udah ketemu bro .....  ;D mantanpssssssssss...................... tgl bikin perbanding antar data >:D

Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
Re: SMS Kontroller
« Jawab #12 pada: Juni 26, 2010, 06:13:46 AM »
2 hri byum ketemu juga ......  weleh weleh .... mumet ......   

Offline 0y1k

  • Dosen
  • ****
  • Tulisan: 233
  • IQ: 3
  • Gender: Pria
  • بسم الله
    • Lihat Profil
Re: SMS Kontroller
« Jawab #13 pada: Juni 30, 2010, 09:54:49 AM »
2 hri byum ketemu juga ......  weleh weleh .... mumet ......   
apa yang belum ketemu???
share atuh... ntar kita selesaikan.. hehehe

masalah pembanding data??
data apa yang dibandingkan??
k'lo data string perlu ada sedikit cara
tidak seperti data yang lain

sedikit pengetahuan
untuk data string
str1[] = "halo"
ini sama dengan
str1[] = {'h','a','l','o','\x0'}

wah semoga membantu untuk membandingkan data string yah.. hehehe
string tidak akan bisa membandingkan seperti ini
str1 == str2

namun perlu dicek karakter per karakter

Offline haglan

  • Mahasiswa
  • **
  • Tulisan: 29
  • IQ: 1
  • Gender: Pria
    • Lihat Profil
Re: SMS Kontroller
« Jawab #14 pada: Juli 03, 2010, 06:53:25 PM »
kalo di library string kayanya bisa yah ?? lgsng dibandingin lg pelajari library string nya nih

 

Topik Terkait

  Subyek / Dimulai oleh Jawaban Tulisan terakhir
1 Jawaban
5385 Dilihat
Tulisan terakhir Oktober 07, 2009, 05:02:35 PM
oleh heru.htl
0 Jawaban
1485 Dilihat
Tulisan terakhir Oktober 07, 2009, 02:10:41 PM
oleh vegasafiq
8 Jawaban
5603 Dilihat
Tulisan terakhir April 27, 2013, 06:20:02 PM
oleh ifank
25 Jawaban
11138 Dilihat
Tulisan terakhir April 30, 2012, 07:44:23 PM
oleh zoldik
0 Jawaban
2239 Dilihat
Tulisan terakhir Januari 27, 2011, 10:00:51 PM
oleh reborn

Copyright © 2006-2014 Forum Sains Indonesia