cep telefonu ile kumanda yapmak istiyorum...

Başlatan sahinler64, 05 Haziran 2008, 20:18:38

sahinler64

ewt kardeşler ben bir proje yapmak için kolları sıvadım.cep telefonu ile kumanda yapmak istiyorum (ama uzaktan kumandalı bomba için değil  :lol:)
sizlerin yardımıyla tabiii.sizce nereden başlamalıyım.daha önce bu konuda yazılar yazılmış ama net bir çözüm yok.daha önce bende uğraştım ve bende bir yere kadar.ama bu konuda pek bir bilgimin olmaması beni hiç bir yere götürmedi tabi.
bu konuda bir kaynak yada yardımcı bir adres istiyorum sizlerden.
SAYGILARIMLA...

atioky_216

dostum ben o işle ilgili cok arastırdım bence yapacagın dtmf sinyali ile mi yani nasıl anlatsam bilirsin herhande pic kullanım tus tonlarını tanıyıp uzaktan kontrol gibi yapması baya kolay hatta elektrotekno da boyle proje gormustum.Ama.....
sen de benim gibi bir numaradan diğer telefona cagrı gelmesi yada yollanılan mesaj da ki komutlar  la yapma dusuncen varsa Allah(c.c.) kolaylık versin..
Baya zor ama ugrasırsan halledersin insaallah.
ben ce 1. dediğimi bosver cok fason yontem..

sahinler64

yok benim düşüncem arama sırasında kendi belirlediğim şifreyi girip 1 tuşuyla roleyi açmak ve 0 tuşuyla aynı roleyi kapatabilmek...
SAYGILARIMLA...

atioky_216

bir sey soracagım ...
Belki cok sacma olacak ama mesela telefon kullanarak(asıl amac onun lcd ekranını kullanmak.) yani telefona mesaj gelince 1 mesaj alındı yazısı pic  tanıtıldıgında otomatık mesaj acılsa (yani tamam tusuna basma olayı)  orada lcd de yollayan kişi tanıtılarak gelen  mesaj içeriğine göre telefonla kontrol olabilir bence ancak baya ugrastırır.Bence olay lcd  de bitiyor..
  sizce bu nasıl yontem ?  ben seneye bunu kullanarak(yazın baslayacam insaallah) gps ile arac takip sistemi yapmayı dusunuyorum.Ama bu olaydan daha zor olacagı kesin


fikrim hakkıda yorum yazın ki sacmalayıp-sacmalamadıgımı bileyim..

atioky_216

yok benim düşüncem arama sırasında kendi belirlediğim şifreyi girip 1 tuşuyla roleyi açmak ve 0 tuşuyla aynı roleyi kapatabilmek...

sanki bu kolay gibi hocam yanlız su tus tonu işini coz picle baglantı kur telefonun hoparlorüne gelen sinyalden yararlanırsın dur bi ornek yolluyayım.

Ama 2. anlattıgım cok guzel olur eger yapan olursa
:D   keske ben yapabilsem. :cry:

kemalguler

@sahinler64,
http://www.biltek.tubitak.gov.tr/gelisim/elektronik/index.htm
2008 projeleri içinde aradığınızı bulabilirsin.Yavuz Erol Beye çok teşekkür.

ugurtelefon

Alıntı yapılan: "kemalguler"@sahinler64,
http://www.biltek.tubitak.gov.tr/gelisim/elektronik/index.htm
2008 projeleri içinde aradığınızı bulabilirsin.Yavuz Erol Beye çok teşekkür.

yukarıda linkini verdiğiniz programı daha önce incelemiştim.
büyük tesadüf diyebilirim.
banada böyle bir devre lazım.bu devreyi cep telefonuna uygun olarak monte etmek,yine başka bir sabit hat yada cep telefonundan arayarak röleleri kontrol etmek istiyorum.
yukarıdaki linkteki devre Sabit hatlı telefonlar için dizayn edilmiş.
asıl mesele GSM telefona bağlayabilmek.
sanırım üzerinde bir hayli modifiye etmek gerekecek.
meslek icabı cep telefonlarıyla  hergün haşır neşir oluyorum,işim bu .
bakalım ne yapabilriz.

ama gerçekten çok iyi açıklanmış
Yavu EROL'a bol bol teşekkürler

sahinler64

sayın hocam bu konuda pic basic ile yazılmış kısa bir örnek verme şansınız varsa çok memnun olurum...
SAYGILARIMLA...

ugurtelefon

pic yazılımlarında daha iyi olan arkadaşlardan bu konuda yardım bekliyorum.

olay şu.sayın Yavuz EROL devrede kullanılan PIC yani 16F84 için aşağıdaki şeilde bir kod yazmış.
sitede anlatıldığı ve benim anlayabildiğim kadarıyla;

PTT sinyali zili her çaldırdığında ortalama 40ms'lik 25 adet pals gönderiyor.
örneğin pic yazılımında zil 2 kere çaldıktan sonra devre açılsın diye kodlarsak,50 adet pals geldikten sonra pic devreye giriyor.

ben bu sistemi cep telefonuna şu şekilde uygulamak istiyorum.
telefonun melodisi uygun bir melodi seçilerek(örn; klasik nokia melodisi ortalama 5sn çalıyor) bir kez çalması 1 pals olarak değerlendirilecek.
3 pals geldiğinde sistem devreye girecek.
zaten bundan sonraki yazılım yine aynı şekilde devam edecek.

aşağıda linkte verilen devredeki Pıc yazılımı bulunuyor.
burada pals ayarının nerede olacağını ben bulamadım.


// Telefonla uzaktan cihaz kontrolu projesine ait PIC16F84A programi
// CM8870'in Q1-Q4 cikislari PIC16F84A'nin RB0-RB3 pinlerine baglidir.
// StD ucu RB4'e baglidir. Hat acma rolesi RA1'e baglidir.
// Sifre onay LED'i RA2'ye baglidir.
// Zil calma sayisi icin pals devresi RA1'e baglidir.
// Kontrol edilecek cihazlar sirasiyla RB5,RB6,RB7'ye baglidir.

#include <pic.h>
#include <delay.c>

#define StD RB4
#define HAT_ROLE RA1
#define LED RA2
#define PALS RA0

// 4MHz osilator
__CONFIG(XT&WDTDIS&PWRTEN);

unsigned char kontrol=0;
unsigned int CX;

//----------------------------------------------------------
// Timer alt programi
// 15 saniye suresince tusa basilmadiysa hatti kapatmak icin
//----------------------------------------------------------
void interrupt kesme(void){

CX++;
if(CX>15000)kontrol=1;
	
T0IF=0; // bayragi temizle
TMR0=131;
}
//----------------------------------------------------------


//----------------------------------------------------------
// ANA PROGRAM
//----------------------------------------------------------
main(void){

unsigned char i,komut,şifre[5],sayac;

//----------------------------------------------------------
// Port konfigurasyonu
//----------------------------------------------------------
TRISB=0x1F; // PORTB'nin RB5,6,7 pinleri cikis,digerleri giris  
TRISA=0x01; // RA0 giris digerleri cikis
//----------------------------------------------------------

PORTB=0; // cihazlar enerjisiz
PORTA=0; // hat kapali, LED sonuk

//-------------------------------------------------------------
//Timer islemleri (kesme suresi=1ms)
//-------------------------------------------------------------
T0CS=0; // Dahili clock
PSA=0; // Prescaler TMR0 icin ayarli
PS0=0; PS1=1; PS2=0; // Oran 1:8
ei(); // butun kesmeler etkin
T0IE=0; //Baslangicta timer pasif
T0IF=0; // bayrak temizle
//-------------------------------------------------------------

// resetten sonra 1 saniye bekle
for(i=0;i<4;i++)DelayMs(250);

basla:

sayac=0; CX=0;

for(;;){ // zil sayisi belirleme dongusu

while(PALS==1); 

sayac++;

	if(sayac>50){ // Zil sayisi 2 
		HAT_ROLE=1; // Hatti ac

		şifreoku:
		
		for(i=0;i<5;i++){ // şifreyi al 

		//--------------------------------------
		kontrol=0;
		TMR0=131; //  
		T0IE=1; // TIMER ON

		//--------------------------------------

			while(StD==0){	// tusa basilmadi ise bekle
				if(kontrol==1){ // sure>15s ise hatti kapat
				HAT_ROLE=0; goto basla; // basa don
				}
				else {};
			}

		T0IE=0; CX=0; // Tusa basildi ise Timer'i durdur, CX'i sifirla 
			      // Boylece yeni bir 15s'lik ek sure kazanilmis olur
		şifre[i]=PORTB&0x0F; // şifreyi oku

		while(StD==1); // tus basili ise bekle
		}
		//--------------------------------------
		// şifrenin son hanesi * olmalidir
		
		//--------Sifre konrol------------------
		if(şifre[0]==1 && şifre[1]==2 && şifre[2]==3 && şifre[3]==4 && şifre[4]==11){
		// 11 degeri tus takimindaki * tusuna karsilik gelir.

		LED=1; // şifre dogru ise LED'i yak
			
			for(;;){
				while(StD==0); // cihazlar icin komut bekle
							
				komut=PORTB&0x0F; 
	
				if(komut==1)RB5=1; // cihaz 1 ON
				if(komut==2)RB6=1;
				if(komut==3)RB7=1;
				if(komut==4)RB5=0; // cihaz 1 OFF 
				if(komut==5)RB6=0;
				if(komut==6)RB7=0;
	
				if(komut==12){ // # tusuna basildi ise hatti kapat
					HAT_ROLE=0; LED=0; goto basla;
				// Cihazlarin ON/OFF durumlari degismeden kalir.
				}
			}				
				//--------------------------------------
		}
		
		else{ 
		goto şifreoku; //şifre yanlis ise tekrar şifre okumaya git
		}
	}

	else{  // sayac<50 ise
	while(PALS==0);
	}

} // for dongusu

}

ugurtelefon

telefon melodisinin 1 kez çalmasını 1 pals olarak algılayabilmek olayı çokda zor değil.
kapı entegreleri ve schmitt-trigger ile bir çözüm bulunur,o sorun değil.
melodi başlayıp bittiği ana kadar kapı çıkışlarında logic 1 değeri alınır.melodi kesilince de kapı çıkışında logic 0 değeri alınır.bu arada 1 pals okunmuş olur.