İçindekiler:

Konsol Soğutucu: 11 Adım
Konsol Soğutucu: 11 Adım
Anonim
Konsol Soğutucu
Konsol Soğutucu

Eski bir konsolunuz var mı?

Konsolunuzun yaz aylarında aşırı ısınmasından mı korkuyorsunuz?

O zaman bu proje tam size göre!

Benim adım Thibeau Deleu ve Howest Kortrijk'te Multimedya ve İletişim Teknolojisi öğrencisiyim.

Bu projenin adı 'Konsol Soğutucu'. Adından da anlaşılacağı gibi, konsolunuzu serin tutmanıza yardımcı olan bir cihaz! Soğutma, kasanın üstündeki bir fan aracılığıyla gerçekleşir ve bu da ekstra bir hava akımı oluşturur.

Bu proje, özellikle yaz aylarında oldukça hızlı ısınan eski bir konsola sahip olanlar içindir. Konsolun durumunu (kendi kendine yapılan) bir sitede de görebileceksiniz.

Adım 1: Ana Bileşenler (sensörler ve LCD)

Ana Bileşenler (sensörler ve LCD)
Ana Bileşenler (sensörler ve LCD)
Ana Bileşenler (sensörler ve LCD)
Ana Bileşenler (sensörler ve LCD)
Ana Bileşenler (sensörler ve LCD)
Ana Bileşenler (sensörler ve LCD)

Bu cihazı oluşturmak için tam olarak neye ihtiyacımız var?

Ana bileşenlerin ne olduğuna dair bir genel bakış vererek başlayalım:

  • LDR Direnç
  • ML35 sıcaklık sensörü
  • Jtron DC 5V 0.23a 3 5 cm Soğutma Fanı.
  • PIR Hareket sensörü
  • Ultrasonik sensör

Bu adımın başındaki soru için, ihtiyacınız olan tüm bileşenleri içeren 2 excel resmi yerleştireceğim. Ancak en önemli kısımları aşağıdaki adımlarda ele alacağım, böylece anlaşılması daha kolay olacak.

Her şeyden önce, bunun çalışması için ana bileşene ihtiyacımız var ve bu da en az 16GB micro SD karta sahip Raspberry Pi. O olmadan hiçbir şey işe yaramaz.

İkincisi kasa içindeki sıcaklığı ve konsolun durumunu görmek için önemli parametreleri kaydedecek olan bileşenlerdir. Bunun için bir sıcaklık sensörüne ve bir ışık sensörüne ihtiyacımız var. Bu projede kullanacağım olanlar:

  • LDR direnci
  • LM35 sıcaklık sensörü

Fanın kendisine gelince, Jtron DC 5V 0.23a 3 5 cm Soğutma Fanı kullanacağım.

Bu projede bazı ekstra bileşenler var, çünkü onları projeye eklemek ilginçti (şahsen benim için).

İlk bileşen, fanı etkinleştirmek için bir düğme olarak çalışacak bir PIR Hareket sensörüdür. İkinci bileşen, kasa ile duvar arasındaki mesafeyi ölçmek için bir ultrasonik sensördür. Bu son sensörü uyguladım çünkü havanın kasadan kolayca kaçabilmesi önemlidir.

Sonunda sitenin IP adresini gösteren bir LCD ekrana sahibiz. Bu site sensörlerin değerlerini gösterecek ve bu siteden fanı kontrol edebileceksiniz.

Adım 2: Devreyi Çalıştıracak Öğeler (transistörler, Dirençler,…)

Devreyi Çalıştıracak Öğeler (transistörler, Dirençler,…)
Devreyi Çalıştıracak Öğeler (transistörler, Dirençler,…)
Devreyi Çalıştıracak Öğeler (transistörler, Dirençler,…)
Devreyi Çalıştıracak Öğeler (transistörler, Dirençler,…)
Devreyi Çalıştıracak Öğeler (transistörler, Dirençler,…)
Devreyi Çalıştıracak Öğeler (transistörler, Dirençler,…)

Bu projenin çalışması için aşağıdaki transistörler/dirençler kullanıldı.

Transistörler:

NPN transistörü: PN2222 (1 gerekli)

Dirençler:

  • 10k ohm (3 gerekli)
  • 1k ohm (2 gerekli)
  • 2k ohm (2 gerekli)

Güç kaynağı:

Breadboard güç modülü 3V / 5V (1 gerekli)

Kablolar:

  • erkek/erkek (en az 30-40)
  • dişi/erkek kablolar (LCD, LDR ve fan için yaklaşık 10-20)
  • dişi/dişi kablolar (kasa için bazı kabloları uzatmak istiyorsanız yaklaşık 10-20).

Başka:

  • 1 Potansiyometre (LCD'de ışık regülasyonu için)
  • 1 MCP3008 (analog değeri LDR'yi dijital değere dönüştürmek için)
  • Her şeyi yerleştirmek için 2 breadboard.

Adım 3: Açıklamalı Kablolama Şeması

Bu adım, öncekinin bir uzantısıdır. Burada konsolu daha serin hale getirmek için tam elektrik kablo şemasını göstereceğim. Her şeyi nasıl bağlayacağınızı görmek için lütfen ekteki dosyalara tıklayın.

Adım 4: Vaka: Bileşenler

Durum: Bileşenler
Durum: Bileşenler
Durum: Bileşenler
Durum: Bileşenler
Durum: Bileşenler
Durum: Bileşenler

Tabii ki, bu elektrik devresinin çalışmamasına neden olabilecek farklı kuvvetlerden korunması gerekir. Kuvvetler ile yağmur, cihaza çarpabilecek nesneler vb. gibi şeyleri kastediyorum.

Bu nedenle bir dava gereklidir.

Bu vakayı oluşturmak için aşağıdaki bileşenlere ihtiyacımız var:

Odun:

  • Aşağıdaki parçaları kesmek için bir büyük sunta (1,2 cm kalınlığında):

    • 20 cm üzerine 2 adet 14 cm (kasanın önü/arkası)
    • 12 cm'de 2 adet 45 cm (kasanın yanları)
    • 45 cm üzerine 2 adet 20 cm (kasanın üst/alt kısmı)
    • 2 bar (kasa için ayak olarak kullanmak için)

Menteşeler:

  • Önü açmak için 2 adet menteşe (menteşeler ön taraftadır)
  • Üstü açmak için 2 menteşe

Üstesinden gelmek:

1 tutamak (önünü açmak için)

Zamk:

1 büyük tüp TEC yapıştırıcısı (parçaları birbirine yapıştırmak için)

Testere:

Atlantik Testere (sensörler, LDR ve fan için parçalarda gerekli delikleri kesmek için)

Sander:

Kesildikten sonra parçaları düzeltmek için Black&Decker

Delmek:

0,6 cm çapında vidalı 1 matkap (delikleri oluşturmak için)

Boya / Astar:

  • 1 kap beyaz Levis astar (0.25L)
  • 1 kap beyaz Levis boyası (0.25L)

mıknatıslar:

2 adet mıknatıs (kasanın kapağını tutacak)

Fırçalar:

  • 1 rulo (büyük yüzeyleri boyamak için)
  • 1 fırça (detaylar için)

Vidalar:

  • Menteşeler için 8 küçük vida (plaka 1,2 cm kalınlığında olduğundan maksimum 1,1 cm uzunluğunda)
  • Sap için 2 küçük vida (maksimum 1,1 cm uzunluğunda)
  • Mıknatıslar için 4 küçük vida (maks 1,1 cm uzunluğunda)

Adım 5: Vaka: Oluşturma

Vaka: Yaratılış
Vaka: Yaratılış
Vaka: Yaratılış
Vaka: Yaratılış
Vaka: Yaratılış
Vaka: Yaratılış

Şimdi dava açma zamanı.

  1. Kasanın üst parçası için. Plakayı yarıya kesin, çünkü sensörlere/elektroniklere ulaşabilmemiz için arka yarının açılması gerekiyor
  2. Sunta parçalarında aşağıdaki delikleri kesin - Üst ön yarım parçada. 3 delik açın: - 1 dikdörtgen delik (LCD için 3,5 cm üzerinde 6,8 cm) - 1 daire delik (fan için 2,5 cm çapında) - 1 kare delik (PIR hareket sensörü için 2,5 cm üzerinde 2,5 cm)
  3. Arka parçada daire şeklinde bir delik açın. Güç kabloları buradan geçecektir.
  4. 0,6 cm çapındaki vida ile arka (kablolar için deliğin etrafında) ve kasanın sol tarafında matkapla küçük delikler açın. Bunu, kasada yeterli hava sirkülasyonu olacak şekilde yapıyoruz.
  5. Kasanın sağ tarafında. Ultra sonik sensör için (düzgün çalışabilmesi için) arkada bir delik açın (3,5 cm'de 5,5 cm).
  6. Tüm parçaları TEQ yapıştırıcı ile birbirine yapıştırın. Gerekirse, kasanın kenarlarını güçlendirmek için sunta çubuklar ekleyebilirsiniz. Bu çubukları kasanın içine yerleştirin. HER ŞEY KURULDUKTAN SONRA
  7. Kolu kasanın ön tarafına vidalayın. Ön parçanın üstüne vidalayın (3 deliği yaptığımız üst parça DEĞİL => gerekirse açıklama için resimlere bakın).
  8. Kasanın sağ tarafındaki (arkadaki) 2 menteşeyi (4 vida) üst arka yarının açılabilmesi için vidalayın.
  9. Kasanın ön tarafının açılabilmesi için ön parçanın altındaki 2 adet menteşeyi (4 vida) vidalayın.
  10. Mıknatısları kasanın iç tarafına vidalayın: - İçteki üst ön parçanın önüne 2 mıknatıs

    - Mıknatıslarla birleşecek şekilde ön parçanın üstünde 1 adet metal parça

  11. Sunta çubuklarını kasanın alt kısmına yapıştırın, böylece ön kısım tutamak ile kolayca açılabilir.
  12. Kasaya astar ekleyin
  13. Kasaya beyaz boya ekleyin
  14. Tebrikler! Davan bitti!

Adım 6: Bileşenleri Kasaya Yerleştirme

Bileşenleri Kasaya Yerleştirme
Bileşenleri Kasaya Yerleştirme

Bileşenlerin kasaya yerleştirilmesi için aşağıdakiler:

  1. LCD ve Fan, DIŞINDA olan kasanın üstüne vidalanacaktır.
  2. PIR hareket sensörü, İÇERİDE kasanın üstüne yapıştırılacaktır.

Diğerleri için değil de hareket sensörü için bunu yapmamızın sebebi, hareket sensörünün durmadan kayıt yapmasını engellemektir.

Breadboard'lar (üzerinde elektronik aksamların çoğu bulunur) kasanın içine yapıştırılacak ve arkaya yerleştirilecek. Sağ taraftaki delikten de Ultra sonik sensörün görülebildiğine dikkat edin.

Raspberry Pi, kasanın ön yarısına yerleştirilecek. Pi, soğutulması gereken konsol olduğundan, yapıştırılması/vidalanması gerekmez (çünkü bunu gerçek bir konsolla yapmazdık).

7. Adım: Ahududu Kurulumu

Ahududu Kurulumu
Ahududu Kurulumu

Kodlamaya başlamadan önce doğru ortamı kurmamız gerekiyor.

Bunu nasıl yaparız? Raspberry pi için raspbian buster imajını indirerek ve Win 32 disk imager kullanarak ahududu üzerine yazmak için. Pi'ye resim yazmaya başlamadan önce, Raspberry Pi'de SSH'yi etkinleştirmek için resimde bir SSH dosyası (uzantısız) oluşturduğunuzdan emin olun.

Pi üzerinde kurulum

Bunu yaptıktan sonra, doğru şekilde yapılandırabilmeniz için ahududunuzda oturum açmak için macun kullanabilirsiniz. Pi'nizi bir ethernet kablosuyla bilgisayarınıza bağlamanız gerekeceğini unutmayın.

Pi için varsayılan kullanıcı ve şifre aşağıdaki gibidir:

kullanıcı pi

şifre: ahududu

Bunu raspi-config kullanarak değiştirebilirsiniz.

Pi'nize bir ağ eklemeliyiz ki diğer cihazlar aynı ağdayken sitenize bakabilsin. Putty'ye aşağıdaki komutları girin.

  1. sudo iw dev wlan0 taraması | grep SSID'si
  2. wpa_passphrase "NAMEOFYOURNETWORK"

    Ağınızın şifresini girin

  3. sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
  4. sudo yeniden başlatma
  5. ifconfig (wifi kurulumunuzun çalıştığını kontrol etmek için)

Pi internete bağlıyken aşağıdaki komutları kullanarak Pi'nizin güncel olduğundan emin olmanız gerekir:

  • sudo apt-get güncellemesi
  • sudo apt-get yükseltme

Bundan sonra, projenin çalışması için paketleri raspi-config veya komutlar aracılığıyla etkinleştirebilir veya kurabilirsiniz. Raspi-config'den bahsettiğimize göre, ahududu'nun tek telli sensörü okuyabilmesi için burada tek telli arabirimi etkinleştirebiliriz. Arabirim seçeneklerine gidin, bir kablo seçin ve etkinleştir'e basın. Ayrıca SocketIO'yu aşağıdakilerle yüklemeniz gerekir:

pip yükleme şişesi-socketio

Artık internetimiz olduğuna göre veritabanımızı oluşturmamız gerekiyor. Ama önce MariaDB'yi (pi'de) ve Mysql Workbench'i (bilgisayarda) indirmemiz gerekiyor, böylece MariaDB üzerinde çalışabiliriz.

Adım 8: Bilgisayarı Kur

Kurulum Bilgisayarı
Kurulum Bilgisayarı
Kurulum Bilgisayarı
Kurulum Bilgisayarı
Kurulum Bilgisayarı
Kurulum Bilgisayarı

MySQL Workbench

Her şey yüklendikten sonra, MariaDB'ye bilgisayarımızda Mysql Workbench üzerinden erişebiliriz.

Yeni bir veritabanı oluşturduğumuzda, bu veritabanını yukarıdaki resimdeki gibi yapılandırmamız gerekiyor (bağlantı adı 'raspi' olan). Bu veritabanını yapılandırırken hem veritabanına hem de ahududuya ait kullanıcı adı/şifresine ihtiyacımız var. varsayılan kullanıcı ve şifre veritabanında 'mysql' / 'mysql' ve Pi'de 'pi' / 'rapsberry'dir. Bağlantı uyarısı varsa 'Yine de Devam Et'e basabilirsiniz.

Visual Studio Kodu

İhtiyacımız olan diğer yazılım ise Visual Studio Code.

Kurulduktan sonra aşağıdaki uzantıyı yüklemeniz gerekir.

Bu uzantı, pi programlarınızı PC'nize yazmanıza olanak tanır. Bu yüklendiğinde aşağıdakileri yapın:

  1. F1'e basın ve SSH yazın
  2. Uzaktan erişim seçin: yeni SSH ana bilgisayarı ekleyin
  3. Aşağıdaki verileri girin

    ssh 169.254.10.1 -A

  4. Enter tuşuna basın

Bundan sonra ahududu pi'nize bağlanacaksınız.

İhtiyacımız olan son şey, uzak makineye python uzantısını yüklemek. Bu olmadan bilgisayarımıza yazdığımız programları çalıştıramayız.

Adım 9: Kodlama Başlasın

Kodlama Başlasın
Kodlama Başlasın

Artık donanım hazır olduğuna göre, yazılımla başlama zamanı.

Başlamadan önce, dosyalarımız için bazı yapılar eklemeye başlayacağız. Bu durumda ön uç, arka uç ve veritabanı için bir klasör oluşturacağız. Bu kafa karıştırıcı görünüyorsa, tüm dosyaların bulunduğu Git Depom'a (aşağıdaki adımlarda) bir bağlantı olacaktır. Gerekirse dosyaları oradan devralabilirsiniz.

Artık bir yapımız olduğuna göre, kodlamanın nasıl ilerleyeceğine dair kısa bir genel bakış sunacağım.

1. Veritabanı oluşturma Sensörlerimizin değerleri için bir veritabanı oluşturmak istediğimizde, verilerimizi depolamak için iyi bir modele ihtiyacımız olacak. Bu modele sahip olduğumuzda, veritabanımızı oluşturmak için bu modeli mühendislikle iletebiliriz. Mysql Workbench üzerinde çalışacağımız modeli oluşturmak için, modelin nasıl göründüğünü görmek için lütfen bu adımdaki resmi kontrol edin.

bir model/ileri mühendis oluşturmak için aşağıdakileri yapın:

  • Bir model basın dosyası oluşturmak için (sol üstte)
  • Yeni modele basın
  • Daha fazla bilgi için aşağıdaki bağlantıya basın
  • İleri mühendislik için, basın modeli
  • ileri mühendis basın
  • İşlemin sonuna kadar evet/devam'a basın.

2. Arka uç

Arka uç, tüm cihazlar ve sensörler için kodlamanın olacağı yer olacaktır. Bileşenlerin kodunu içeren yardımcı sınıflar ve her şeyin bir araya geldiği ana kod (app.py) arasında bölünecektir.

Arka uç, veri tabanındaki bilgileri depo klasöründeki datarepository.py dosyası aracılığıyla aldığından, veritabanı dosyaları da bu klasörde olacaktır. config.py dosyası yalnızca arka ucu veritabanına bağlamak içindir.

3. Ön uç

Ön uç site içindir. Bu klasör HTML/CSS/JAVA kodunu içerecektir. Site, Rapsberry Pi'nizden IP üzerinden erişilebilir olmalıdır. Yani pi'niz aşağıdaki IP'ye sahipse: 192.168.0.120, sitenizi bu IP adresi üzerinden ziyaret edebilirsiniz. Pi'nizin IP'sini öğrenmek istiyorsanız, macuna 'ip a' yazıp WLAN0 adresine bakabilirsiniz.

Adım 10: Arka Uç

Önceki adımda belirtildiği gibi, arka uç, bileşenler için tüm kodun yazıldığı yerdir. Bahsetmediğim şey, veri tabanından verilerin nasıl alınacağı ve sitemizin ön ucuna nasıl gönderileceğiydi.

Bunu yapmak için aşağıdaki adımlar yapılmalıdır:

  1. Veritabanınıza veri almak/güncellemek/eklemek için mysql sorguları oluşturun. Bu sorguları içeren dosya Datarepository.py dosyasıdır. Database.py dosyası, veritabanı ile iletişim kuracak ve istediğiniz verileri almak için datarepository.py'den gelen sorguları kullanacak dosyadır. Veritabanınıza bağlanabildiğinizden emin olmak için, lütfen yapılandırma dosyasının veritabanınızla aynı şifre / kullanıcı. Ayrıca doğru veritabanının seçildiğinden emin olun.
  2. Veritabanı ile iletişim kurabildiğimizde, bir rota oluşturmamız gerekiyor (app.route(endpoint…)). Bu rota, ön uç ile arka uç arasındaki bağlantıdır. Kullanılabilecek diğer bir bağlantı ise Socketio'dur.
  3. Bu projenin çalışması için tüm doğru kitaplıkları (app.py'de) içe aktardığınızdan emin olun. App.py için hangi kütüphaneleri kullandığımı bilmek istiyorsanız, github'ımı görebilirsiniz.

Veritabanının güncel verilerle doldurulacağından emin olmak için sensörlerden sürekli okumalar yapmak önemlidir. Bunu yapmanın en iyi yolu bir while döngüsünden geçmek ve bu while döngüsünü bir iş parçacığında çalıştırmaktır. Aksi takdirde programınız bir süre döngüsünde takılıp kalacaktır.

Adım 11: Ön Uç

Başlangıç aşaması
Başlangıç aşaması
Başlangıç aşaması
Başlangıç aşaması
Başlangıç aşaması
Başlangıç aşaması

ön uçta var

3 html sayfası:

  • ana sayfa.html
  • ışık.html
  • sıcaklık.html

3 css dosyası:

  • screen.css (okul tarafından bana verilen bir dosyadır.)
  • normalize.css (farklı tarayıcılarda css'ye uygulanmasına yardımcı olur.)
  • main.css (html sayfaları için ana css'yi içerir.)

2 javascript dosyası:

  • app.js (arka uçtaki verileri alacak ve ön uca yerleştirecektir.)
  • datahandler.js (app.js'nin onunla çalışabilmesi için arka uçtaki verileri işleyecektir.)

Her ihtimale karşı github'ımın bağlantısını buraya da ekleyeceğim.

Önerilen: