İçindekiler:

Akıllı Alarm: 6 Adım
Akıllı Alarm: 6 Adım

Video: Akıllı Alarm: 6 Adım

Video: Akıllı Alarm: 6 Adım
Video: Smart Watch 6 2021 Edition Ön izleme ve Türkçe KURULUM 2024, Kasım
Anonim
Akıllı alarm
Akıllı alarm

Okuldan bir proje yapma ödevi aldım. Akıllı alarmı seçtim çünkü her zaman alarmım boyunca uyuyorum ve o zaman okulu özlüyorum. Alarmınızı sadece ışık, ses ve hareket varsa kapatabilirsiniz, böylece gözlerinizi açmadan tekrar uykuya dalamaz veya erteleyemezsiniz. Ayrıca uyku düzeninizi görebileceğiniz, alarm kurabileceğiniz ve yeni alarmlar oluşturabileceğiniz bir web sitesi de bulunmaktadır.

Gereçler

Projeyi inşa etmek için gerekli bazı malzemeler var. aşağıda bir liste bulabilirsiniz. ayrıca fiyat dahil her şeyi malzeme listesinde bulabilirsiniz.

  1. Ahududu pi 3
  2. T-cobbler koparma tahtası
  3. PIR sensörü
  4. Işık sensörü
  5. Ses algılama sensörü
  6. zil
  7. LCD ekran
  8. Buton

Adım 1: Donanım

Donanım
Donanım

Her şeyi yapmaya başlamadan önce, fritzing üzerine 2 şema (1 elektrik ve 1 devre tahtası üzerinde) yaptım ve herhangi bir hata olmadığından emin olmak için kontrol ettirdim. Her şeyin yolunda olduğundan emin olduktan sonra projeye başladım. Her şeyden önce buzzer ve buton ile başladım çünkü bu en kolay bileşenlerdi. Bundan sonra ekranımı ahududu pi'ye bağladım. Sonunda sensörlerimi bağladım. ışık sensörü ve hareket sensörü kolaydır çünkü başka bir şeye ihtiyacınız yoktur, ancak PIR sensörünün ekstra bir şeye ihtiyacı vardır. PIR'nin kısa devre yapmamasını sağlamak için bir voltaj köprüsü kullanmanız gerekir. Bu, her şeyin yolunda gittiğinden emin olmak için 1k ohm ve 2k ohm'luk ek bir direnç kullanmanız gerektiği anlamına gelir. Pimlerin tam kullanımını ve her şeyin pi'ye nasıl bağlanacağını şemalarda bulabilirsiniz.

2. Adım: Veritabanı

Veri tabanı
Veri tabanı

Tüm verileri depolamak için bir veritabanına ihtiyacım vardı.

Veritabanım 6 tablodan oluşuyor.

  1. sensör
  2. Geçmiş_sensörleri
  3. Kişi
  4. Alarm_person
  5. uyku_paterni
  6. Alarm

veritabanında 2 bölüm var. Sensörler için 1 ve kişi ve tüm istatistikleri için 1.

Sensör tablosu bir ID ve bir isim içerir. Bu tablo bir ID, değer, Sensor_id ve bir isme sahip olan History_sensors'a bağlıdır. sensor_id, hangi sensörün bir değere sahip olduğunu bilmek için gereklidir ve sensörün ne zaman ölçtüğünü bilmek için tarihe ihtiyaç vardır.

Tablodaki kişi bir kimlik, bir ad ve bir parola içerir. Giriş yapmak için şifre ve isim gereklidir, böylece başka hiç kimse sizin için alarm kuramaz. Bu tablo, sleep_pattern tablosuna ve Alarm_person tablosuna bağlıdır. Sleep_patern tablosu bir ID, Hours_sleep, Date, Person_id, Bedtime ve Wake_up_time içerir. İşte uyku paterniniz hakkında bir grafik oluşturmak için saklanan veriler.

Alarm_person tablosu bir Person_id, Alarm_id ve saati içerir. Bu tabloya ihtiyaç duyulur çünkü farklı kişiler aynı anda bir alarm kullanabilir ve 1 kişi birden fazla alarm kullanabilir. Son tablo alarm tablosudur. Bu bir kimlik ve bir açıklama içerir.

3. Adım: Arka uç

arka uç
arka uç
arka uç
arka uç

Arka uçta farklı fonksiyonlar yazmak zorunda kaldım.

  1. masa sensörlerini isteyin
  2. story_sensors tablosunu isteyin
  3. uyku düzenini sor
  4. yeni bir alarm koy
  5. masa alarmını isteyin
  6. kullanıcı kaydet
  7. giriş yapmak
  8. sensörlerin değerlerini history_sensors tablosuna koyun

Ben pycharm kullandım ve kodu python ile yazdım.

tüm işlevler için @app.route ve ardından adresi kullanıyorum. her seferinde farklı bir adres kullanmanız gerekiyor çünkü aksi halde çalışmaz. Bundan sonra değer olarak yöntemle bir if işlevi yazarım, bu doğru olduğunda kodu yürütür. if değerinde, verileri almak veya verileri bir kenara koymak için bir try catch ve bir sql ifadesi vardır.

Sensörlü fonksiyonlar için durum farklıdır. Burada @app.route kullanmadım, sadece sensör için bir fonksiyon yaptım. burada pinlerinizi bildirir ve bir geri arama işlevi yaparsınız. Bu şekilde, sensör bir şey algıladığında, işlev yürütülür. Geri arama işlevinde, sensör bir şey algıladığında çalışırsa kullandım. if'de, verileri bir sql deyimi ile tabloya koymak için kullanılan kod bulunur. Ayrıca içinde al uyku var çünkü aksi takdirde tabloya sadece 1 algılama için çok fazla değer koyacaktı.

Github'ımda projenin tam kodunu bulabilirsiniz.

4. Adım: Web sitesi

İnternet sitesi
İnternet sitesi
İnternet sitesi
İnternet sitesi
İnternet sitesi
İnternet sitesi

Web sitem için html ve css ile çalıştım web sitem 11 html sayfası içeriyor.

Çok fazla sayfa var çünkü her şey web sitesi tarafından çalışıyor. alarm kurabilir, alarm ekleyebilir ve silebilirsiniz. Ayarlar sayfasında şifrenizi ve e-postanızı değiştirebilirsiniz. Uyku düzeniniz için bir sayfanız var. Ayrıca uyuduğunuz ve uyandığınız anları da ekleyebilirsiniz. Olumlu yanı, her sayfanın aynı görünüme sahip olması ve çoğunlukla aynı şeyleri kullanmasıdır, bu nedenle css genellikle her sayfada aynıdır.

Adım 5: Ön uç

Ön uç javascript ile yazılmıştır.

Adım 6: Vaka

Durum
Durum
Durum
Durum

Benim durumum için ahşap kullanmayı seçtim. Güzel görünüyor kesmek zor değil. Benim kasam 26cm üzeri 14cm yüksekliği 7,5cm. Bu kadar büyük çünkü her şeyin sığması gerekiyor. Sensörler, düğme ve LCD için delikler açtım, böylece zaman görülebilir ve sensörler hareketi veya ışığı algılayabilir. Bunları yapmak için bir lazer kesici kullandım. Kasanın içinde breadboard'um ve ahududu pi'm oturuyor.

Önerilen: