İçindekiler:
Video: Eşler: 5 Adım
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Ben Stephanie Minne, Howest'te (Kortrijk Belçika) Yeni Medya ve İletişim Teknolojisi (NMCT) okuyorum. Okulda bir web sayfası olan bir cihaz yapma ödevi aldık. Portföyüme göz atabilirsiniz.
İçinde sensör bulunan bir tren koltuğu yapmayı seçtim. Sensör, koltukta oturan bir kişi olup olmadığını algılayacaktır.
Adım 1: Gerekli Malzemeler
Bu proje için birkaç malzemeye ihtiyaç var.
Basınç sensörü (fsr 400) = 9 €, 20/birim
Ahududu Pi 3 = 37, 95 €
RGB ledleri = 0,5 € /birim
Direnç (470 ohm) = 0,10 € /birim
LCD ekran = 2,44 € /birim
Mcp 3008 = 29, 00 € /birim
Sn74hc595n = 1,20 € /birim
Potansiyometre = 1, 15 €
Adım 2: Devre
Donanım oldukça kolay.
Şemada da görüldüğü gibi ledlerimde 74hc47 kullandım. Bunun nedeni, ahududu Pi'min çok fazla iğnesi olmamasıdır. Bunun dezavantajı, led'i sadece kırmızı veya yeşil yapabilmenizdir. Farklı renkler yapmak için bir pwm sinyaliniz yok.
Raspberry Pi'nin analog giriş pinleri yoktur. Bu yüzden bir mcp 3008'e ihtiyacım var. Bu, analog sinyali dijitale dönüştürür. Basınç sensörü, mcp 3008'in kanallarına konur.
3. Adım: Bir Veritabanı Oluşturun
Bu projede veritabanı sunucusu olarak mysql kullanılmıştır.
Masa işgali, sensörler hakkında bilgi içerir. Bir kişinin tren koltuğuna oturduğu yeri yakalar. Kişi koltuğa oturduğu andan itibaren ilk veriler tabloya yazılacaktır. DatetimeEnd hariç tüm veriler tabloya yazılacaktır.
Tablo rotasında, bir trenin yaptığı farklı rotalar hakkında veriler gelir.
Tablonun iki değeri vardır: biri normal tarih saat ve diğeri gerçek tarih saat için.
Datetime normal, trenin teorik olarak durduğu saattir. Datetime real, trenin gerçekten durduğu zamandır. Bu sefer gecikme dahil.
Her trenin, harflerden (p.e. IC, Şehirlerarası tren anlamına gelir) ve rakamlardan (p.e. 4565, Brüksel'den Anvers'e giden tren) oluşan net ve benzersiz bir referansı vardır.
Ve her türün kendi konaklama yeri vardır. Örneğin masalar, çöp kutuları.
Adım 4: Kodlayın
Sensörlerin de base kodu Python ile yazılmıştır. Var
2 çeşit kod. Birincisi sensörler içindir. İkincisi web sayfası içindir. Web sayfası verileri Python, Flask, JavaScript, HTML ve CSS ile yazılmıştır.
sensör
Her bileşenin kendi sınıfı vardır. Test.py'de tüm farklı sınıflar kullanılır.
Ağ
Web kodu Python ve Flask ile yazılmıştır. Başlık için bir şablon kullanılır. Sayfanın diğer parçasının kendi html sayfası vardır.
dosya yapısı
- Test dosyası dizin sensöründe bulunabilir.
- Sınıflar dizin modellerinde bulunur.
- Sql dizini, tren veritabanının dökümünü içerir.
- Web dizini index.py dosyasını içerir. Bu Flask sayfasıdır. Web sayfasını çalıştırmak için bu dosyanın çalıştırılması gerekir.
- Templates dizini html sayfalarını içerir.
- Statik dizin, görüntüleri, yazı tiplerini ve css dosyalarını içerir.
Adım 5: Güzelleştirin
Güzel bir tren yapmanın farklı yolları var. ben seçtim
bir trenin 3 boyutlu baskısını yapmak için.
Koltuklar.
Sensörün koltuğa yerleştirilmesi gerektiğinden koltukta küçük bir delik öngörülmelidir. Ledler koltuğun üstüne sabitlenmiştir.
Vagon.
Vagonda birkaç önemli özellik var. İlk başta koltukların geldiği yerde küçük delikler olmalı.
- Sensör ve ledlerin balataları bu deliklerden geçmelidir.
- Yan panelde, IP adresi ve boş koltuk sayısı ile ilgili bilgileri içeren LCD ekranı sabitlemek için bir delik vardır.
- Ahududu Pi, arkada görünmeyecek şekilde yerleştirilmelidir.
!Dikkat: 3d baskı biraz daha küçük yazdırılır, bu nedenle delikler için fazladan 3 veya 4 mm öngörülmelidir!