İçindekiler:
- Gereçler
- Adım 1: Donanım Montajı
- 2. Adım: İlk Durum
- 3. Adım: Python Komut Dosyası
- 4. Adım: Şaka Yap veya Şaka Panosu
- Adım 5: Kabak Pi
Video: Balkabağı Pi Hile veya Şaka Takibi: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Elizabethna tarafındanYazarın daha fazlasını izleyin:
Birden fazla yönden faydalı olan hızlı bir Cadılar Bayramı projesi mi arıyorsunuz? Pi Zero WH'yi iyi bir şekilde kullanmak ister misiniz? Gelecek yıl için ne kadar şekere ihtiyacınız olacağını belirlemek için verileri kullanmak ister misiniz?
Pumpkin Pi Trick-or-Treat Tracker'ı oluşturmaya hazır olun! Dekorasyon ve insan izleyici olarak ikiye katlanan bu Kabak Pi, hareket algılandığında renk ve akış değiştirir. Mutlak sıfırdan başlayarak, bu proje sizi bir araya getirmek için bir öğleden fazla sürmemeli - Cadılar Bayramı için tam zamanında!
Gereçler
- SD Kartlı Pi Zero WH
- PIR Hareket Sensörü
- RGB LED'i
- 220 ohm Dirençler
- (3)Bağ Hatları (F/F, M/F, M/M)
- Taşınabilir Pil
- sahte balkabağı
Adım 1: Donanım Montajı
Pi'nizi çalıştırıp çalıştırdıktan sonra, hareket sensörünü ve LED'leri bağlamamız gerekiyor. Pi'nizin bu noktada güce bağlı olmadığından emin olun.
Hareket sensörümüz, onu 3.3V güce, toprağa ve bir veri pinine bağlamamızı gerektirir. 3.3V sensör pimini Pi'nin 1. pimine, Toprak sensörü pimini Pi'nin 6. pimine ve Veri sensörü pimini Pi'nin 16 pimine bağladım. İlk resim Pi ve hareket sensörü için tam bağlantıyı gösterir.
LED'ler, hareket sensöründen biraz daha zor, çünkü onlara veya Pi'ye zarar vermeden doğru şekilde çalışabilmeleri için bir direnç gerektiriyorlar. Üç adet 220 ohm direnç kullandım ancak LED'lerde genellikle 220 ve 330 ohm dirençler kullanılıyor.
Her şeyi bağlamak için şunları yapabilirsiniz:
- LED ayaklarını dirençlere lehimleyin ve ardından kabloları Pi'ye geçirin
- Her şeyi bağlamak için bir devre tahtası kullanın ve çizgileri bağlayın
- Her şeyi bağlamak için bağ ipleri ve elektrik bandı kullanın (benim yaptığım gibi).
LED'imizi 11, 13 ve 15 numaralı pinlere bağlayacağız. Ancak bu, hareket sensöründen biraz daha zor, çünkü LED'deki bacaklar belirli bir renge karşılık geliyor! Uzun bacak GND'dir; ve en azından benim LED'imde bacaklar Kırmızı, GND, Mavi, Yeşil oldu. Blue'yu Pi pin 11'e, Green'i Pi pin 13'e ve Red'i Pi pin 15'e bağladım. İkinci resim son devre bağlantılarını gösteriyor.
2. Adım: İlk Durum
LED ile hareket algılandığında elbette görebiliriz, ancak şekerimizi çalmak için kaç tane şeker mi şeker mi attığını nasıl takip edeceğiz?
Hareket her başladığında ve algılanması durduğunda bir gösterge panosuna akış yapacağız. Bu gösterge panosuna internet bağlantısı olan her yerden erişilebildiğinden, ön kapıya/şeker kasesine birinin yaklaşıp yaklaşmadığını uzaktan takip edebiliyoruz.
Adım 1: İlk Durum Hesabına Kaydolun https://iot.app.initialstate.com adresine gidin ve yeni bir hesap oluşturun.
2. Adım: ISStreamer'ı yükleyin
Raspberry Pi'nize Initial State Python modülünü kurun. Bir komut isteminde (önce Pi'nize SSH yazmayı unutmayın), aşağıdaki komutu çalıştırın:
$ cd /ev/pi/
$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash
3. Adım: Biraz Automagic yapın
2. Adımdan sonra ekranda aşağıdaki çıktıya benzer bir şey göreceksiniz:
pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bash
Şifre: ISStreamer Python Kolay Kurulumuna Başlarken! Kurulumu birkaç dakika sürebilir, biraz kahve alın:) Ama tekrar gelmeyi unutmayın, daha sonra sorularım olacak! Bulunan easy_install: setuptools 1.1.6 Bulunan pip: /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg'den pip 1.5.6 (python 2.7) pip ana sürüm: 1 pip küçük sürüm: 5 ISStreamer bulundu, güncelleniyor… Gereksinim zaten güncel: /Library/Python/2.7/site-packages'de ISStreamer Temizleniyor… Otomatik olarak örnek bir komut dosyası almak ister misiniz? [y/N] Örneği nereye kaydetmek istiyorsunuz? [varsayılan:./is_example.py] Lütfen kullandığınız Başlangıç Durumu uygulamasını seçin: 1. app.initialstate.com 2. [YENİ!] iot.app.initialstate.com 1. veya 2. seçeneği girin: iot.app girin.initialstate.com kullanıcı adı: iot.app.initialstate.com parolasını girin:
Otomatik olarak bir örnek komut dosyası almanız istendiğinde, y yazın. Bu, verileri İlk Duruma aktarabileceğimizden emin olmak için çalıştırabileceğimiz bir test komut dosyası oluşturacaktır. Sonraki istem, örnek dosyayı nereye kaydetmek istediğinizi soracaktır. Varsayılan konumu kabul etmek için özel bir yerel yol yazabilir veya enter tuşuna basabilirsiniz. Son olarak, hangi Initial State uygulamasını kullandığınız sorulacak. Yakın zamanda bir hesap oluşturduysanız, 2. seçeneği seçin, kullanıcı adınızı ve şifrenizi girin. Bundan sonra kurulum tamamlanmış olacaktır.
4. Adım: Anahtarlara Erişim
Oluşturulan örnek scripte bir göz atalım. $ nano is_example.py 15. satırda, streamer = Streamer(bucket_ … ile başlayan bir satır göreceksiniz. Bu satırlar, “Python Stream Example” adında yeni bir veri grubu oluşturur ve hesabınızla ilişkilendirilir. Bu ilişkilendirme, access_key=”…” parametresi aynı satırda. Bu uzun harf ve rakamlar dizisi, Initial State hesap erişim anahtarınızdır. Web tarayıcınızda Initial State hesabınıza giderseniz, sağ üstteki kullanıcı adınıza tıklayın, ardından gidin. "ayarlarım" bölümüne, aynı erişim anahtarını sayfanın alt kısmındaki "Akış Erişim Anahtarları" altında bulacaksınız.
Her veri akışı oluşturduğunuzda, bu erişim anahtarı bu veri akışını hesabınıza yönlendirecektir (bu nedenle anahtarınızı kimseyle paylaşmayın).
Adım 5: Örneği Çalıştırın
İlk Durum hesabınıza bir veri akışı oluşturabileceğimizden emin olmak için test komut dosyasını çalıştırın. Aşağıdakileri çalıştırın:
$ python is_example.py
6. Adım: Kar
Web tarayıcınızda İlk Durum hesabınıza geri dönün. Günlük rafınızın solunda “Python Akış Örneği” adlı yeni bir veri paketi görünmelidir (sayfayı yenilemeniz gerekebilir). Bu kovaya tıklayın ve ardından test verilerini görüntülemek için Dalgalar simgesine tıklayın.
3. Adım: Python Komut Dosyası
Bir komut dosyası oluşturun ve aşağıdaki komutla metin düzenleyiciyi açın:
nano visors.py
Kodu buradan kopyalayıp metin düzenleyicinize yapıştırın.
Herhangi bir şeyi çalıştırmayı denemeden önce, birkaç düzenleme yapmamız ve komut dosyamızda neler olduğunu gözden geçirmemiz gerekiyor.
RPi. GPIO'yu GPIO olarak içe aktar
zamandan itibaren uykuyu ISStreamer. Streamer'dan içe aktar Streamer'ı içe aktar # Pi'ye numaralandırma sistemini kullanacağımızı söyle GPIO.setmode(GPIO. BCM) # D1 ve LED'in PIN'e bağlı olduğu pinler = 23 MAVİ = 17 YEŞİL = 27 KIRMIZI = 22 # Hareket sensörü pinimizi giriş olarak belirtin GPIO.setup(PIN, GPIO. IN) # LED pinlerimizi çıkış olarak belirtin GPIO.setup(RED, GPIO. OUT) GPIO.output(RED, 0) GPIO.setup(YEŞİL), GPIO. OUT) GPIO.output(YEŞİL, 0) GPIO.setup(MAVİ, GPIO. OUT) GPIO.output(MAVİ, 0)
1-21 satırları başlatma içindir. İlk önce Pi'nin GPIO arayüzünü ve betiğimizi uyumanın bir yolunu içe aktarıyoruz. Ardından bir önceki sayfada kurduğumuz Initial State streamer'ı import ediyoruz.
GPIO.setmode, pinler için hangi numaralandırma sistemini kullandığımızı belirtir. Fiziksel konum yerine Pi'nin numaralandırma sistemini kullanıyoruz. Daha önceki diyagramımızda olduğu gibi seçtiğimiz pinler 23, 17, 27 ve 22 idi. Daha sonra hareket pinini giriş, LED pinlerini çıkış olarak ayarlıyoruz.
# İlk Durum paketi adı (görüntülenir)
BUCKET_NAME = ":jack_o_lantern: Trick or Treat Tracker" # İlk Durum paket anahtarı (gizli) BUCKET_KEY = "trickortreat" # İlk Durum erişim anahtarı ACCESS_KEY = "Your_Access_Key" # Var olan veya olmayan akışları yayınlamamamızı sağlayan değişkenler hareket art arda iki kez # Bu, gönderilen olaylardan ve işlem gücünden zaten tasarruf sağlar. ZatenRecordedMotion = False zatenRecordedNoMotion = False counter = 0 # İlk Durumu Başlat Streamer streamer = Streamer(bucket_name=BUCKET_NAME, kova_key=BUCKET_KEY, access_key=ACCESS_KEY) # Aç ve ayarla LED sarı GPIO.output(KIRMIZI, 1) GPIO.output(YEŞİL, 1)
23-41 arasındaki satırlar önemlidir çünkü İlk Durum aktarıcısını başlatıyoruz ve LED'i sarıya ayarlıyoruz. Başlangıç Durumu erişim anahtarınızı 28. satıra koyun.
# Süresiz döngü
while True: # Hareket sensörü yüksek çekiyorsa (hareket algılarsa): if GPIO.input(PIN) == 1: "Hareket algılandı" yazdır LED'i kırmızıya ayarlayın GPIO.output(RED, 1) GPIO.output(YEŞİL, 0) # İlk Duruma Akış streamer.log(":hayalet: veya:chocolate_bar:?", ":chocolate_bar: İkram Zamanı!") streamer.log(":candy: Hungry Humans?:candy:", counter) streamer.flush() zatenRecordedMotion = True zatenRecordedNoMotion = False else: # Komut dosyasını 1 saniye uyku için duraklat(1) yoksa: "Hareket algılanmadı" yazdır # Henüz akış yapmadıysak: zatenRecordedNoMotion: # LED'i sarı GPIO.output(RED, 1) GPIO.output(YEŞİL, 1) olarak ayarlayın # Akışın İlk Duruma Akışı streamer.log(":ghost: veya:chocolate_bar:?", ":no_pedestrians: Etrafta Kimse Yok") streamer.flush() zatenRecordedNoMotion = True zatenRecordedMotion = False else: # Komut dosyasını 1 saniye uyku için duraklat(1)
43-77 arasındaki satırlar kodun özüdür. Hareket algılanırsa, komut dosyası "Tedavi Zamanı!" olup olmadığını kontrol eder. zaten yayınlanmıştır. Değilse, İlk Duruma gönderilir ve LED kırmızıya ayarlanır; varsa, komut dosyası 1 saniye bekler ve ardından hareket sensöründen tekrar okur. Aynı şey hareket algılanmazsa da geçerlidir.
Kodu test etme zamanı! Düzenlenmiş dosyanızı 28. satıra eklenen erişim anahtarınızla kaydettiğinizden emin olun ve ardından terminale girin:
piton ziyaretçi.py
LED'in yandığını görmeli ve "Hareket algılanmadı" komut satırına yazdırmaya başlamalısınız. Elinizi hareket sensörünün üzerinde sallamayı deneyin - şimdi kırmızı bir ışık görmelisiniz ve "Hareket algılandı" yazdırmaya başlayın!
Şimdi okumalarımızın İlk Duruma aktarıldığını doğrulamak için.
4. Adım: Şaka Yap veya Şaka Panosu
İlk Durum'a gidin ve gösterge tablonuzu kontrol edin! "?Trick or Treat Tracker" adlı bir kova görmelisiniz. Elinizi hareket sensörünün yanında sallayın ve güncellenmesini izleyin!
Kontrol panelim, Son değeri gösteren 2 Özet Kutucuğundan ve sensörün hangi zamanlarda tetiklendiğini görebilmem için bir olay sayımı Histogramından oluşuyor.
Düşünülmesi gereken şeyler var:
- Aynı kişinin kapınıza giderken ve dönerken hareket sensörünün önünden iki kez geçeceği gerçeğini hesaba katmak için muhtemelen "Aç İnsanlar" sayısını 2'ye bölmek istersiniz. Bunu, "=math.round(([Hungry Humans?]/2), 0)" denklemini kullanarak Gerçek Zamanlı İfadelerle yapabilirsiniz.
- Hareket sensörünüzün ne kadar hassas göründüğünü test edebilir ve buna göre kaldırımınıza yerleştirebilirsiniz. Kapıda biri durduğunda tetiklenmemesi için kapıdan yeterince uzakta tutmanızı öneririm.
- Ayrıca birinin yaklaştığını size bildirmek için metin uyarıları da ayarlayabilirsiniz.
- Gösterge tablonuza biraz ürkütücü bir kişilik kazandırmak için bir arka plan resmi seçin!
Adım 5: Kabak Pi
Önerilen:
Hareketli Animatronik Gözlü Halloween Balkabağı - Bu Balkabağı Gözünü Yuvarlayabilir!: 10 Adım (Resimlerle)
Hareketli Animatronik Gözlü Halloween Balkabağı | Bu Kabak Gözünü Yuvarlayabilir!: Bu Eğitilebilir Kitapta, gözü hareket ettiğinde herkesi korkutan bir Cadılar Bayramı balkabağı yapmayı öğreneceksiniz. Ultrasonik sensörün tetik mesafesini doğru değere ayarlayın (9. adım) ve balkabağınız şeker almaya cesaret eden herkesi taşa çevirecektir
PIR, 3D Baskılı Balkabağı ve Troll Arduino Uyumlu Sesli Şaka/pratik Şaka Panosu Kullanan Cadılar Bayramı Korkutma Makinesi: 5 Adım
PIR, 3D Basılı Balkabağı ve Troll Arduino Uyumlu Sesli Şakacı/pratik Şaka Panosu Kullanan Cadılar Bayramı Korkutma Makinesi: EngineeringShock Electronics'ten Patrick Thomas Mitchell tarafından oluşturulan ve çok uzun zaman önce Kickstarter'da tamamen finanse edilen Troll panosu. Bazı kullanım örnekleri yazmaya ve bir denemede bir Arduino kütüphanesi oluşturmaya yardımcı olmak için ödülümü birkaç hafta erken aldım
TEKERLEK HİLE CİHAZI: 10 Adım (Resimli)
TEKERLEK HİLE CİHAZI: Bu projede tekerlekli bisikleti öğrenmenize yardımcı olan arduino cihazı yapacağız. Sizi dengeleyecek olan arka freninize basacaktır. Ayrıca frene basacağı açıyı artırmak veya azaltmak için 2 düğmeye sahip olacak, böylece çok daha fazla olacak
Hile Masa Tenisi Topu: 4 Adım
Hile Ping-pong Topu: Bu Ping Pong Topu, lehinize bir oyun oynamak için çok aptalca bir hile ve evet, bunun aptalca olduğunu biliyorum ama… kazanmanıza yardımcı olacak !!! (peki) neyse buraya yazacağım malzeme listesi kısa ve bu proje nispeten kolay
Iphone veya Ipod Touch Kullanarak Satrançta Nasıl Hile Yapılır: 4 Adım
Iphone veya Ipod Touch Kullanarak Satrançta Nasıl Hile Yapılır: Bu, bir iphone veya ipod touch kullanarak satrançta nasıl hile yapılacağına dair bir talimattır, koşmak yaklaşık bir dakika sürecektir Jailbreak yapmaya gerek yok İnanılmaz derecede basit ve çoğu kişiye karşı satrançta kazanmanızı sağlayacak