İçindekiler:

Zombi Dedektörü: 3 Adım
Zombi Dedektörü: 3 Adım

Video: Zombi Dedektörü: 3 Adım

Video: Zombi Dedektörü: 3 Adım
Video: Feci sonlu ölüm anı masum köylü 2024, Kasım
Anonim
Zombi Dedektörü
Zombi Dedektörü

Üniversiteye giderken Knott's Berry Farm'da çalışıyordum ve bir hafta sonu Cadılar Bayramı düştüğünde büyük bir kalabalık çektik. Hepimiz giyindik ve onunla biraz eğlendik ve müşterilerin çoğu çabayı takdir etti. Çalıştığım “paralı kızlardan” biri, Morticia Addams olarak mükemmel bir tarza sahipti. O zamanlar Got görünümü icat edilmemişti (Moona Lisa'yı saymazsan) bu yüzden işe giderken yanında arabada duran bir adamdan bir stop lambasında abartılı bir bakış attı. Ona baktı ve ona kocaman bir gülümseme verdi - dişler ve hepsi. Görünüşe göre yüzündeki ifade paha biçilemezdi.

Aynı ruhla bu yazıyı Cadılar Bayramı civarına kadar saklamayı düşündüm ama sonra Zombie Apocalypse'in her an gerçekleşebileceğini hatırladım. Bunu torunlara gösterdiğimde, eğer yaşıyorlarsa nabzını algıladığını ama nabzın olmamasının Zombi oldukları anlamına geldiğini söyledim. Kalabalıklarınız varsa, eleme oyunu (müzik sandalyelerinin tuhaf bir versiyonu) olarak kullanılabilir. Oynamamızın bir yolu masanın etrafından dolaşmaktı. “İnsan” yanıtı aldıysanız jeton aldınız, almadıysanız jeton ödediniz. Çocuklar her zaman madeni para içeren oyunları severler.

Adım 1: Donanım

Donanım
Donanım
Donanım
Donanım
Donanım
Donanım
Donanım
Donanım

Şematik, yukarıda verilen şemada gösterilmiştir. "Algılayıcı" kısmı, yaygın olarak TTP223 olarak tanıtılan basit bir kapasitif dokunmatik anahtardır. 10'luk bir set aldım ve neredeyse hiçbir şey yok ama onlarla ilgili biraz sorun var. Modüllerin 2,5 volttan 5 volta kadar çalıştığı bildiriliyor, ancak çalışmıyorlar. Bulduğum şey, 4,75 volttan daha düşük herhangi bir şeyin modülün "Açık" durumda kilitlenmesine neden olduğuydu. Tüm projeyi bir çift AAA pil (yaklaşık 3 volt) kullanarak yürütmek istedim, bu yüzden sorunu çözmem gerekiyordu. Modül üzerindeki çipi kontrol ettikten sonra, boş lehim pedi çiftinin hassasiyeti belirleyen bir kapasitöre sahip olması gerektiğini belirledim. Önerilen aralık, kapasitans azaldıkça artan hassasiyetle 0 ila 50pf arasındadır. Pedleri (0pf) kısaltarak çalıştıramadım ama sahip olduğum 22pf ve 47pf kapasitörlerle iyi çalıştı. 22pf değeri ile modülü kolayca 2,5 voltta çalıştırdım.

Bu projenin diğer ana bileşeni (PIC mikrodenetleyici dışında) 8x8 LED matrisidir. Başlangıçta düz bir matris kullandım, ancak satırları ve sütunları adreslemek için bir çift kaydırma yazmacı eklemek zorunda kaldım ve tam bir görüntü elde etmek için bunları çoğaltmak zorunda kaldım. Daha sonra, MAX7219 LED ekran sürücü çipine sahip bir devre kartına bağlı olarak gelen pahalı olmayan bir LED modülü keşfettim. Sürücü yongası, daha sonra istenen satırları ve sütunları açmak için kullandığı seri komutları kabul eder. Çip ayrıca çoğullamayı otomatik olarak yapar, böylece mikrodenetleyici üzerindeki yük ortadan kalkar. Bu keşif hem donanımı hem de yazılım karmaşıklığını azalttı.

Adım 2: Proje Kutusu

Proje Kutusu
Proje Kutusu
Proje Kutusu
Proje Kutusu

LED matrisini kaplamak için yarı saydam bir kırmızı filtre istedim. Elimdeki kırmızı pleksiglastan bir parça kesip bir proje kutusuna yapıştırabilirdim ama bunun yerine biraz yeniden tasarlamayı seçtim. Onu inşa ettiğim kutu, bir zamanlar 22 mermi içeren bir kap. Bu kapların çoğu şeffaf plastik ama bende kırmızı olan bir çift var. Çok zarif değil ama torunlar zarifliği umursamıyor.

3. Adım: Yazılım

Yazılım
Yazılım
Yazılım
Yazılım

Yazılım oldukça basit. Timer0'ın serbest çalışmasına izin verilir ve dokunma sensörü algılandığında değer kontrol edilir. Keyfi olarak Timer0 sayısı 100'den küçükse Zombie ekranının geleceğine karar verdim. Timer0'ın 8 bit olduğu göz önüne alındığında, bu 100-255 arasındaki değerler için “insan” ekranının gerçekleşeceği anlamına geliyor. Bu yaklaşık 3:2'lik bir orandır ve yazılımda kolayca değiştirilebilir.

Bir dokunma algılandığında ve bir ekran tipi belirlendiğinde, LED matrisine veri göndermek için uygun rutin çağrılır. Bunu yapmak için 8 bitlik adres ve 8 bitlik veri olarak bir dizi komut gönderilir. Adreslenebilecek kayıtlar listenin ön kısmında tanımlanmıştır. Bunlardan birkaçı matrisi başlatmak için kullanılır (örneğin: parlaklık) ve biri tüm matrisi açmak/kapatmak için kullanılır. Matris, BCD'nin (ikili kodlu ondalık) uygun sayıyı göstereceği bir modda çalışabilir. Başlatma rutini, LED'leri ayrı ayrı kontrol edebilmemiz için bunu kapatır. Başlatmanın diğer kısmı, sütun sınırını ayarlamaktır. Sekiz sütunun tamamını istiyoruz, böylece tarama limiti 7'ye ayarlandı.

İstenen bireysel LED'leri etkinleştirmek için kullanılan sekiz kayıt vardır - her sütun için bir kayıt. Bir veri bitindeki "1", bu sütun LED'ini etkinleştirecektir. Daha önce de belirtildiği gibi, yazılımda çoğullama gerekmez. “İnsan” ekranı, atan bir kalptir. Matrise uygun bit desenleri gönderildikten sonra, dokunma sensörü aktif olduğu sürece matrisi açıp/kapatarak (arada gecikmelerle) vuruş simülasyonu yapılır. Zombi rutini, dokunma kaldırılana kadar sabit bir “X” deseni görüntüler.

Bu yazı için bu kadar. Diğer elektronik projelerime göz atın: www.boomerrules.wordpress.com

Önerilen: