Bir IoT hikayesi #4 — Devre Elemanları

thumbnail-4Bu serinin önceki yazılarını okumadıysanız, bu yazıyı daha verimli kılabilmek için okumanızı rica ederiz:


Peakode ile tanışmam staj sayesinde oldu. Aslında üniversite yıllarında araştırdığımız, takip ettiğimiz, ortaya çıkartmak için çabaladığımız projeler olmuştu. Fakat bir ekip ile teknik bir proje dahilinde çalışmak, sürecin içinde olmak bizi gerçekten heyecanlandırdı ve bize çok şey kattığını düşünüyorum. Bizim için üniversite yıllarımızdaki en büyük kazanımlarımızdan biri oldu.

Ürünümüz Mint’e gelecek olursak: Onu, proje dahilinde çalışmayanlar bile sahiplenmiş heyecan içinde ortaya bir şey çıkmasını bekliyor ve ona destek veriyorlardı. Mint projesinde 2 modül kullanarak problemimize çözüm getirmeyi hedefledik: Kapı veya pencerelerde kullanılacak sensör kısmı ve bilgileri toplayacak “hub” şeklindeydi. Sensör kısımı ile başlayalım:

XBee

0*xaRM2Ds7l1bO6giCÜrün için gerekli seçimlerimizi yaptıktan sonra ilk aşaması olan kapı ve pencerelerden durum bilgisini nasıl alabileceğimiz konusuna yoğunlaştık. XBee burada bize Reed Röle’den gelen bilgiyi iletecekti. İlk defa kullandığımız bir ürün olduğundan aldığımız tüm XBee’leri haberleştirme ve haberleşme mesafelerini ölçme ile başladık. Bu konuda X-CTU programındaki arayüz sayesinde kolayca aralarındaki iletişimi sağladık.

Kullandığımız XBee’lerin X-CTU Arayüzündeki Değerleri
Kullandığımız XBee’lerin X-CTU Arayüzündeki Değerleri

Gönderdiğimiz verinin anında alınması ve mesafe bizim için ilk aşamada gayet yeterliydi. Daha sonra herkes gibi bir sistemi ilk eline aldığında yaptığı şeyi yaptık, Xbee’ler ile led yakmak.

Atmega328p

1*bPmlX5PxRje4Nzxdg8opfQXbee modüllerimiz de haberleşme işlemini tamamlayıp eşleştirdikten sonra sıra geldi gerçekleştirmek istediğimiz işleri yapacağımız mikrodenetleyiciye (Atmega328p). Çok popüler olan Atmega328p hem programlaması açısından kolay hem de devremizin tüm fonksiyonlarını gerçekleştirebiliyordu. Bunun için devremizin merkezinde yer alacaktı. Mikrodenetleyicimizin yapacağı işlere değinirsek:

  • Kapı veya pencerelerden açıldı/kapandı bilgisini reed röle üzerinden almak.
  • Aldığı bilgi durumuna göre Xbee haberleşme modülüne “usart” haberleşme protokolü ile string tipinde veri göndermek.

Aslında bu iki maddeye bakınca biraz hafife aldık. Ta ki her şey birleşmeye başlayıncaya kadar…

Parçaları Birleştirmek

Xbee ve Atmega ile Star Topolojisi Oluşturmak
Xbee ve Atmega ile Star Topolojisi Oluşturmak

İlk XBee ve mikrodenetleyici birleşmesi bu karedeydi. Kapı ve pencere olarak iki Arduino bağlantısı yaptık. Bir tane de -normalde başka bir kart kullanacağımız- hub kısmında bulunacak XBee için bağlantı yaptık. Bir kaç denemenin ardından kurgumuz çalışıyordu ve hemen devre çizimlerine geçtik. Atmega328’i merkeze alıp XBee modülü ile bağlantılarını yaptıktan sonra çevre birimlerini de yerleştirdik ve en son görselde bulunan şekli aldı.

Mint Pencere veya Kapı Devre Şeması
Mint Pencere veya Kapı Devre Şeması

Uyku Modu

Mint’de kapı ve pencere modüllerinde MVP’nin dışına çıkmaya başlamıştık. Çünkü her aşamada bir birleşme veya bir özellik daha eklenmekteydi. Projemiz güvenlik tabanlıydı ve bir anlık enerji kesilmesi, bir anlık bilgi gönderememesi pahalıya mal olabilirdi. Bu nedenle, içinde bulunan pilin ömrü bizim için önemliydi. Bu yüzden de hem XBee modülünü hem de denetleyicimizin uyku modlarını kullanmalıydık. Akışımız şu şekilde olacaktı:

  • Atmega ve XBee uyku modunda olacak.
  • Röle konum değiştirdiğinde Atmega uyku modundan çıkacak.
  • Atmega XBee’i uyandıracak.
  • Denetleyici ve XBee arasında veri alışverişi olacak.
  • XBee merkezde bulunan XBee’e bilgiyi gönderecek.
  • Atmega ve XBee tekrar uyku moduna girecekdi.

Bu aşamalar üzerinden adım adım ilerledik. Tasarımımız ve yazılımımız son halini aldıktan sonra devremizde ölçümlere başladık.

Xbee ve Atmega “sleep mode” testleri
Xbee ve Atmega “sleep mode” testleri

Yaptığımız ölçümler ve iyileştirmeler sonucunda ilk aşamada pilimiz 6 ay boyunca tam verimle çalışıyordu. Devremiz de şekilde bulunan son şeklini almıştı.

Devremizin 3 boyutlu tasarımı
Devremizin 3 boyutlu tasarımı

Bu aşamayı tamamladıktan sonra şimdi verileri merkezde toplayıp iletme adımındaydık. Bir sonraki yazımızda da Hub kısmında neler yaptığımızı anlatacağız.

Serinin sıradaki yazılarını aşağıdaki linkler aracılığıyla okuyabilirsiniz:

Görüşmek dileğiyle!

Bahadır Gölcük

Peakode | Elektronik Mühendisi

Leave a Reply

Your email address will not be published. Required fields are marked *