Sms ile lamba kontrolü (Arduino)

Elektronik Hobi
Ana Sayfa Gömülü Sistemler Arduino Sms ile lamba kontrolü (Arduino)

- Gömülü Sistemler
- Arduino
- Devre Şemaları
- Diğer devreler
- Led devreleri
- Projeler
- Üniversite Projeleri

# Sms ile lamba kontrolü (Arduino)

Yazar
Fatih
-
14 Aralık 2012
1065
0
Facebook
Twitter
Pinterest
WhatsApp

[wpfp-link]

Arduino UNO , RGB modülü ve GSM modülü kullanarak bir lambanın nasıl kontrol edilebileceğini aşama aşama anlatacağız. Herhangi bir telefondan gönderilen sms meajlarına göre lambayı açıp kapayabilir, ışık rengini istediğiniz gibi değiştirebilirsiniz.

Sms mesajında yazdığınız karaktere göre lambanın davranışı değişiyor. Aşağıdaki videoyu izleyerek çalışmasını daha iyi anlayabilirsiniz:

Karakterlerin listesi:

R kırmızı renk
G yeşil renk
B mavi renk
Y sarı renk
O turuncu renk
P mor renk
W beyaz renk
F renkler arası geçişi ayarlar

Bu uygulama GSM / GPRS modülüyle yapılabilecek uygulamaların sadece bir örneği. Aynı mantıkla ev aydınlatmanızı, alarm sisteminizi, kısaca istediğiniz her aygıtı sms ile kontrol edebilirsiniz.

Bunların yanında SIM900 modülünü kullanarak DTMF kodlarını da kullanabilirsiniz.

> DTMF Dual Tone Multi Frequency kelimelerinin baş harflerinden oluşur.
> Kelime anlamı çift tonlu çoklu frekans kodlama sistemidir. DTMF esas olarak
> Amerikan ordusu için Bell telefon laboratuvarlarında geliştirilmiş bir kodlama
> sistemidir. Daha sonra telefon şebekelerinde bilgi yollamanın güvenli yolu
> olarak tercih edilmiş ve telefon abonesinin santrala aradığı abone ile ilgili
> bilgileri ilettiği standart yöntem olarak günümüzde yaygın olarak kullanılmaktadır.
> DTMF kodlama sistemi radyo amatörlüğünde yerini son yirmi yıl içinde yaygın
> olarak almıştır. Günümüzde telsiz cihazlarının çoğunda DTMF sinyallerini
> yollamaya ve almaya yarayan modüller ile tuş takımı bulunmaktadır. Bu imkan
> sayesinde telsiz yardımıyla DTMF kodlu mesajlar, çağrı kodları yollamak;
> uzaktan kumanda amaçlı rölelerin kontrolu gibi işler gerçekleştirilebilir.

Uygulamanın arduino programı aşağıdaki şekildedir:

`//GSM Shield for Arduino
//www.open-electronics.org
//this code is based on the example of Arduino Labs`

`

#include "SIM900.h"
#include "sms.h"
#include "SoftwareSerial.h"
#include "sms.h"
SMSGSM sms;
int red = 10; // RED LED connected to PWM pin 3
int green = 5; // GREEN LED connected to PWM pin 5
int blue = 6; // BLUE LED connected to PWM pin 6
int r=50; int g=100; int b=150;
int rup; int gup; int bup;

boolean started=false;
char smsbuffer[160];
char n[20];
int fader=1;
int inc=10;

void setup()
{
//Serial connection.
Serial.begin(9600);
Serial.println("GSM Shield testing.");
//Start configuration of shield with baudrate.
if (gsm.begin(2400)){
Serial.println("\nstatus=READY");
started=true;
}
else Serial.println("\nstatus=IDLE");
if(started){
delsms();
}

};

void loop()
{
int pos=0;
//Serial.println("Loop");
if(started){
pos=sms.IsSMSPresent(SMS_ALL);
if(pos){
Serial.println("IsSMSPresent at pos ");
Serial.println(pos);
sms.GetSMS(pos,n,smsbuffer,100);
Serial.println(n);
Serial.println(smsbuffer);
if(!strcmp(smsbuffer,"R")){
Serial.println("RED");
r=255;
g=0;
b=0;
}
if(!strcmp(smsbuffer,"G")){
Serial.println("GREEN");
r=0;
g=255;
b=0;
}
if(!strcmp(smsbuffer,"B")){
Serial.println("BLUE");
r=0;
g=0;
b=255;
}
if(!strcmp(smsbuffer,"P")){
Serial.println("PURPLE");
r=255;
g=0;
b=255;
}
if(!strcmp(smsbuffer,"Y")){
Serial.println("YELLOW");
r=255;
g=255;
b=0;
}
if(!strcmp(smsbuffer,"O")){
Serial.println("ORANGE");
r=255;
g=165;
b=0;
}
if(!strcmp(smsbuffer,"W")){
Serial.println("WHITE");
r=255;
g=255;
b=255;
}
if(!strcmp(smsbuffer,"F")){
Serial.println("FADER");
fader=1;
r=50; g=100; b=150;
}
else
{
fader=0;
}
rgb(r, g, b);
delsms();

}
if(fader){
funcfader();
}

}
};

`

`void delsms(){
Serial.println("delsms");
for (int i=0; i<10; i++){ //do it max 10 times int pos=sms.IsSMSPresent(SMS_ALL); if (pos!=0){ Serial.print("\nFind SMS at the pos "); Serial.println(pos); if (sms.DeleteSMS(pos)==1){ Serial.print("\nDeleted SMS at the pos "); Serial.println(pos); } else { Serial.print("\nCant del SMS at the pos "); Serial.println(pos); } } } } void funcfader(){ if (rup==1){r+=1;} else{r-=1;} if (r>=255){rup=0;}
if (r<=0){rup=1;} if (gup==1){g+=1;} else{g-=1;} if (g>=255){gup=0;}
if (g<=0){gup=1;} if (bup==1){b+=1;} else{b-=1;} if (b>=255){bup=0;}
if (b<=0){bup=1;} rgb(r, g, b); } void rgb(int r, int g, int b) { if (r>255) r=255; if (g>255) g=255; if (b>255) b=255; if (r<0) r=0; if (g<0) g=0; if (b<0) b=0; analogWrite(red, r); analogWrite(green, g); analogWrite(blue, b); }`

#### İlgili HaberlerYazarın Diğer İçerikleri

### Arduino ile Tetris Oyna

### Servo motor projeleri

### Denge robotu nasıl yapılır? (Balancing robot)

### CEVAP VER İptal

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz
Yanlış bir e-posta adresi girdiniz!
Lütfen e-posta adresinizi buraya girin

Ismimi, e-postamı ve web sitemi bir dahaki sefere bu tarayıcıya kaydet.

Δ