İçindekiler:
- Adım 1: Işığa Duyarlı LED
- Adım 2: Mini Güç Anahtarı
- Adım 3: İkinci Fotosel
- Adım 4: RGB LED
- Adım 5: Sıcaklık Sensörü
- Adım 6: DAGU Redüktörlü Motor
- 7. Adım: Kod
Video: EF230 Akıllı Ev Projesi: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Gerekli Parça ve Malzemeler:
- 1 Arduino MKR 1000
- 3 Ekmek Tahtası
- 2 Mini Fotosel
- 1 NPN Transistör
- 1 Mini Güç Anahtarı
- 1 LED – RGB (4 uçlu)
- 1 LED (seçtiğiniz renk)
- 1 Diyot 1N4148
- 1 10K Ohm Dirençler
- 5 100 Ohm Direnç
- 1 Sıcaklık Sensörü TMP36
- 1 DAGU 48:1 Oranlı Redüktörlü Motor
- 25 Jumper Tel
- USB Kablosu
- MATLAB Programı
-
Arduino 101/Genuino 101 Kartı için SIK Deney Kılavuzu - SIK Deney Kılavuzu Bağlantısı
Bu proje, ev sahiplerinin enerji kullanımlarını ve güvenliklerini optimize etmelerine yardımcı olmak için verileri kullanacak bir akıllı ev sisteminin kavramsal tasarımını detaylandırıyor. Geceleri dış mekan ışıklarını açmak için bir ışık sensörü, güvenlik için bir ışık sensörü ve iç sıcaklık kontrolü için bir sıcaklık sensörü ve fan içerir.
Adım 1: Işığa Duyarlı LED
- Işığa duyarlı LED kurulumu, geceleri yanan bir evde dış mekan ışıklarını temsil etmek içindir.
- Mini fotosel ışığın azaldığını algıladığında LED yanacaktır.
- Akıllı bir ev için bunun enerji ve güvenlik etkileri vardır. Gündüz ışıkları kapalı bırakarak enerji tasarrufu sağlayacak ve geceleri güvenliği artıracaktır.
- Projenin bu kısmı için tam kablolama ve kurulum, SIK Deney Kılavuzundaki deney 7 altında bulunabilir.
Adım 2: Mini Güç Anahtarı
- Anahtar, akıllı evin güvenlik sürecindeki ilk adımdır.
- Anahtar açıldığında, kullanıcıya 'Ev' moduna mı yoksa 'Dışarıda' moduna mı girmek isteyip istemediğini soran bir yanıt başlatacaktır.
- Eğer 'Ev' modu seçilirse, güvenlik devre dışı olarak kabul edilir, ancak 'Dışarıda' modunun seçilmesi güvenlik sistemini devreye alacaktır.
- Projenin bu kısmı için kablolama Deney Kılavuzunda deney 6 altında bulunabilir. Akıllı ev amacıyla, deney 6'da bulunan LED'lerin ve bağlantı kablolarının dahil edilmesine gerek yoktur.
Adım 3: İkinci Fotosel
- İkinci fotosel ise akıllı evin güvenlik sistemi için hareket sensörü görevi görüyor.
- Sensör, yalnızca sistem önceki adımda açıklandığı gibi 'Dışarıda' moduna alındığında kullanılır.
- Fotosel, aldığı ışık miktarında bir azalma yaşarsa, bunu evin içinde hareket olarak algılar.
- Projenin bu kısmı için kurulum, SIK Deney Kılavuzunda deney 7 altında bulunabilir. Ancak sadece fotosel ve bağlantı tellerinin kablolamaya dahil edilmesi gerekir.
Adım 4: RGB LED
- RGB LED, akıllı evin güvenlik sistemi için mini güç anahtarı ve ikinci fotosel ile birlikte kullanılmaktadır.
- Üç farklı renk, akıllı ev sakini için gösterge olarak kullanılır.
- Sistem 'Ev' moduna alındığında LED maviye döner. Sistem 'Dışarıda' moduna alındığında LED yeşile döner. Hareket sensörü olarak kullanılan fotosel tetiklendiğinde ışık kırmızı renkte yanıp söner.
- RGB LED için kablolama, SIK Deney Kılavuzunun 3. deneyinde bulunabilir.
Adım 5: Sıcaklık Sensörü
- Sıcaklık sensörü, akıllı evde enerji tasarrufunun önemli bir parçasıdır.
- Sakin, akıllı ev kullanımdayken evi için istediği sıcaklığı girebiliyor.
- Sıcaklık sensörü, sistemin gerçek sıcaklığın istenen sıcaklıktan ne kadar uzakta olduğunu nasıl bildiğidir.
- Sıcaklık sensörünün kurulumu, SIK Deney Kılavuzunun 9. deneyinde bulunabilir.
Adım 6: DAGU Redüktörlü Motor
- Motor, akıllı evin, istenen sıcaklığa ve sıcaklık sensörünün okumalarına göre evdeki sıcaklığı düzenlemesini sağlar.
- Evde AC ünitesi olarak görev yapan motor, gerçek sıcaklığın istenen sıcaklıktan ne kadar yüksek olduğuna bağlı olarak farklı hızlarda dönecektir. Fark ne kadar yüksek olursa, motor daha hızlı döner.
- Motor için kablolama, deney 11 altındaki Deney Kılavuzunda bulunabilir.
7. Adım: Kod
- Akıllı ev kodu, konut sakininin nasıl çalıştığını kolayca anlamasını ve ayarları kolayca değiştirmesini sağlayan birden fazla kullanıcı arayüzü içerir.
- Akıllı ev sistemi ile, konut sakini, uzaktayken hareket sensörü çalıştırılırsa uyarı alacak ve e-posta gönderecektir.
- Yapılması gereken tek değişiklik, gönderenin e-postası ve alıcının e-posta adresi bilgilerini girmektir.
temizle a; temizle s; temizle m; clc; hepsini kapat; % Arduino ve servo değişkenlerini temizle, böylece kodun etkin bir şekilde çalışması için her seferinde yeniden tanımlanabilsinler ("ifte m", while döngülerinden birinin düzgün çalışması için gereklidir)a = arduino(); % arduino değişkenini ayarlayın
s = servo(a, 'D6'); % Servo değişkenini ayarlayın
% Güvenlik sistemi uyarı e-postası için e-posta değişkenlerini başlat
emails = {'alıcı adresini girin'}; % Güvenlik e-postasının gönderileceği e-posta dizisi
% Posta göndermek üzere Gmail kullanmak için gerekli E-posta tercihi ayarları
setpref('İnternet', 'E_posta', 'gönderenin e-posta adresi');
setpref('Internet', 'SMTP_Username', 'gönderenin kullanıcı adı');
setpref('İnternet', 'SMTP_Password', 'gönderenin şifresi');
sahne = java.lang. System.getProperties;
props.setProperty('mail.smtp.auth', 'true');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty('mail.smtp.socketFactory.port', '465');
% E-posta konusu ve metin değişkenleri
subj = 'Evinize Davetsiz Misafir Uyarısı';
text = 'Merhaba, Bu, evinizin dışında hareket algılandığını bildiren Akıllı Ev güvenlik sisteminizdir. Sizin için gerekli önlemleri aldık ve yetkililerle iletişime geçtik. Güvende kal.';
doğru iken
komut istemi = {'İstenen ev sıcaklığını girin (65F ile 85F arasında):'}; % Kullanıcı giriş menüsü istemi
dlgtitle = 'Sıcaklık Seçimi'; % Kullanıcı giriş menüsü için başlık
karartır = [1 30]; Kullanıcı giriş menüsü için % Boyutlar
tanım = {'72'}; % Menü ilk açıldığında görünen varsayılan giriş
tempsel_array = inputdlg(istem, dlgtitle, dims, definput); % Girilen sayıyı bir diziye kaydedecek açılır kullanıcı giriş menüsü
if ~isempy(tempsel_array) % Dizi boş DEĞİLSE
tempsel_char = cell2mat(tempsel_array); % Diziyi bir karakter dizisine dönüştür
tempsel = str2double(tempsel_char); % Karakter dizisini sayılara dönüştürün
şeySpeakWrite(chID, tempsel, 'WriteKey', writeKey, 'Alanlar', 1); % Seçilen sıcaklığı ThingSpeak kanalınıza yazın
break % Menünün birden çok kez açılmaması için while döngüsünden ayrıl
else % Kullanıcı sıcaklık girmek yerine iptal'i tıklarsa
msg1 = msgbox('Sıcaklık seçilmedi, varsayılan ayar 85F', 'Uyarı!'); % İptal'i tıkladıktan sonra kullanıcıya görüntülenen mesaj
bekle(msg1); % Devam etmeden önce mesaj kutusunun kapanmasını bekleyin
sıcaklık = 85; % Sıcaklığı mesaj kutusunda belirtilene ayarlayın
şeySpeakWrite(chID, tempsel, 'WriteKey', writeKey, 'Alanlar', 1); % Seçilen sıcaklığı ThingSpeak kanalınıza yazın
break % Menünün birden çok kez açılmaması için while döngüsünden ayrıl
son
son
doğru iken
chID = 745517; % ThingSpeak Kanal Kimliği
writeKey = 'G9XOQTP8KOVSCT0N'; % ThingSpeak Kanalına erişim için Anahtar
% Veri almak için sensörleri başlat
tempread = readVoltage(a, 'A3'); % Sıcaklık sensörünün voltajını okuyun
lightl1 = readVoltage(a, 'A2'); % Kırmızı LED'e giden fotodirenç için ışık seviyesi
lightl2 = readVoltage(a, 'A5'); Güvenlik sistemine giden fotodirenç için % Işık seviyesi
switchv = readVoltage(a, 'A0'); Anahtar için % Değer
% Sıcaklık verilerini voltajdan Fahrenheit derecesine dönüştürün
tempC = (tempread - 0,5) * 100; % Voltajı Santigrat cinsinden sıcaklığa dönüştürün
tempF = (tempC * 9/5) + 32; % Santigrat cinsinden sıcaklığı Fahrenhayt cinsinden sıcaklığa dönüştürün
% Çok renkli LED için pin numaralarını sıfırlayın
redp = 'D9'; LED'den kırmızı ışık için % Pin
yeşilp = 'D10'; LED'den yeşil ışık için % Pin
mavip = 'D11'; LED'den mavi ışık için % Pin
tempsel < tempF % ise Seçilen sıcaklık oda sıcaklığından büyükse
writePosition(lar, 1); % Servo hareket etmeye başlayacak
duraklama(10) % Servo, AC'nin belirli bir süre sonra kapanacağını göstermek için 10 saniye boyunca dönmeye devam edecek
writePosition(s, 0); % Fan açık olmadan kodu devam ettirmek amacıyla fanı kapatın
tempsel = 150; % Fan kapandıktan sonra döngüden çıkmak için sıcaklık değerini değiştirin, yine sadece kodu devam ettirmek amacıyla
son
if lightl1 <= 3 % İlk fotodirenç düşük ışık seviyesi algılarsa
writeDigitalPin(a, 'A1', 1); % Dış mekan ışıklarını temsil eden kırmızı LED'i açın
else % Işık seviyesi tekrar yüksekse
writeDigitalPin(a, 'A1', 0); % Işık seviyesi tekrar yeterince yüksek olduğunda kırmızı LED'i kapatın
son
switchv > %3 ise Anahtar açıksa
A = var('m', 'var'); % 'm' değişkeninin varlığını kontrol edin, bu while döngüsü için başlatılacak ve bir menü öğesi seçildiğinde kırılmasına izin verecektir (bu yüzden kodun başlangıcında clear m yapılmalıdır)
iken A==0 % Döngü 'm' değişkeni var olana kadar yürütülür
menutext = 'Hangi güvenlik moduna girmek istiyorsunuz?'; % Güvenlik açılır menüsü için metin
seçimler = {'Ev', 'Dışarıda'}; Güvenlik açılır menüsü için % Seçenekler
m = menü(menü metni, seçenekler); % Güvenlik sistemi modları için açılır menü
break % Menünün birden çok kez açılmaması için while döngüsünün kesilmesini sağlar
son
eğer m == 1 % 'Ev' modu seçilirse
writeDigitalPin(a, bluep, 1); % Renk değiştiren LED'de sadece mavi ışığı açın
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 0);
elseif m == 2 % 'Dışarıda' modu seçilirse
writeDigitalPin(a, bluep, 0);
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 1); % Renk değiştiren LED'de sadece yeşil ışığı açın
if lightl2 <= 3 % İkinci fotodirençteki ışık seviyesi düşükse, güvenlik sistemi tarafından algılanan hareketi temsil eder
sendmail(e-postalar, özne, metin); % Önceden tanımlanmış e-posta özelliklerine sahip bir e-posta gönder writeDigitalPin(a, greenp, 0); % Kırmızı renk 2 kez yanıp söner
writeDigitalPin(a, redp, 1);
duraklat(0.3)
writeDigitalPin(a, redp, 0);
duraklat(0.3)
writeDigitalPin(a, redp, 1);
duraklat(0.3)
writeDigitalPin(a, redp, 0);
duraklat(0.3)
writeDigitalPin(a, redp, 1); % Işık seviyesi tekrar yükselene kadar hareket olduğunu göstermek için yanıp söndükten sonra sürekli kırmızı ile bitirin
msg2 = msgbox('Güvenlik sistemi tarafından davetsiz misafir algılandı, ev sahiplerine bilgilendirme amaçlı bir e-posta gönderildi.', 'UYARI!'); % Kullanıcıyı hareket konusunda bilgilendirmek ve gönderilen e-postayı bildirmek için waitfor(msg2) % Mesaj kutusu % Devam etmeden önce mesaj kutusunun kapanmasını bekleyin
Başka
writeDigitalPin(a, greenp, 1); % Işık seviyesi tekrar yükseldiğinde tekrar yeşile dönecektir.
son
son
elseif switchv < %3,3 Anahtar kapalıysa
writeDigitalPin(a, bluep, 0); % Güvenlik sisteminin kapalı olduğunu göstermek için LED'i tamamen kapatın
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 0);
son
son
Ö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