Forum Sains Indonesia




*

Artikel Sains

Aku Cinta ForSa

ForSa on FB  ForSa on Twitter

Pranala Luar

ShoutBox!

Last 10 Shouts:

Ariie

Kemarin jam 08:05:52 PM
hey ?

ariess

September 18, 2014, 03:16:41 PM
halo ada yang onlen ?
 

Sandy_dkk

September 18, 2014, 10:55:16 AM
nulisnya kepotong y? mending tulis di forum aja.
intinya kalo soal kayak gitu buat aja persamaan aljabarnya.

irapurnamasari

September 18, 2014, 08:48:31 AM
Tolong di bantu y teman.
Sebuah bilangan terdiri atas dua angka angka puluhan 2 lebih besar dari pada tiga kali angka satuan
Jika kedua angka ditukar letaknya
Diperoleh  bilangan baru yang 13 lebih kecil dari pada bilangan mula  :
 

Sandy_dkk

September 17, 2014, 03:21:04 PM
tulis saja langsung soalnya.
koordinat apa yang diketahui? kalau koordinat busur, minimal harus diketahui 3 koordinat.

Nursaadah

September 16, 2014, 05:41:54 PM
halooo
temannn...z punya pertanyaan nih ...bgmn mencari panjang busur sebuah lingkaran jika yang di ketahui titik koordinat ???

iyon7

September 16, 2014, 09:56:49 AM
gimana sih cara bertanya ato buat diskusi
 

LabSatu

September 05, 2014, 04:47:59 PM
Halooo,, salam kenal semua dari labsatu

UlfaSeptilia

September 05, 2014, 03:26:53 PM
Selamat sore teman2 yang disini, saya mau tanya soal cisco. kalau ACL pakainya Static Routing bisa gak yah? atau harus EIGRP ama OSPF yah? Makasih sebelumnya
 

Sandy_dkk

Agustus 31, 2014, 01:36:12 PM
bukan rumit kang Farabi, tapi memang tidak bisa.

Show 50 latest

Penulis Topik: SMS Kontroller  (Dibaca 6429 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
5234 Dilihat
Tulisan terakhir Oktober 07, 2009, 05:02:35 PM
oleh heru.htl
0 Jawaban
1426 Dilihat
Tulisan terakhir Oktober 07, 2009, 02:10:41 PM
oleh vegasafiq
8 Jawaban
5251 Dilihat
Tulisan terakhir April 27, 2013, 06:20:02 PM
oleh ifank
25 Jawaban
10321 Dilihat
Tulisan terakhir April 30, 2012, 07:44:23 PM
oleh zoldik
0 Jawaban
2095 Dilihat
Tulisan terakhir Januari 27, 2011, 10:00:51 PM
oleh reborn

Copyright © 2006-2014 Forum Sains Indonesia