Ana Sayfa STM32F429 Discovery STM32F429 Discovery ile Akıllı Ev Otomasyonu

STM32F429 Discovery ile Akıllı Ev Otomasyonu

11 min read
8
0
8,734

Merhabalar,

Arkadaşlar bu yazımızda  bir akıllı ev otomasyonu için temel bilgiler verilmek amaçlanmaktadır.

Blumenthal Residence, Sunset Plaza

Bazı arkadaşlarımızın aklına gelebilir;niye akıllı ev otomasyonu terimini kullanırız.Bunun için birçok örnek vermek mümkündür.

  • Dışarıdasınız ve eve gelince kahvenizin hazır olmasını istiyorsunuz.
  • Dışarıdasınız ve eve gelince sıcak yatağınıza yatmak istiyorsunuz.
  • Evinizin sıcaklık değerini,nem değerini öğrenmek istiyorsunuz.
  • Yattıktan belli süre sonra ışığınızın kapanmasını istiyorsunuz.
  • Yattıktan belli süre sonra oda sıcaklığınızı istediğiniz değerde tutmak istiyorsunuz.
  • Evinizdeki elektronik aygıtları sesle vereceğiniz komutla kontrol etmek istiyorsunuz.
  • Akşam olunca perdenizin veya storunuzun otomatik kapanmasını istiyorsunuz.
  • Yağmur yağınca çamaşırlarınızın ıslanmasını istemiyorsunuz.
  • Ütünüzün prizde takılı kalıp kalmadığını bilmek istiyorsunuz.
  • Sabah olunca perdenizin veya storunuzun otomatik olarak açılmasını istiyorsunuz.
  • Evinize yaklaşan yabancı cisimleri bilmek istiyorsunuz.
  • Yatağınıza yattığınızda kaç kilo olduğunuz öğrenmek istiyorsunuz 🙂
  • Evinize hırsız girmeye çalıştığında hemen bilmek istiyorsunuz.
  • Çocuğunuzun televizyona yakından bakmasını önlemek istiyorsunuz.
  • Televizyonun,çocuklarınızın uyku saatlerinde çalışmasını istemiyorsunuz.
  • Çocuğunuzun bugün evde ne kadar ders çalıştığını öğrenmek istiyorsunuz.
  • Yatağınızdan kalkmadan önce küvetinizin hazır olmasını istiyorsunuz.
  • İşe giderken kapınızın önünde arabanızın hazır olmasını istiyorsunuz.
  • Yağmur yağdığında havuzunuzun kapanmasını istiyorsunuz.

Örnekleri çoğaltmamız mümkün.Önemli olan yenilikçi düşüncelerle bu konuya nasıl yaklaşırım moduna geçebilmek.Bu söylediklerimin hepsini bir mikrocontroller ile kontrol etmeniz mümkündür.

Biz de bu uygulamamıza temel olarak dokunmatik ekranla sistemleri nasıl kontrol edebiliriz.Kullandığımız elektronik devre nedir.Bunlar hakkında bilgi vereceğiz.

Kullanılan Malzemeler

  • STM32F429 Discovery
  • Röle
  • NPN Transistör
  • 4.7k Direnç
  • 1 adet duy
  • 1 adet ampul

Buradaki temel mantığımız,mikrodenetleyiciden gelen DC 3,3 volt ile röleyi uyararak 220 volt AC lambamızın yanmasını sağlamak.

Burada lamba temel alınmıştır.Lamba yerine başka aktuatorleri uyarabiliriz.

Dokunmatik ekranda kullanmak istediğiniz arayüzü gui builder programlarıyla tasarlayabilirsiniz.Biz bu çalışmamızda kütüphaneleri inceleyerek tasarım gerçekleştirdik.

[php]
#include "stm32f4xx.h"
#include "defines.h"
#include "tm_stm32f4_delay.h"
#include "tm_stm32f4_disco.h"
#include "tm_stm32f4_emwin.h"
/* GUI modulleri */
#include "button.h"
#include "DIALOG.h"

int main(void) {
BUTTON_Handle hButton, hB1, hB2, hB3, hB4,mm,geri;
TEXT_Handle txtInfo,txtInfo1,txtInfo2,txtInfo3,txtInfo4;
uint8_t i;

/*Sistem başlatılıyor*/
SystemInit();

/*Delay fonksiyonları başlatılıyor */
TM_DELAY_Init();

/*LEDs başlatılıyor */
TM_DISCO_LedInit();

/*emWin başlatılıyor */
if (TM_EMWIN_Init() != TM_EMWIN_Result_Ok) {

while (1) {
/* Toggle Kırmızı led */
TM_DISCO_LedToggle(LED_RED);
Delayms(100);
}
}
txtInfo = TEXT_CreateEx(0,290, 260, 17, 0, WM_CF_SHOW, TEXT_CF_HCENTER, 900, "WWW.ROBOTURKA.COM");
TEXT_SetFont(txtInfo, &GUI_Font8x15B_ASCII );
TEXT_SetBkColor (txtInfo, GUI_WHITE);
TEXT_SetTextColor(txtInfo, GUI_RED);
txtInfo1 = TEXT_CreateEx(0,260, 260, 17, 0, WM_CF_SHOW, TEXT_CF_HCENTER, 900, "BY BILAL KAYA");
TEXT_SetFont(txtInfo1, &GUI_Font8x15B_ASCII );
TEXT_SetBkColor (txtInfo1, GUI_BLACK);
TEXT_SetTextColor(txtInfo1, GUI_WHITE);
txtInfo2 = TEXT_CreateEx(0,40, 260, 30, 0, WM_CF_SHOW, TEXT_CF_HCENTER, 900, "AKILLI EV OTOMASYONU");
TEXT_SetFont(txtInfo2, GUI_FONT_8X16X1X2 );
TEXT_SetBkColor (txtInfo2, GUI_BLACK);
TEXT_SetTextColor(txtInfo2, GUI_WHITE);
txtInfo3 = TEXT_CreateEx(0,10, 260, 30, 0, WM_CF_SHOW, TEXT_CF_HCENTER, 900, "ROBOTURKA");
TEXT_SetFont(txtInfo3, GUI_FONT_8X16X1X2 );
TEXT_SetBkColor (txtInfo3, GUI_BLACK);
TEXT_SetTextColor(txtInfo3, GUI_WHITE);
/*GUI_ID_OK ID numarası ile buton oluştur */
hButton = BUTTON_CreateEx(10, 120, 219, 30, 0, WM_CF_SHOW, 0, GUI_ID_BUTTON0);
/* Yazı ve font ayarla*/
BUTTON_SetText(hButton, "Sisteme Giris…");
BUTTON_SetFont(hButton, &GUI_Font8x15B_ASCII);
GUI_Exec();

/* Buton basılana kadar bekle*/
while (1) {
/* Eğer buton basıldıysa*/
if (GUI_GetKey() == GUI_ID_BUTTON0) {
/* Led kapa */
TM_DISCO_LedOff(LED_GREEN);

/* Döngüyü bitir */
break;
}
/* Toggle yeşil led */
TM_DISCO_LedToggle(LED_GREEN);
/* 100ms bekle */
GUI_Delay(100);
}

/* Butonun işlevini bitir */
BUTTON_Delete(hButton);
/* Butonu LCD den sil */
GUI_ClearRect(10, 120, 319, 150);

/*Led kontrolü için buton oluştur*/

hB3 = BUTTON_CreateEx(10, 130, 105, 50, 0, WM_CF_SHOW, 0, GUI_ID_BUTTON3);
hB4 = BUTTON_CreateEx(124, 130, 105, 50, 0, WM_CF_SHOW, 0, GUI_ID_BUTTON4);

/* Butonların fontunu ayarla*/

BUTTON_SetFont(hB3, &GUI_Font13HB_ASCII);
BUTTON_SetFont(hB4, &GUI_Font13HB_ASCII);

/* Buton yazılarını ayarla */

BUTTON_SetText(hB3, "LAMBA AC");
BUTTON_SetText(hB4, "LAMBA KAPA");

/* Butona basılmayınca arka plan rengi*/
BUTTON_SetBkColor(hB3, BUTTON_CI_UNPRESSED, GUI_DARKGREEN);
/*Butona basılınca arka plan rengi */
BUTTON_SetBkColor(hB3, BUTTON_CI_PRESSED, GUI_GREEN);

/* Butonları göster */
GUI_Exec();

while (1) {
switch (GUI_GetKey()) {

case GUI_ID_BUTTON3:
/* Button 3 basılınca*/
TM_DISCO_LedOn(LED_RED);
break;
case GUI_ID_BUTTON4:
/* Button 4 basılınca */
TM_DISCO_LedOff(LED_RED);
break;

default:
break;
}
}
}
void TM_DELAY_1msHandler(void) {
TM_EMWIN_UpdateTouch();
}
[/php]

STM32F429 Discovery Boardumuzun PG14 nolu pininden çıkış alınmaktadır.Bunu kullanıma göre değiştirmek mümkündür.(Datasheet incelenerek)

Temel olarak burada sistemin işleyişi hakkında bilgi verilmiştir.Bu çalışma temel bir çalışmadır.Kullanmak istediğiniz sistemlere göre revize etmeniz mümkündür.Daha önce de dediğim gibi lamba yerine bir ısıtıcıyı uyarabilirsiniz.Bu tamamen size kalmış.

Proje dosyalarına buradan ulaşabilirsiniz.

Bu uygulamanın gerçekleştirilmesinde “http://stm32f4-discovery.com/” sitesinden yararlanılmıştır.

 

 

Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Konuk Yazar
Daha Fazla Göster -  STM32F429 Discovery

8 Yorumlar

  1. batuhan

    28 Nisan 2015 at 20:39

    hocam bu programı hangi programda yazdın keil mi IAR MI… ?

    Reply

    • Bilal Kaya

      28 Nisan 2015 at 20:45

      Keil ile yazılmıştır..Bir problem mi oldu?

      Reply

  2. akıllı ev sistemleri

    25 Nisan 2016 at 22:51

    Teşekkür ettim paylaşımınız için. İyi çalışmalar. 🙂

    Reply

  3. konya akıllı ev sistemleri

    11 Mayıs 2016 at 23:49

    Gerçekten çok başarılı bir uygulama. Emeğinize sağlık.

    Reply

  4. konya akıllı ev sistemleri

    6 Haziran 2016 at 19:08

    teşekkürler çok güzel bir paylaşım yapmışsınız çok işimize yaradı çok sağolun

    Reply

    • Bilal Kaya

      7 Haziran 2016 at 20:50

      Faydalı olabildikse ne mutlu bize 🙂

      Reply

Bilal Kaya için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bak Bakalım ?

Lazer İşleme Makinesi Yapımı

Merhaba arkadaşlar,bu projemizde sizlerle birlikte lazer işleme makinesi yapımını göreceği…