İçindekiler:
- Gereçler
- Adım 1: Raspberry Pi'yi Ayarlama
- Adım 2: Elektroniği Bağlama
- Adım 3: Veritabanı Tasarımı
- Adım 4: Arduino Kurulumu
- Adım 5: Raspberry Pi Arka Uç
- Adım 6: Vaka
Video: Wake Me Up - Akıllı Çalar Saat: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Wake me up, akıllı ışık olarak da kullanılabilen akıllı bir çalar saattir.
Yerleşik led şerit, odanıza gelen doğal ışığı simüle eder. Bu, güne başlamak için sakin ve doğal bir yol sağlar.
Çalar saat ayrıca saati okumak için 4*7 segment ekran, en sevdiğiniz müzikle uyanmak için hoparlörler, dokunmatik düğme, led şeridin parlaklığını ayarlamak için bir ldr ve ekranı görüntülemek için kullanabileceğiniz bir sıcaklık sensörü ile donatılmıştır. odanızın sıcaklığı.
Gereçler
Ödediğim tam fiyatların bir listesi burada bulunabilir:
Mikrodenetleyiciler ve bilgisayarlar:
Raspberry Pi 4I, ahududu pi 4 4GB kullandım, ancak herhangi bir ahududu pi modeli 3+ iyi olmalıdır
Arduino Uno'su
Arduino, 4*7 segment saat ekranını kontrol etmek için kullanılır.
Sensörler:
- TMP36: sıcaklık sensörü
- LDR: Işığa bağlı direnç
Aktüatörler:
- WS2801: Bireysel olarak adreslenebilir led şerit
- LCD ekran: 16*2 LCD ekran.
- 4*7 segment saat göstergesi
IC'ler:
- 74HC595: LCD ekran için Shiftregister
- MCP3008: 8 bit Analogdan dijitale dönüştürücü
- Mantık seviyesi dönüştürücü: Raspi ve arduino arasında iletişim kurmak için kullanılır
Diğer şey:
- Hoparlörlere güç sağlamak için bir adafruit MAX9744 amplifikatör
- Herhangi bir hoparlör, Visaton 4Ohm 8Watt tam aralıklı hoparlör kullandım (Ürün No. 2240)
- Amplifikatöre güç sağlamak için 9 voltluk bir güç kaynağı
- Led şerit ve diğer bileşenleri beslemek için 5 voltluk bir güç kaynağı. Led şeritteki her bir ledin 60mA çekebileceğini unutmayın, bu nedenle güç kaynağınızın yeterli olduğundan emin olun.
- Birkaç 220Ohm direnç
- Çantanıza koymak için küçük bir breadboard.
Aletler:
- Bir havya.
- Duruma uygun bir şey (Ahşap efekti elde etmek için PLA ve PETG içeren bir 3d yazıcı ve bazı vinil çıkartmalar kullandım.)
Adım 1: Raspberry Pi'yi Ayarlama
Raspberry pi, ana mikro denetleyicimizdir.
Ahududu pi, yerel web sunucumuzu, veritabanımızı çalıştırır, led şeridi, hoparlörleri,…
Bölüm 1: Raspbian Kurulumu
Raspbian'ı yüklemek için bu öğreticiyi kullanın:
SSH'nin etkin olduğundan emin olun
2. Bölüm: Bağlanmak
İnternete bağlanmak için ahududu pi'nizin terminaline erişim sağlamanız gerekir. macun kullanmanızı tavsiye ederim. Terminal tipinde:
wpa_passphrase "Ağınız" "SSID'niz" >> /etc/wpa_supplicant/wpa_supplicant.conf
"Ağınız", wifi ağınızın adıdır ve "YourSSID", ağın şifresidir.
Ağı ekledikten sonra Raspberry Pi'yi yeniden başlatmayı deneyin.
'ping 8.8.8.8' komutunu yazın, yanıt alırsanız ağınız kurulmuş ve çalışıyorsa google sunucularına bir paket gönderecektir!
Bölüm 3: Gerekli programları yükleyin
Bu projeyi başlatmak ve çalıştırmak için bazı ekstra programlar yüklememiz gerekecek.
Başlamadan önce, her şeyin yükseltildiğinden emin olmak için bu 2 komutu çalıştırın.
sudo uygun güncelleme
sudo uygun yükseltme
Bu biraz zaman alabilir.
Apaçi
sudo apt apache2'yi yükleyin -y
sudo apt kurulum php libapache2-mod-php -y
MariaDB
sudo apt mariadb sunucusunu kurun mariadb-client -y
sudo apt kurulumu php-mysql -y
PHPMyAdmin
sudo apt phpmyadmin kurulumu -y
piton pip
Bazı python kitaplıklarını etkinleştirmek için pip kurmamız gerekiyor
pip3 mysql-connector-python'u kurun
pip3 yükleme şişesi-socketio
pip3 flask-cors yükleyin
pip3 kurulum geventi
pip3 kurulum gevent-websocket
Adım 2: Elektroniği Bağlama
2 şema ekledim, 1'i test amaçlı bir devre tahtası şemasıdır. İlk şemayı oluşturmanızı ve kodu çalıştırmaya çalışmanızı öneririm.
Fritzing dosyalarını aşağıya ekledim.
Adım 3: Veritabanı Tasarımı
Bu benim yaptığım veritabanı şeması. Sözcükler hollandaca ama her tabloyu ayrıntılı olarak açıklayacağım.
Tablo 1: tblMuziek
Bu oldukça basit bir tablo. Sanatçı adını, şarkı adını ve bir şarkının dosya adını kaydeder.
Tablo 2: tblLedstrip
Bu tablo led şeridin mevcut durumunu takip eder ve led şeridin durumunu kaydeder. Akıllı ışık işlevi için buna ihtiyacımız var.
Tablo 3: tblSensoren
Bu tablo, alarmımızdaki sensörlerin kaydını tutar. Sensörün adını ve MCP3008'in kanalını saklarız
Tablo 4: tblMeting
Bu tablo, sensörlerimizin değerlerini zamanlarıyla birlikte saklar.
Tablo 5: tblWekker
Bu tablo çalar saatinizin şifresini ve adını saklar (örn. Yatak Odası) Bu tablo zorunlu değildir ancak evinizde 1'den fazla çalar saatiniz olacağını varsaydığım için ekledim.
Tablo 6: tblAlarm
Bu muhtemelen en önemli tablodur. Ayarladığınız alarmları ve saatin ne yapması gerektiğini takip eder (hangi şarkı çalınacak, hangi led dizisi, Hangi günlerde çalmalı,…). 2 tarihi takip etmek çok önemlidir. Alarmın hangi saatte çalması gerektiğini kaydetmek için 1 tarih kullanılır. Diğeri, alarmın en son ne zaman çaldığını takip eder. Hafta içi hangi günün başlaması gerektiğini bilmek için 7 basamaklı bir varchar kullandım. İlk hane Pazartesi, ikinci Salı… Eğer 1 ise sönmeli, 0 ise çıkmamalı. Örnek: 1111100, bu alarmın Pazartesi, Salı, Çarşamba, Perşembe ve Cuma günleri çalması gerektiği anlamına gelir.
Adım 4: Arduino Kurulumu
Bu adım çok kolaydır. Bir sonraki adımda arduino dosyasını indirebileceğiniz github'uma bir bağlantı olacak.
Program ne yapar?
Program seri verinin pi'den gelmesini bekler.
Veri alınır alınmaz dizgeyi ayrıştırır ve pi'ye bir onay gönderir.
Dize şöyle bir şey olacaktır: '1201' bu, saatin 12:01 olduğu anlamına gelir. Ortak bir anot 7 segmentli ekran kullandım, bu, onları açmak için Rakamların yüksek ve A, B, C, D, E, F, G ve DP'nin düşük olması gerektiği anlamına gelir. Ortak bir katot kullanıyorsanız, YÜKSEK'i DÜŞÜK'e ve DÜŞÜK'ü YÜKSEK'e değiştirmelisiniz.
İşte 7 segmentli ekranların nasıl çalıştığı hakkında daha fazla bilgi içeren bir bağlantı. (kütüphane kullanımı ile):
www.instructables.com/id/Using-a-4-digit-7…
İşte kitaplık kullanmadan yaklaşık 7 segment ekran bağlantısı:
create.arduino.cc/projecthub/SAnwandter1/p…
Adım 5: Raspberry Pi Arka Uç
Kodumu Github kullanarak indirebilirsiniz. (https://github.com/VanHevelNico/WakeMeUp)
Program nasıl kurulur:
Arka uç, şişe kullanılarak python ile yazılmıştır. Bu programı (app.py) otomatik olarak başlatan bir servis yapabilirsiniz.
Ön uç kodunu daha önce indirdiğimiz apache sunucusunun html dosyasına koymalısınız. (/var/html)
Program nasıl çalışıyor?
Çalar saat açıldığında saatinizin ip adresine gidin (lcd'de görüntülenecektir)
Tarayıcınızda o ip adresine gider gitmez bilgisayarınız arka uca bir istemcinin bağlandığını söyleyen bir socket.io isteği gönderir. Arka uç bunu aldığında, aşağıda açıklayacağım birkaç iş parçacığı başlayacak.
Kurmak
Bu, gereken tüm nesneleri başlatır.
GetTemp
Bu, mcp3008 kanal 0'ı okur ve ikili verileri gerçek sıcaklığa dönüştürür ve geçerli tarih ve saat ile veritabanına koyar.
GetTempGrafiek
Bu, sıcaklık sensörünün son 20 değerini alır ve bunu ön uca yayar.
tijd_sturen
Bu yöntem geçerli saati alır ve dakikanın değişip değişmediğini kontrol eder. Değişmişse program seri haberleşmeyi kullanarak yeni zamanı arduinoya gönderir.
kontrolAlarmanlar
Bu en önemli yöntemdir. Açılan tüm alarmları alır ve bu alarmlardan herhangi birinin şimdi ile 5 dakika önce arasında geçmesi gerekip gerekmediğini kontrol eder (bu, her alarmın gerektiğinde çalışmasını sağlamak için bir arabellektir). Alarmın çalması gerekiyorsa müziği başlatırız, led şerit, … Kuvvete duyarlı rezistörü sürekli okuruz ve değer 1000'in altına düştüğünde (fsr'ye basarız) Alarmı kapatır ve alarmı güncelleriz. veri tabanı. Alarmın son kez çaldığı tarihi şimdiki tarihe ayarladık.
durumIşık
Bu yöntem led şeridin değerini yayar ve gerekirse led şeridi açar.
lichtAanpassen
Bu, led şerit ve alarm ışığının çakışmadığından emin olmak için ekstra bir yöntemdir.
Adım 6: Vaka
Dosyalarımın bağlantısı burada bulunabilir:
Kasayı basmak için bir 3d yazıcı kullandım. 4 farklı parçada basılmıştır:
- Hoparlör için delikli ön plaka ve 7 segmentli ekran için bazı duvarlar
- Şeffaf PETG'de led şerit için dış halka.
- orta kısım
- LCD için bir deliği ve kablolar için bir deliği olan arka plaka.
Orijinal modelde 7 segmentli ekran için delik yoktu ancak bu gereklidir çünkü aksi takdirde 7 segmentli ekranın ışığı parlamaz.
Gördüğünüz gibi, tüm bileşenleri yerleştirdikten sonra, sonucun daha iyi görünmesi için ahşap görünümlü vinil çıkartmalar kullandım. Saat ekranı, çok hoş görünümlü bir efekt yaratan çıkartmanın içinden parlıyor.
Önerilen:
Arduino ve DFPlayer Mini MP3 Çalar Modülünü Kullanarak LCD'li MP3 Çalar Nasıl Yapılır: 6 Adım
Arduino ve DFPlayer Mini MP3 Çalar Modülü Kullanarak LCD'li MP3 Çalar Nasıl Yapılır: Bugün Arduino ve DFPlayer mini MP3 Çalar Modülü kullanılarak LCD'li MP3 Çalar Yapacağız.Proje SD karttaki MP3 dosyalarını okuyabilir ve duraklatabilir. ve 10 yıl önceki cihazla aynı şekilde oynayın. Bir de önceki şarkı ve sonraki şarkı eğlencesi var
Gazoz Kutularından İkiz Zil Çalar Saat: 7 Adım (Resimli)
Soda Kutularından İkiz Zil Çalar Saat: Bu Talimat, soda kutularından nasıl ikiz zilli çalar saat yapacağınızı gösterir. Proje, mürekkebin çıkarıldığı soda kutularını kullanır (Bağlantı: Soda Kutularından Mürekkep Çıkarma). Bu çalar saati tamamen işlevsel hale getirmek için bir DIY Kuvars saat modülü entegre edildi
Gürültülü Bir Çalar Saat: 3 Adım
Gürültülü Bir Çalar Saat: Tayvan'da 13 yaşında bir öğrenciyim. İlk defa Arduino ile bir şeyler yapıyorum, bu işi nasıl geliştireceğimi söylerseniz, daha iyisini yapabilmem için lütfen yorum bırakın.(teşekkürler) )Bu saat sen kestirirken seni uyandırabilir ama ben
Bir MP3 Çalar'ı Teyp Çalar'a Bağlama: 6 Adım (Resimlerle)
Bir MP3 Çalar'ı Teyp Çalar'a Bağlama: Müzik dinlemek için bir mp3 çalar veya başka bir stereo kaynağı bir kaset çalara nasıl bağlanır
"Bilge Saat 2" Montajı (Birçok Ekstra Özelliği Olan Arduino Tabanlı Çalar Saat): 6 Adım
"Wise Clock 2" Montajı (Birçok Ekstra Özelliğe Sahip Arduino Tabanlı Alarm Clock): Bu eğitim, bir açık kaynak (donanım ve yazılım) projesi olan Wise Clock 2 için kitin nasıl monte edileceğini gösterir. Eksiksiz bir Wise Clock 2 kiti buradan satın alınabilir. Özetle, Wise Clock 2 bunu yapabilir (mevcut açık kaynaklı yazılımla