İçindekiler:

LaserKitty!!: 7 Adım (Resimlerle)
LaserKitty!!: 7 Adım (Resimlerle)

Video: LaserKitty!!: 7 Adım (Resimlerle)

Video: LaserKitty!!: 7 Adım (Resimlerle)
Video: Laserkitty 2024, Kasım
Anonim
Image
Image
Eşyalarını Al
Eşyalarını Al

İyi bir talihe sahip tek bir kedinin bir lazer oyuncağına ihtiyacı olduğu evrensel olarak kabul edilen bir gerçektir. Gelecekte eş arayan bekar beylerde olduğu gibi, bazı önlemlere uyulmalıdır. Ama bu gerçekten sahip olmaya değer bir şey için doğru değil mi?

Evcil hayvanlar ve lazer güvenliği hakkında endişeleriniz varsa, yorum yapmadan önce bu Talimatın sonuna atlayın. Gelecekteki bir eş, hatta şimdiki bir eş hakkında endişeleriniz varsa, muhtemelen başka bir yere bakmanız gerekir.

Şimdi, yerel evcil hayvan dükkanınıza uğrayabilir ve bir lazer işaretçi ve hatta belki de ilkel otomasyon ekleyen bazı mekanizmalar satın alabilirsiniz. Biraz para biriktirirsiniz ve işe yaramazsa iade edebilirsiniz. Ya da kendin bir şeyler inşa edebilirsin. Halihazırda çok sayıda örnek var, ama işte benim kanona katkım. Şu özelliklere sahiptir:

  • Tam akıllı telefon kontrolü
  • Manuel, Otomatik ve Programlı Modlar
  • Özel uygulama arayüzü
  • Birden çok web istemcisi arasında senkronize edilen sistem durumu
  • LaserKitty'de sistem durumu yansıtıldı!! kendisi
  • Yapılandırılabilir pan ve tilt aralığı kısıtlamaları
  • Yapılandırılabilir oynatma süresi oturum uzunlukları ve frekansları
  • Yapılandırılabilir oyun pencereleri
  • Bir bakışta mevcut ayarlarla kurulum sayfası
  • NTP zaman senkronizasyonu
  • Yeni ağlarda kolay kurulum için WiFi yöneticisi
  • Her oyun oturumundan önce Mission Impossible temasını çalmak için ton üreteci: kediniz ironiyi takdir edebilir veya etmeyebilir.
  • Yeni bir oynatma süresi oturumu başladığında tüm cihazlarınıza pushbullet bildirimleri
  • Oynatma süresinin yemek kasesinde veya sabit oyuncakta bitmesi için Yapılandırılabilir Ana Konum
  • EEPROM'da saklanan tüm ayarlar, böylece elektrik kesintisinde kaybolmaz
  • Ve daha fazlası! Pek değil, bu kadar.

1. Adım: Eşyalarınızı Alın

Bu benim kullandığım şey:

  • Bir mini pan ve tilt tertibatı. Bu kesinlikle bulabileceğiniz en ucuz değil ve bizim amaçlarımız için biraz değişiklik gerektiriyor. Ucuz bodrum plastik aksamlarından biraz daha havalı göründüğü için seçtim. Beklenmedik bir bonus olarak, tasarımı lazeri çok kolay bir şekilde monte etmeyi sağlar. Birkaç mikro servo ile birlikte gelir, ancak değiştirme amacıyla bir sürü ekstra satın almanızı şiddetle tavsiye ederim. En az bir ekstra servoya ihtiyacınız olacak (bozuk olan iyidir).
  • Bir muhafaza. Plastik bir kutuya 8 dolar ödemek bana acı veriyor ve kesinlikle daha ucuza uygun bir şey bulabilirsin. Bağlantılı muhafazanın boyutuyla ilgili bir şey olsa da doğru.
  • ESP8266 tabanlı bir geliştirme kartı. NodeMCU'yu kullandım. Bu şeyleri seviyorum demek abartı olmaz. Arduino IDE içinde kullanımı kolay ve web sayfalarınız için bol miktarda flash bellek. Ayrıca ucuz ve deneyimlerime göre kızartması çok zor.
  • Mini lazer. Amazon Prime dahil 6 dolara on. Benimle dalga mı geçiyorsun?? Şimdi diğer dokuzla ne yapacağımı bulmam gerekiyor.
  • Tonlar için pasif bir zil.
  • İki kanallı bir röle. Bunları servoları ve lazeri açıp kapatmak için kullanıyorum. Daha sonra açıklayacağım gibi bu bileşeni ortadan kaldırabilirsiniz.
  • 5VDC güç kaynağı. Umarım uzun zamandır unutulmuş bir gizmodan etrafta dolaşan bunlardan birine sahip olursunuz, ancak ihtiyacınız olan şey 1A'lık 5VDC üretebilen ucuz ve neşeli bir şey değilse.
  • Dirençler, LED'ler, bağlantı teli, ısıyla büzüşen, lehim, sıcak tutkal gibi çeşitli sarf malzemeleri. Olağan. Ayrıca, utanç verici derecede büyük tahrip edilmiş Arduino nakavt panoları koleksiyonumdan gelen 5VDC güç kaynağı için bir varil jakı kullandım.
  • Son olarak, ama en az değil, o tuhaf son dokunuş için bir vinil çıkartma.

Yani evet. Yaklaşık 50$'a bakıyorsunuz. Daha ucuza yapabilirsin ama kedin en iyisini hak etmiyor mu?

2. Adım: Araçlar ve Kaynaklar

Araçlar ve Kaynaklar
Araçlar ve Kaynaklar

Burada alet tarafında özel bir şey yok. Sadece iyi bir havya, multimetre, matkap ve temel el aletleri. Bir tezgah güç kaynağı, lazerle deney yapmak için iyidir, ancak gerekli değildir.

Bu proje, ESP8266'nın ve özellikle NodeMCU'nun yeteneklerini gerçekten kullanıyor. ESP8266 ile yeni başlıyorsanız, bundan daha iyi bir tek durak kaynak bulamadım. Bunun dışında, yol boyunca ortaya çıkan sorunlara yanıt bulmak için Google'la ilgili.

Adım 3: Muhafazayı Hazırlayın

Muhafazayı Hazırlayın
Muhafazayı Hazırlayın
Muhafazayı Hazırlayın
Muhafazayı Hazırlayın

Daha önce de belirttiğim gibi, plastik bir muhafaza için 8 dolar ödemek çok çirkin görünüyor. Daha da kötüsü, yanlış yere bir delik açarak işi batırmaktır. Bu nedenle, matkapla ve/veya emrinizde başka herhangi bir kargaşa yapıcıyla birlikte kutunuzdan önce, yaptığım hataları bir düşünün.

  • Öncelikle, tüm eşyaların nereye sığacağını düşünmeniz gerekir. İyi haber şu ki, burada gördüğünüz çok düzensiz kablolarla bile, önerdiğim muhafaza bol alana sahip. Özellikle röleleri ortadan kaldırırsanız, daha küçük bir kutu ile bile kurtulabilirsiniz.
  • En önemlisi, pan ve tilt tertibatını kapakta nereye monte edeceğinizdir. İlk denemem burada gösteriliyor. Sanatsal olarak merkezden uzağa ve istikrar için biraz geriye yerleştirmeyi düşündüm. Kötü bir fikir! Muhafazanın yüksek eğim açılarında kirişe müdahale etmemesi için tertibatın kapağın kenarına mümkün olduğunca yakın bir yerde olması gerekir. Ayrıca, ideal düzenlemenin pan lazeri benim yaptığım gibi uzun kenara değil, kısa kenara dik olarak monte etmek olacağını düşünüyorum. Müdahale için biraz daha fazla potansiyel olmasına rağmen, tamamen estetik nedenlerle başka bir şekilde yaptım.
  • Gördüğünüz gibi, NodeMCU Perfboard'a monte edilmiştir ve mikro USB konektörüne yan veya arkadaki bir yuvadan erişilebilecek şekilde kolayca konumlandırılabilirdi. Bu, yazılım güncellemelerini kolaylaştırır (kapağı çıkarmaya gerek yoktur). Orijinal fikrim, güncellemeler için Havadan (OTA) kitaplığını kullanmaktı ve yorumlanmış olmasına rağmen kodumun bu işlevi içerdiğini göreceksiniz. Sorun, ton üretecinin ve OTA'nın birlikte iyi çalamamasıydı (NodeMCU, şarkının yarısında tekrar tekrar sıfırlanacaktı). Bu sorun muhtemelen çözülebilir ancak SPIFFS'yi USB dışında güncelleme konusunda hiçbir zaman başarılı olamadım, bu nedenle USB konektörüne erişim iyi olurdu. Tüm bunları öğrendiğimde, NodeMCU'yu Perfboard'a, konektörün kutudan dışarı çıkmasını sağlamak için çok fazla faffing olmadan mümkün olmayacak şekilde monte etmiştim. Oh iyi.
  • Projeyi tekrar yapacak olsaydım, RGB LED'i kırmızı "güç açık" LED'i ile hizalardım. (RGB LED'in amacı, uygulamaya bakmak zorunda kalmadan LaserKitty!!'nin hangi modda olduğunu belirtmektir.)

Delikleri gerçekten açmanın biraz zor olan tek kısmı, pan servo için dikdörtgen olan kısımdır. Bir matkap ve bir dosya kullandım. İlk denememden de görebileceğiniz gibi, tam olarak kare (veya sanırım dikdörtgen) yapmak zor. Ancak servo monte edildiğinde bunu gerçekten göremezsiniz.

Üç delik daha açmanız gerekecek, Bunlar kutunun arkasına yerleştirilmelidir ve güç kaynağı jakı, sesli uyarı ve tilt servosu ve lazer kablolaması için giriş noktası için kullanılmalıdır. Tüm bu delikler yuvarlak olabilir ve sadece bir matkapla yapmak hiç zor değildir.

Sıcak tutkalın yaygın kullanımı, her şeyi yerine sabitler (servonun montaj tırnakları kullanılarak kapağa cıvatalanan pan servo hariç).

Adım 4: Pan ve Tilt Düzeneği

Pan ve Tilt Düzeneği
Pan ve Tilt Düzeneği
Pan ve Tilt Düzeneği
Pan ve Tilt Düzeneği
Pan ve Tilt Düzeneği
Pan ve Tilt Düzeneği
Pan ve Tilt Düzeneği
Pan ve Tilt Düzeneği

Döndürme ve eğme tertibatını aldığımda, başka bir büyük hata yaptığımı düşündüm. Belirtildiği şekilde bir araya getirildiğinde, bu gerçekten bir kaydırma ve yatırma mekanizması değil, daha çok bir yatırma ve döndürme tasarımıdır - robot kolu olarak kullanım amacına uygundur. Bununla birlikte, bir anlık sakin düşünme, istenen sonucu elde etmek için aslında farklı bir şekilde birleştirilebileceğini görmemi sağladı. Daha da iyisi, "büküm" servosunun orijinal konumu, lazer için bir yuva olarak kullanılabilir.

Bu resimlerdeki tamamlanmış montajı incelerseniz fikir edineceksiniz. Bu tasarımda ihtiyaç duyulmayan küçük bir metal blokla kalacaksınız.

Sahip olduğum ilham ışığı, lazeri monte etmek için ikinci servonun orijinal konumunu kullanmaktı. Daha da iyisi, bir duff servosunun kafasını keserseniz ve yivli kol montajını delerseniz, lazer için mükemmel montaj yeridir! Servoyu kesmek için gereken çabayı hafife almayın. O küçük pisliklere biraz et var!

Muhafazaya montaj ve kurulumdan sonra VE GÜÇ UYGULAMADAN ÖNCE, muhafazanın yüzeyi boyunca hemen hemen 180 derece yatay hareket edeceğinden emin olun. Bir şekilde başarılı bir şekilde kurduktan sonra, tava montajını tekrar bir araya getirdim, böylece tabandaki cıvata başları, kolun monte edilmesi amaçlanan servonun yükseltilmiş ucuna bağlandı. Sonuç, servonun dişlilerini hemen soymasıydı. İşin iyi tarafı, artık lazer montajı olarak kullanmak için başka bir duff servom var.

Adım 5: Bağlayın

Bağla
Bağla

Umarım Fritzing taslağı her şeyi açıklığa kavuşturur. Daha fazla netleştirmek için bazı noktalar:

  • Daha sonra tartışıldığı gibi, lazeri en parlak iç mekan ışığı dışında her yerde kullanılabilir hale getirmek için yeterli parlaklığı korurken mümkün olduğunca loş hale getirmek istedim. Biraz deney yaparak, iyi bir ölçüm için seri olarak 22 Ohm'luk bir direnç ekleyerek Node MCU'daki 3.3VDC pininden güç vermeye karar verdim. Bu kurulumla yaklaşık 10mA çekiyor, bu yüzden teoride doğrudan bir GPIO pininden güç sağlanabiliyordu ama direnç olmadan bile bunu çok loş buldum.
  • Lazerin, noktayı büyütmek ve böylece lazer enerjisini dağıtmak için kullandığım odağı değiştirme (kolimasyon?)
  • İlk düşüncem servoları bir transistörle açıp kapatmaktı ama bu servoların çıldırmasına neden oldu. Eminim bunun iyi bir nedeni vardır ama elimde zaten bazı röleler olduğu için kolay yolu seçtim ve servolara tamamen izole edilmiş bir güç verdim. Rölelerde iki kanal olduğu için lazeri de bu şekilde değiştirebileceğimi düşündüm (mor kablolar MCU'dan gelen kontrol sinyalidir). Bu çözümün ürettiği mekanik tıklama sesini de seviyorum. Yine de başka türlü karar verebilirsiniz. Gösterilmiyor ancak rölelere doğrudan 5VDC kaynağından güç veriliyor -- NodeMCU iki kanallı bir röleye doğrudan güç vermiş olabilir, ancak bunu riske atmak için bir neden yoktu. Bu röleleri daha önce kullandıysanız, bunun JD-VCC ve VCC arasındaki köprünün çıkarılmasını gerektirdiğini bileceksiniz.
  • RGB LED, kırmızı ve yeşil üzerinde 220 Ohm akım sınırlayıcı dirençlere ve mavi üzerinde 100 Ohm'a sahiptir. Kırmızı "güç açık" LED'i, 3.3VDC yerine 5VDC'den güç aldığından 450 Ohm'luk bir dirence sahiptir. Bunlar, bol miktarda parlaklık ve makul bir uzun ömür elde etmek için yalnızca basketbol sahası değerleridir.
  • Buzzer oldukça gürültülü. Sesi azaltmak için sinyal hattına bir direnç eklemek isteyebilirsiniz. Tonlar yazılım aracılığıyla tamamen kapatılabilir ancak arada bir şey hoş olabilir.

Adım 6: Kod

kod
kod
kod
kod
kod
kod
kod
kod

Donanım tarafının oldukça uzun soluklu açıklamasına rağmen, buradaki çabanın %90'ı koda gitti. Daha fazla olurdu ama lazerin otomatik modda hareketi için bazı harika kodları buradan "ödünç aldım". Tekerleği yeniden icat etmenin anlamı yok. Aslında, bundan ziyade bu projeyi takip etmeye veya her ikisinin özelliklerini karıştırıp eşleştirmeye karar verebilirsiniz. Elbette, bazı bileşenleri 3 boyutlu yazıcıyla yapma fikri hoşuma gidiyor ama bende yok.

Kodum (burada GitHub'da bulunur) üç ana bölümden oluşur. Arduino taslağının kendisi, uygulama içeriği için bir sürü Javascript içeren HTML dosyaları ve stil için ilgili CSS dosyaları var. Bu projeyi, özellikle şeylerin uygulama arayüzü tarafında çok düşük bir temelden başlayarak, tüm bu programlama öğeleri hakkında biraz daha fazla şey öğrenmek için kullandım. Kodu biraz düzeltmeye çalıştım ama asıl odak noktam sadece bir şeyi çalıştırmaktı. Kod, NodeMCU sunucusu ve bağlı istemciler arasında çift yönlü iletişim için Websockets kullanır.

Arduino kodu kapsamlı bir şekilde yorumlanmıştır, bu yüzden umarım takip etmeyi kolay bulursunuz. GitHub'dan indirdikten sonra, hepsini bir klasöre yapıştırın, taslağı MCU'nuza yükleyin, ardından "veri" alt klasörünün içeriğini SPIFFS'ye yükleyin.

Aslında, bunu kaşı. Pushbullet bildirim özelliğini kullanmak istiyorsanız, öncelikle buradan erişebileceğiniz bir API Erişim Simgesine ihtiyacınız olacak. Arduino kodunun 88. satırına girer. Pushbullet iyi çalışıyor ancak telefonunuzda ilk kez bir hesap oluşturuyorsanız, telefonunuzun ayarlarında yapılandırıldığı gibi bildirimler görünmeye başlamadan önce oturum açmanız, oturumu kapatmanız ve ardından tekrar oturum açmanız gerekebilir.

Üç web sayfası vardır - bir açılış ekranı, gerçek uygulama arayüzü ve bir kurulum sayfası. İçeriği bu şekilde ayırmak, özellikle kapsamlı yapılandırma seçenekleri nedeniyle arayüzün kullanımını çok daha uygulamaya benzer hale getirir (ekran görüntüsü bu seçeneklerin yalnızca bir kısmını yakalar).

NodeMCU'nun birden fazla sayfa sunmasını sağlamanın bir tuhaflığı, tüm görüntü dosyalarını doğrudan veri klasörüne koymak zorunda olmamdı - alt klasörlere yerleştirilmişlerse çalışmasını sağlayamadım. Kullanıma hazır olması için GitHub deposunda kullandığım tüm resimleri ekledim, ancak kuşkusuz bunları kendi resimlerinizle değiştirmek isteyeceksiniz.

Adım 7: Son Dokunuşlar ve Lazer Güvenliği

Son Dokunuşlar ve Lazer Güvenliği
Son Dokunuşlar ve Lazer Güvenliği
Son Rötuşlar ve Lazer Güvenliği
Son Rötuşlar ve Lazer Güvenliği
Son Dokunuşlar ve Lazer Güvenliği
Son Dokunuşlar ve Lazer Güvenliği

Göz sulandıran 8 dolarlık maliyetine rağmen, muhafaza oldukça faydacı. Etsy'de biraz dolaştıktan sonra, bitmiş üründe gördüğünüz (ve uygulama sayfasında yansıtılan) vinil grafiği buldum. Birleşik Krallık'tan sevk edildi, biraz pahalıydı ama kesinlikle buna değdi - ve projeyi kopyalamak istemeniz durumunda iki tane alırsınız. Son sanatsal gelişmem olarak, kedinin gözlerindeki küçük "gamzeleri", lazer noktasının yerini alan parlak kırmızı güç LED'ine bakmaları için döndürdüm. Kaprisli iştahınıza bağlı olarak, bu ekstra kilometreye gitmeyi seçebilir veya seçmeyebilirsiniz.

Açılış ekranı HTML dosyası, iPhone ana ekranınıza bir simge eklemek için kod içerir.

Son olarak, kedilerle oynamak için lazer kullanma konusunda ifade edilen endişeleri göz ardı etmemeliyim. İki ana itiraz var:

  • Lazer, kedinin gözlerini kör edebilir veya zarar verebilir
  • Bir lazer noktasıyla oynamak, nihayetinde kediler için tatmin edici değildir çünkü onu asla yakalayamaz veya "öldüremezler".

Her iki konu hakkında ara dalgalarda çok fazla splother var, bazıları görünüşte bilgili, bazıları daha az. Sonuç olarak, bu projenin veya başka bir lazer oyuncağın kediniz için uygun olup olmadığı konusunda kendi kararlarınızı vermelisiniz. Yaptığım şey, makul ışık seviyelerinde görmeyi çok zorlaştırmadan lazeri olabildiğince loş hale getirerek ilk sorunu çözmeye çalışmaktı. Ayrıca, cihazı kullanan herhangi bir kedinin nokta yerine lazerin kendisine bakmaya meyilli olmadığından emin olun - özellikle de LaserKitty'yi kullanmayı düşünüyorsanız! Otomatik veya Zamanlanmış modlarda. Pushbullet bildirim özelliğinin bir amacı, bir izleme kamerası ile birlikte kullanılmasıdır, böylece siz yokken kedinizin oyununu izlemeniz size hatırlatılır.

İkinci itiraza gelince, lazerin planlanmış oyun seanslarından sonra geri döneceği bir "Ev Konumunu" kaydetme özelliğini ekledim. Bunu sabit bir oyuncağa veya kedinizin yemek kasesine işaret edecek şekilde ayarlarsanız, umarım bir miktar çözüm sağlayacaktır. Her ne kadar kedilerle, kim gerçekten biliyor?

Önerilen: