İçindekiler:
- Adım 1: Başlamak için: Malzemeler
- Adım 2: Adım 2: Çözülecek Probleme Yaklaşma
- Adım 3: Adım 3: GUI'yi ve Temel Kod Akışını Yapılandırma
- Adım 4: Adım 3: Termostat Sistemini Ayarlama
- Adım 5: Adım 4: Kapı Sistemini Ayarlama
- Adım 6: Adım 6: Sel Işık Sisteminin Kurulması
- 7. Adım: Sonuç
Video: Arduino Akıllı Ev Sistemi: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu Eğitilebilir Kitapta, MATLAB'ın App Designer'ı ile Sparkfun Red board'lu kendi akıllı ev sisteminizi nasıl oluşturacağınızı göstereceğiz. Bu Eğitilebilir Tablo, bir fotodirenç, servo motor ve bir PIR hareket sensörü kullanmanın yanı sıra MATLAB'ın Uygulama Tasarımcısı hakkında temel bir anlayış kazanmaya yardımcı olmak için kullanılabilir.
Adım 1: Başlamak için: Malzemeler
Bu proje aşağıdaki malzemeleri gerektirir:
- Arduino Uno (Bu proje için Sparkfun Red board kullandık)
- Bir fotorezistör
- Bir mini servo motor
- Bir sürekli servo motor
- Bir PIR hareket sensörü
- Bir sıcaklık sensörü
- 2 LED
- Gerektiğinde teller ve dirençler
Adım 2: Adım 2: Çözülecek Probleme Yaklaşma
Bu projenin temel amacı, bir Arduino Uno kartını MATLAB ile kodlayarak kullanımı kolay bir akıllı ev sistemi oluşturmaktı. İlk önce sadece bir sıcaklık ve nem sensörü ile çalışmayı düşündük, ancak bu iki sensörle kalsaydık akıllı ev sistemimiz genel bir kitleye kolayca pazarlanamazdı. Akıllı termostat ve güvenlik sistemi olarak çalışacak genel bir akıllı ev enerji sistemi oluşturmak istediğimize karar verdik. Son olarak, kullanıcının akıllı evi istediği gibi kolayca değiştirebilmesi için MATLAB'ın AppDesigner'ı ile çalışmak istedik.
Adım 3: Adım 3: GUI'yi ve Temel Kod Akışını Yapılandırma
Başlamak için MATLABs AppDesigner'ı açmanız ve aşağıdakileri yerleştirmeniz gerekecek:
Sıcak ve soğuk eşik girişi için iki sayısal düzenleme alanı
Kapının kilidini açmak için bir düğme
Şömine, kapı, vantilatör ve projektör için dört gösterge lambası.
Kullanıcıyla iletişim kurmak için iki etiket.
Bu proje için tasarımcı içindeki global değişkenler ve başlatma işleviyle çalışmayı daha kolay bulduk. Başlangıç işlevinde bu değişkenlere ihtiyacınız olacak:
küresel bir
a = arduino('COM3', 'uno', 'Kütüphaneler', 'Servo'); global s global p global hotUI global coldUI global kilidini aç global temp global curr_temp global int_light
Şu anda bilgisayarınızın arduino'yu okuyabilmesi için yalnızca a değişkeni için bir atamamız var. COM3, bilgisayarınızın hangi bağlantı noktasını kullanıyor olabileceğine bağlı olarak farklılık gösterebilir.
Kodu çalıştırdığınızda, global değişkenleri oluşturmaya ve sistemi kalibre etmeye başlama işlevi içinde başlayacaktır. Bu fonksiyonun sonunda Timer adını verdiğimiz bir özelliği çağıran bir timer fonksiyonu olacaktır. Bu Zamanlayıcı özelliği içinde, zamanlayıcının kalibrasyon kodunu yeniden çalıştırmaması için ana sistemi çalıştıran kodu koyarız.
Not: Sistem için herhangi bir kablolama talimatı vermedik. SparkFun Red kartıyla birlikte gelen kılavuza başvurduk.
Adım 4: Adım 3: Termostat Sistemini Ayarlama
Termostatın işlevi aşağıdaki gibi çalışır:
Kullanıcı, çok sıcak veya çok soğuk olduğunu düşündüğü sıcaklığı girecektir. Termometre bir kez ölçüm yaptığında, ev çok soğuksa "şömine" (kırmızı LED) açılır ve evi ısıtır. Ev çok sıcaksa, bir "fan" (sürekli servo motor) evi soğutmaya başlar.
Termostat sistemini kodlamak için:
Mevcut sıcaklığı görüntülemek ve kullanıcının soğuk ve sıcak eşiklerini girmesine izin vermek için başlatma işlevi içinde başlayacağız.
p = 'A0' %Fotodirenç pimi
volt = okumaVoltaj(a, sıcaklık); Celc = (volt-0.5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str(curr_temp); %Etiket numarası duraklamayı değiştirebilir(10); Değiştirmek isteyebilirsiniz!!!!!
Ardından Timer özelliği içerisinde termostat sistemini tamamlayacağız.
küresel curr_temp
global coldUI global bir global hotUI ise curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; % GUI lambasını yeşile çevirir writePWMDutyCycle(a, 'D11',.9) %Sonraki üç kod satırı servo fanı duraklatmayı çalıştırır (10) writePWMDutyCycle(a, 'D11',.0) else app. FireplaceStateLamp. Color = [0.90 0.90 0.90]; %Bu, tüm GUI lambalarını ve şömine uygulamasını kapatır. FanStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin(a, 'D13', 0); son
Adım 5: Adım 4: Kapı Sistemini Ayarlama
Kapının işlevi aşağıdaki gibi çalışır:
MATLAB kodunuzu ilk çalıştırdığınızda, uygulama sizden kapıyı açmanızı ister, böylece fotorezistör ilk ışık okumasını yapabilir. Bu tamamlandığında, zamanlayıcı etkinleştirilecek ve fotodirenç ikincil ışık okumaları alacaktır. İkincil ışık okuması ilkinden daha hafifse, bir servo motor kapıyı kilitleyecektir. Kullanıcı, kapının kilidinin açılmasını isterse, uygulamadaki kapının kilidini açacak bir düğmeye basabilir.
Servo motoru ve fotodirenci yapılandırmak için:
Kapı sistemini kodlamak için:
İlk ışık okumalarını almak için başlatma fonksiyonu içinde başlayacağız.
s = servo(a, 'D9') %Pin kablolamaya bağlı olarak değişebilir
app. Label_4. Text='Sistemi kalibre etmek için lütfen kapıyı açın'; duraklatma(15); %Bu, kullanıcının kapıyı açması için zaman verir int_light = readVoltage(a, p); app. Label_4. Text = 'Parmağınızı kaldırabilirsiniz';
Ardından, Timer özelliği içindeki kodu tamamlayacağız
küresel kilit açma
global int_light global s global a %Karşılaştırmak için güncel bir ışık okuması alın curr_light = readVoltage(a, p); % -- Kapıyı Kilitle -- eğer int_light<curr_light writePosition(s, 1) %Servo konumları motor duraklamasına göre değişebilir(0.5); app. DoorStateLamp. Color = [0.47 0.67 0.19]; bitiş % -- Kapının Kilidini Aç -- eğer kilidi aç == 1234 duraklat(0.5); writePosition(s,.52) app. DoorStateLamp. Color = [0.85 0.33 0.10]; son
Sonunda kilit açma düğmesi geri aramasını oluşturacağız. Kullanıcı kilit açma düğmesine bastığında, genel kilit açma değişkenine Timer özelliğindeki son if ifadesini tamamlayabilecek bir sayı atanacaktır.
küresel kilit açma
kilit açma = 1234;
Adım 6: Adım 6: Sel Işık Sisteminin Kurulması
Sel ışığının işlevi aşağıdaki gibi çalışır:
MATLAB kodunu başlattığınızda, PIR hareket sensörü hareketi algılamaya başlayacaktır. Bir tür hareket algıladığında, bir güç sinyalini kesecektir. Bu sinyal kesildiğinde, evin dışında bir projektör yanacaktır.
Sel ışık sistemini yapılandırmak için:
Sel ışık sistemini kodlamak için:
Bu sefer Timer özelliğine geçebiliriz çünkü ekstra bir değişken yazmamıza gerek yok.
human_detected = readDigitalPin(a, 'D2'); human_detected == 0 writeDigitalPin(a, 'D7', 1) durumunda %Pin yapılandırmaya bağlı olarak değişebilir %Pin app. FloodLightStateLamp. Color = [0.47 0.67 0.19]; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin(a, 'D7', 0) bitiş
7. Adım: Sonuç
Artık Uygulama Tasarımcısı ile GUI'nizin bir taslağına ve Arduino kodunuza sahip olduğunuza göre, kendi düzenlemelerinizi yapmaya veya Arduino'nuzu takmaya ve gitmeye hazırsınız!
Önerilen:
Akıllı Masa LED Işık - Arduino ile Akıllı Aydınlatma - Neopiksel Çalışma Alanı: 10 Adım (Resimlerle)
Akıllı Masa LED Işık | Arduino ile Akıllı Aydınlatma | Neopixels Çalışma Alanı: Artık evde çok fazla zaman geçirdiğimiz, sanal olarak çalıştığımız ve çalıştığımız bir gün, öyleyse neden çalışma alanımızı özel ve akıllı bir aydınlatma sistemi Arduino ve Ws2812b LED'leri ile büyütmeyelim. Burada size Smart'ınızı nasıl oluşturacağınızı gösteriyorum. Masa LED Işık o
Kullanılmayan Akıllı Telefonu Akıllı Ekrana Dönüştürün: 6 Adım (Resimlerle)
Kullanılmayan bir Akıllı Telefonu Akıllı Ekrana Dönüştürün: Deze öğreticisi, Hollanda'da çok iyi. Kullanılmayan (eski) bir akıllı telefonunuz var mı? Bu kolay adım adım öğreticiyi izleyerek Google E-Tablolar ve biraz kağıt kalem kullanarak akıllı bir ekrana dönüştürün. Bitirdiğinizde
SONOFF Akıllı Anahtarlarla Akıllı Stor Perdeler Nasıl Kendin Yapılır?: 14 Adım
SONOFF Akıllı Anahtarlarla Akıllı Stor Perde Kendin Yap Nasıl Yapılır?: Sıradan stor perdelerinizi/panjurlarınızı akıllı hale getirmek için SONOFF akıllı anahtarlarında Kilitleme Modundan yararlanın Çoğunuz bunun sabahları storları/panjurları çekmenizin bir angarya olduğunu kabul edecek mi? ve akşam aşağı çekmek? Her neyse, ben
Bluetooth Akıllı Telefon Kontrollü Akıllı LED Lamba: 7 Adım
Bluetooth Akıllı Telefon Kontrollü Akıllı LED Lamba: Her zaman aydınlatma cihazlarımı kontrol etmeyi hayal ediyorum. Sonra biri inanılmaz renkli bir LED lamba yaptı. Geçenlerde Youtube'da Joseph Casha'nın bir LED Lambasına rastladım. Ondan ilham alarak, bağlantıyı korurken birkaç işlev eklemeye karar verdim
Donanım ve Yazılım Hack Akıllı Cihazlar, Tuya ve Broadlink LEDbulb, Sonoff, BSD33 Akıllı Fiş: 7 Adım
Donanım ve Yazılım Hack Akıllı Cihazlar, Tuya ve Broadlink LEDbulb, Sonoff, BSD33 Akıllı Fiş: Bu Derste size birkaç akıllı cihazı kendi yazılımımla nasıl flashladığımı gösteriyorum, böylece onları Openhab kurulumum aracılığıyla MQTT ile kontrol edebilirim. onları hacklediğimde yeni cihazlar.Tabii ki özel f