İçindekiler:
- Adım 1: Gerekli Beceriler
- 2. Adım: Cadılar Bayramı Dekorasyonunuzun "Hacklenebilir" Olup Olmadığını Anlayın
- Adım 3: Bileşenler/Donanım Listesi
- 4. Adım: Projeye Genel Bakış
- Adım 5: Düğme Bağlantısını Kes
- Adım 6: Röle Ekle
- 7. Adım: DST1200 Sonar Sensörünü Monte Edin
- 8. Adım: Bir Muhafazaya ihtiyacınız olup olmadığına karar verin
- 9. Adım: Kod Yazma
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu proje size Cadılar Bayramı süslemelerinizi nasıl "hackleyebileceğinizi" ve onların tam olarak istediğiniz gibi davranmalarını sağlayacağınızı gösterecek!
Üzerinde çalıştığımız Cadılar Bayramı dekorasyonu aşağıdaki varsayılan işlevselliğe sahiptir:
- Anahtar atılarak etkinleştirilir (videoda gösterilmiştir)
- Yüksek sesle etkinleştirildi
Bu projedeki amacımız, onun yerine hareketi aktif hale getirmektir!
Adım 1: Gerekli Beceriler
Bu proje için aşağıdaki araçlara ihtiyacınız olacak:
- havya
- tel striptizci
Ayrıca bazı temel programlama bilgisine sahip olmanız da yardımcı olacaktır. C'de dekorasyonu kontrol eden programı yazdık.
2. Adım: Cadılar Bayramı Dekorasyonunuzun "Hacklenebilir" Olup Olmadığını Anlayın
İlk adım, Cadılar Bayramı dekorasyonunuzu değiştirip değiştiremeyeceğinizi bulmaktır. Genellikle dekorasyonlar, dekorasyonun elektronik bileşenini basit bir düğme veya anahtarla etkinleştirecek bir demo moduna sahip olacaktır. Eğer durum buysa, şanslısınız. Sistemi kontrol etmek için düğmeyi bir röle ile değiştirebilirsiniz.
Adım 3: Bileşenler/Donanım Listesi
İşte kullandığımız şey:
- Phidget SBC4
- DST1200 - Sonar Phidget
- REL2002 - Sinyal Rölesi Phidget'ı
- Su geçirmez muhafaza
- Phidget Kablosu
4. Adım: Projeye Genel Bakış
Bu proje aşağıdaki düzene sahip olacaktır:
- PhidgetSBC4, program kodumuzu çalıştıracak (C ile yazılmış). Dahili VINT Hub aracılığıyla DST1200 sonar sensörüne ve REL2002 sinyal rölesine bağlanacaktır.
- Nesneleri algılamak için sonar sensörü kullanılacaktır.
- Röle, dekorasyonun demo kablosuna bağlanacak ve sonar sensöründen gelen okumalara göre dekorasyonu etkinleştirmek için kullanılacaktır.
Adım 5: Düğme Bağlantısını Kes
Rölemizi eklemek için butonu kaldırmamız gerekecek. Düğmeye yakın olan kabloları kesin ve ardından yalıtımın bir kısmını soyun.
Adım 6: Röle Ekle
Düğmeden kabloları alın ve röleye bağlayın.
Bir kabloyu Ortak terminale ve bir kabloyu Normalde Açık terminale bağlayın.
7. Adım: DST1200 Sonar Sensörünü Monte Edin
Sonar sensörünü nereye yerleştireceğiniz, uygulamanıza bağlı olacaktır. Bu proje, görünürlüğün düşük olacağı bir dış mekan perili eve kurulacak, bu nedenle sonar sensörünün doğrudan tepeye oturması sorun olmayacak. Alternatif olarak, sonarı bir kapının üzerine monte edebilir veya gizlemek isterseniz yerden yukarıyı işaret edebilirsiniz.
Sonar sensörünü monte etmek için biraz yapıştırıcı kullandık. Çift taraflı bant da harika iş görür!
8. Adım: Bir Muhafazaya ihtiyacınız olup olmadığına karar verin
Bu proje dışarıda olacak, bu nedenle elektroniklerin korunması esastır.
SBC, röle ile birlikte su geçirmez bir muhafazanın içine oturacaktır. Röle bağlantısını biraz tel lehimleyerek dekorasyona uzattık ve SBC'yi sonar sensörüne bağlamak için 350 cm uzunluğunda bir Phidget Kablo kullandık.
9. Adım: Kod Yazma
Bu proje için tüm kodlar zaten yazılmıştır ve halloween.c dosyasına dahil edilmiştir, bu yüzden onu uygulamak istiyorsanız, tek yapmanız gereken birkaç şeyi (seri numaraları, zamanlama, vb.) değiştirmek ve derlemektir..
SBC'de C programlarının nasıl derleneceği hakkında daha fazla bilgi için şu bağlantılara göz atın:
- Geliştirme için paketleri yükleme
- Linux üzerinde C programlarının derlenmesi
İşte koda hızlı bir genel bakış:
- DistanceSensor ve DigitalOutput nesneleri oluşturun.
- Adres Phidget'ları. Daha fazla bilgi için bu videoya bakın.
-
Sonar ve röle için olayları eklemek ve çıkarmak için abone olun.
Sonar ekleme olayında, veri aralığını 100ms'ye ayarlayın (minimum veri aralığı)
-
Sonar için mesafe değişikliği etkinliklerine abone olun.
Mesafe değişikliği olaylarında, nesnenin 1 metreden daha yakın olup olmadığına bakın, eğer yakınsa, objectDetected değişkenini 1 olarak ayarlayın
- while döngüsünde, nesnenin algılanıp algılanmadığını kontrol edin. Eğer öyleyse, röleyi açıp kapatın (bu, dekorasyonu etkinleştirecektir). Dört saniye bekleyin ve ardından dekorasyonu devre dışı bırakın.