Arduino
OKUDUĞUNUZ KONU
Arduino Gaz Otomasyon Sistemi Andorid
5

Arduino Gaz Otomasyon Sistemi Andorid

Yazar : Murat Duran15 Ekim 2015

Gaz otomasyon sistemi , daha önceden yaptığım ama yeni paylaştığım bir proje.Yapım aşaması resimleri maalesef yok.Bu yüzden kusura bakmayın.Projenin cep telefonu programı ve arduino kodlarını paylaşıyorum.Basit bir çalışma sistemine sahip.Bluetooth üzerinden haberleşme sağlamaktadır.Daha geliştirilip internet tabanlı bir uygulama yapılabilir.Evinizin gaz sistemini otomatik olarak açıp kapatabileceğiniz bir yazılım ve donanım.

Projenin vana sistemini kendi atölyelerinde hazırlayan Atatürk Mesleki ve Teknik Anadolu Lisesi öğretmenlerinden Sadık ESERER hocamıza teşekkürlerimizi sunarız.Projede devrenin ufak olması için arduino nano kullanıldı delikli pertinaks üzerine devremizi oluşturduk bu sayede geliştirilmeye müsait oldu.

Daha önceden paylaştığımız Gaz Dedektörü projesine bakabilirsiniz

Malzemeler

Sistem gaz algıladığında otomatik olarak vanayı kapatacak şekilde programlandı.Eğer ortamda gaz seviyesi yüksekse siz telefondan açmayı deneseniz bile vana açılmayacaktır.Bu bir güvenlik önlemidir.Farklı güvenlik önlemleri programa eklenebilir.

Projemizin Bağlantıları

  • Servo motor sinyal pini : Dijital 9
  • Buzzer pini : Dijital 5
  • Led pini : Dijital 3
  • Gaz sensörü AOUT : Analog 1
  • Gaz sensörü DOUT : Dijital 7

safegaz-malzeme

Projenin Arduino Kodlarını ve Android Cep Telefonu Programını İndir

// Murat Duran - SafeGas Programing Code

#include <Servo.h> // Servo kütüphanesini tanımladık
Servo servoMain; // Servo tanımladık

int buzzer=5;
const int AOUTpin=A1;
const int DOUTpin=7;
const int led=3;
byte serialA;

int limit;
int value;

void setup()
{
Serial.begin(9600);
pinMode(DOUTpin, INPUT);
pinMode(led, OUTPUT);
servoMain.attach(9); // Servo sinyal pin çıkışı
pinMode(buzzer, OUTPUT);
  beep(50);
  beep(50);
  beep(50);
  delay(1000);
}

void loop()
{

value= analogRead(AOUTpin);
limit= digitalRead(DOUTpin);
Serial.print("Gas limit: ");
Serial.println(value);
Serial.print("Limit: ");
Serial.print(limit);
delay(100);

if (value > 240){
   servoMain.write(0);  
   beep(200); 
   digitalWrite(led, HIGH);   
  delay(1000);              
  digitalWrite(led, LOW);   
  delay(1000); 

}

if (Serial.available()) 
  {
    int inByte = Serial.read();
    Serial.println((char)inByte);

if (value < 240) {
   
    switch ((char)inByte)
    {
      //Buton Aç
     case 'a':
         servoMain.write(80);  
        break;

        // Buton Kapa
        case 'd':
          servoMain.write(0);  
        break;
        
      //Sensor readings:
      case 'r':
        Serial.print("<p="); Serial.print(value); Serial.println("=p>");

        break;
        
    }
   
//else sonu
   
}
  }
 //Loop bitti
}

void beep(unsigned char delayms){
  digitalWrite(buzzer, HIGH);      
                          
  delay(delayms);         
  digitalWrite(buzzer, LOW);      
  delay(delayms);         
}  
SİZCE NASIL OLMUŞ?
Beğendim
76%
İlginç
19%
Eh İşte
0%
Anlamadım
5%
Kötü
0%
Berbat
0%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
5 YORUMLAR

YORUM YAP