OpenSensoMap: Biber Gazı Yoğunluk Tespit Cihazı

Posted by & filed under Ürün Geliştirme.

“Biber Gazı Yoğunluk Tespit Cihazı” aslında, yaptığımız cihazın özel bir kullanımına tekabül ediyor. Genel kullanım alanı: hava kirliliği, ses kirliliği gibi kamu kurumlarının halka vermediği ölçüm sonuçlarını açık veri olarak toplumun kullanımına ve dikkatine sunmak.

21 Aralık 2013’te kodcu.com’un düzenlediği Kodathon’a katılalım dedik. Mirat Can ve Eren’e(terzi-sökük ilişkisinden dolayı blogu şu an açılmıyor) aklımdaki projeyi anlattım. Kabul ettiler. Projenin adını Open SensoMap koyduk. Mirat backendi, Eren frontendi yazdı. Ben de donanım tasarımını ve gömülü yazılımını yaptım. Proje daha sonra biber gazı yoğunluk tespit cihazına dönüştü. Genel kullanımını aşağıda anlattım ama önce biber gazı ölçüm özelliğinden bahsedeyim.

Biber Gazı Tespiti

Biber gazının atılıp atılmadığının tespiti ve ne kadar atıldığını ölçmek büyük bir problemdi. Bunu denemek için biber gazına ihtiyacımız vardı. Türkiye’deki biber gazı tüketim seviyesini düşününce bir kaç “fıs”lık bile biber gazı bulamamak çok ironik. Aklımıza eylem yapmak, gidip polisi tahrik etmek gibi parlak fikirler geldi ama ilki için kalabalık bir grup gerekeceğini, ikincisi için de cop yiyebileceğimizi düşünerek vazgeçtik.

nato-biber-gaziUzun arayışlarımız sonunda cep boy bir biber gazı bulduk. Bulunduğumuz ortam kapalı bir mekandı ve çok sayıda developer vardı. Günde 16 saat bilgisayar başında oturan developerların fiziksel kapasitesini ve bedensel tepki sürelerini düşünerek mekanı terkedene kadar zehirlenebileceklerini hesaplayıp vazgeçtik. Hatta bu fikirden sonra developerlar için fiziksel aktivite artırım cihazı yapma fikri doğdu. 3 developer birbirimize baktık. Mümkün değil dedik. Fikir oracıkta öldü.

Önce biber gazının kimyasal yapısını araştırdık. Aradığımız şey gazın içinde CO olup olmadığı, varsa ne kadar olduğuydu (Hayır mol hesaplarına kadar girmedik). Elimizdeki CO sensörüyle nasıl bir çıktı alacağımızı hesaplamak için belirli sabitlere ihtiyacımız vardı. Biber gazına bir birim düşündük. Bunu dünyada ilk düşünen muhtemelen bizdik. Bulduğumuz birimin adı pek oijinal olmadı: FIS. Birim önerilerine halen açığız.

Ara not: Türk Tabipler Birliği tarafından hazırlanan “Kimyasal Silahlar Gösteri Kontrol Ajanları Raporu“nda biber gazıyla ilgili çok detaylı bilgiler var.

Ölçüm şu şekilde olacaktı: bir poşete bir “sıkım” gaz sıkacaktık. Diyelim ki poşet 50 cm3. Sensörün algıladığı değer de 0-1023 arasında 10 diyelim. Bu 10 değerine FIS diyecektik. Yani 1 FIS=1 sıkım/50cm3 olacaktı. Eğer 100cm3’lük bir poşete 1 sıkım gaz sıkılırsa poşetteki gaz 0,5 FIS olacaktı. Bu hesabı karşılaştırmalı ve bir çok denemeyle en doğru hale getirebileceğimizi düşündük. Bunun matematiğini yapmakla uğraşırken projeyi yapamayacağımızı farkederek geliştirmeye döndük. Hesapları kimyacılara bıraktık.

biber-gazi-bulutuBiber gazı atılıp atılmadığının tespiti için de bir algoritma kurmak gerekiyordu. Şöyle bir şey düşündük: biber gazı atıldığını anlama algoritması, ses sensörünün, bulunduğu yerdeki ortalama ses seviyesinden daha yüksek bir ses algıladıktan bir süre sonra, gaz sensörünün normalden daha yüksek bir değer algılaması. Bu da üzerinde çalışılması gereken bir algoritma. Bir yığın parametre işin içine girebilir. Yorum kısmında fikirlerinizi belirtirseniz seviniriz.

OpenSensoMap’in Genel Kullanımı

Open SensoMap, hava kirliliği, basınç, sıcaklık, nem ve gürültü sensörlerinden alınan verileri harita üzerinde gösteren  bir donanım+yazılım projesi. Sensörlerden aldığı verileri belirli aralıklarla buluttaki bir veritabanına yazıyor. Sitede bulunan harita üzerinde sensörlerin topladığı veriler görüntülenebiliyor. Örneğin Bakırköy’de, Kurtköy’de veya Ataşehir’de ev alacaksınız diyelim.  Siteye giriyorsunuz. Haritada bölgeye yakın, bölgedeki cihazların topladığı verileri kontrol edebiliyorsunuz. Alacağınız ev gürültülü bir yerde mi, havası kirli mi görebiliyorsunuz.

Donanımı da yazılımı da açık kaynak. Lisans olarak da “Do What the Fuck You Want to Public Licence“ı seçtik. Henüz kaynaklarını yayınlamadık. Projeyi biraz daha toparlayıp GitHub’a koyacağız.

Open SensoMap Teknik Özellikleri:

  • Hava Kirliliği Sensörü (Şimdilik sadece CO sensörü var. Figaro’nun TGS serisi CO, CO2 ve hava kalitesi kombine sensörü kullanılırsa daha net ölçümler yapılır.)
  • Gürültü sensörü bulamadığımız için kendimiz yaptık. Ses giriş komponenti olarak kapasitif mikrofon kullanıldı. Mikrofonun çıkışı bir 741 OPAMP’a girilerek yükseltildi. İşlemcinin ADC’sine girildi.
  • Basınç sensörü olarak MPL115A1 barometrik basınç sensörü kullanıldı. Datasheeti burada. Türkiye’de buradan temin edebilirsiniz. Daha ucuz bir model bulunmalı. Maliyet düşünülmediği için en kolay ulaşılan komponentler tercih edildi.
  • Sıcaklık sensörü olarak LM35 kullanıldı. Datasheeti burada.
  • Nem sensörü olarak DHT11 kullanıldı. Bunun Arduino uygulamasını İsmail daha önce Arduino Türkiye‘de yayınlamıştı.
  • Önce verileri SD karta yazdıralım, kullanıcı belirli bir sürede SD kartı alsın, bilgisayarına taksın ve verileri upload etsin diye düşündük. Mirat kullanıcı açısından böyle bir senaryonun çok zahmetli olacağını söyledi. Veri uploadunu Wifi’ye çevirmeye karar verdik.
  • Platform Arduino Uno üzerine custom bir shield tasarlanarak gerçekleştirildi. Üzerinde de Wifi Shield entegre edildi. Bu şekilde BOM maliyeti çok yüksek. Custom bir kart tasarlamak gerekiyor. Custom tasarlanacak kartta TI CC3000’i kullanılabilir. Wifi projesi yapmak isteyen olursa özellikle Smart Config özelliği bulunmaz hint kumaşı.

Geliştirilmesi Gereken Özellikler ve Aşılması Gereken Teknik Zorluklar

  • Maliyet düşürme için alternatif komponentler seçilmeli. Custom şema ve PCB tasarımı yapılmalı. Wifi modülü entegre olmalı.
  • Sensörlerden alınan analog veya dijital çıkışların kirlilik birimine dönüştürülmesi. 0-5 V çıkışı 0-1023’e çevirdikten sonra 0-1023 arası hangi değerin nasıl bir kirliliğe tekabül ettiğinin belirlenmesi. Deneme ve test yapılması gerekiyor. Kalibrasyonu kullanıcının yapabilmesi için bu değerlerin yayınlanması gerekiyor.
  • Mikrofondan analog olarak alınıp 0-1023 arası dijital değere dönüştürülen değerin hangi aralığının kaç desibele tekabül ettiğinin belirlenmesi ve kalibrasyonu.
  • WiFi bağlantısı için Wifi ağ adını ve şifresini kodun içine elle yazmak gerekiyor. Bu kimi kullanıcı için zor olabilir. Kolaylaştıracak bir sistem düşünmek gerekiyor.

Potansiyel Kullanım Alanları

  • Biber gazı yoğunluk tespiti,
  • Emlak kiralama/satın alma durumlarında, satın alma yapılmadan önce ön araştırma,
  • Meteorolojinin, belediyenin, kamu kurumlarının vermediği bilgilerin toplanması,
  • Kamu kurum ve kuruluşlarının verdiği lokasyon bazlı bilgilerin çok değişken olması. Yani bir ilçedeki sıcaklık ortalaması 23 derece görünüyor olabilir. Ev alacağınız sokağın ortalaması doğal bir rüzgar tüneli, baktığı cepheye bağlı durumlardan dolayı  12 derece olabilir.
  • Açık kaynak bir dataset oluşturulması, toplumun kullanımına açılması

gibi alanlar olabilir.

Şimdilik halen geliştirilebilir bir durumda ve uluslararası kullanımı da söz konusu. Dünyada Open City, Open Map, Open Data temelli çok sayıda proje yapılıyor. Bu tür projelere milyonlarca dolarlık fon sağlanıyor, harcama yapılıyor. Bizim de açık veri, açık kaynak dünyasına bir katkımız olsın istedik.

Bu arada projenin Kodathon’da ilk 3’e giremediğini de belirtmek isterim. Sonuçta önemli olan gaz yememekti.

Reklam ve spam atmadığım mail listeme üye olmak için 10 saniyede aşağıdaki formu doldurabilirsiniz:

* indicates required




Not: görseller cokindirim com ve mynet’ten alındı. Google’da “biber gazı” aratarak ulaşıldı.

Tags: , , , , , , , , , ,

One Response

  1. Teknokoliker 2014/04/17, 23:34

    günlük ihtiyaçlar arasına bu cihazlarda eklenebilir özellikle polislere verilmeliki ellerinin ayarı bu sayede ayarlanabilir. Bu arada fiziksel aktivite artıran bir cihaz yapılsa aslında fenada olmaz. Elektronik alanında yeni bir devrimin öncüsü olabilir.

    Cevapla

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>