İçindekiler:

'Evde Tek Başına' Hırsız Caydırıcı/ Steppermotor ve Servo Sürmek için Attiny13 Kullanın: 5 Adım
'Evde Tek Başına' Hırsız Caydırıcı/ Steppermotor ve Servo Sürmek için Attiny13 Kullanın: 5 Adım

Video: 'Evde Tek Başına' Hırsız Caydırıcı/ Steppermotor ve Servo Sürmek için Attiny13 Kullanın: 5 Adım

Video: 'Evde Tek Başına' Hırsız Caydırıcı/ Steppermotor ve Servo Sürmek için Attiny13 Kullanın: 5 Adım
Video: ASKERDE DÖVME NASIL YAPILIR? 2024, Kasım
Anonim
'Evde Tek Başına' Hırsız Caydırıcı/ Steppermotor ve Servo Sürmek için Attiny13 Kullanın
'Evde Tek Başına' Hırsız Caydırıcı/ Steppermotor ve Servo Sürmek için Attiny13 Kullanın
'Evde Tek Başına' Hırsız Caydırıcı/ Steppermotor ve Servo Sürmek için Attiny13 Kullanın
'Evde Tek Başına' Hırsız Caydırıcı/ Steppermotor ve Servo Sürmek için Attiny13 Kullanın

Bu şimdiye kadarki en tuhaf projelerimden biri olabilir:-) Ancak hırsızları uzak tutmakla ilgilenmiyor olsanız bile, bu proje bir step motor veya servo motor veya hatta Attiny13 ile birkaç DC motor sürmeniz gereken herhangi bir şey için kullanılabilir. McCauly Calkin'in bir plak çaların üzerine karton bir figür koyarak ve insanları taklit edebilmesi için başka bir karton figürün üzerine ipler koyarak hırsızlara aslında evde yalnız değilmiş gibi davranmaya çalıştığı Evde Tek Başına filmini çoğunuz hatırlayacaksınız. dans. Sık sık evden uzakta olduğum için, evimi hala doluymuş gibi geride bırakma konusunda çok bilinçliyim. Bunun için daha önce, ışıkları belirli bir düzende yeterince rastgele bir şekilde değiştiren bir 'Evde simülatörü' yayınlamıştım. birisi var gibi görünüyor. Bir TV oynuyormuş gibi görünmesini sağlayan bir 'Sahte TV' ekledim. Bütün bunlar yardımcı olur, ancak iş varlığı simüle etmeye gelirse, gerçek hareketten daha iyi bir şey yoktur. Bu yüzden hareket eden bir şeye ihtiyacım vardı ve bir plak çalarım olmadığı ve ben yokken çalışabilecek bir şey istediğim için biraz daha sağlam bir şeye ihtiyacım vardı. Bir karton figürün hareket izlenimi yaratmasının en bariz yolu şu olurdu: 90 derece döndürmek için sırayla ışığı engeller ve ışığı engellemez. Bunu ilk önce ucuz bir servo ile yaptım ama bu iki sorun verdi: Çok büyük olmayan bir karton figürü aksa ve bir kez eklemek zordu. Yaptım, sürtünme o servo için çok fazla olurdu. Daha güçlü bir servo çok dik bir fiyat artışına sahipti, bu yüzden 'Steppermotor' düşünmeye başladım. Ona bağlı soğutucu nedeniyle hala ağır olan bir tane vardı, bu yüzden ideal görünüyordu. Steppermotor'u döndürmek için bir program kolayca bir Arduino'ya yazıldı, ancak karton figürüm boyutuna sahip olduğu için sürükleme hala biraz soruna neden oluyordu. bir insan gövdesi (yaklaşık 80 cm uzunluğunda). Ya kartonu güçlendirip daha ağır hale getirmem ya da küçültmem gerekiyordu. Sonuncusu en iyi çözüm gibi görünüyordu, çünkü onu bir ışığa yaklaştırabildim. Bunca zaman boyunca bir figürü ayağa kaldırma düşüncesiyle de oynamıştım. Aklımdan motorlar, kasnaklar vs geçti ve bu fikirden tamamen vazgeçmemiş olsam da şimdilik karton figüre küçük bir özellik eklemeye karar verdim ve bu hareketli bir kafaydı. Benim fikrim figürü 90 derece döndürmekti, böylece tam bir gölge oluşturacak ve sonra başını sallamasını sağlayacaktı. ve işte burada servo tekrar devreye girdi. Aslında bir karton figürü dönüştürmek için bütün bir arduino'yu feda etmek istemedim. Aksine, ortalıkta bıraktığım bir Attiny13'ün işi de yapabileceğini tahmin ettim: step için 4 pin, servo için 1 pin. Bu tam olarak bir Attiny13'ün sunması gereken şeydir. Bazen çok yoğun olabileceğimi itiraf ediyorum, çünkü belirli bir zamanda, belirli bir süre için çalışmak için kontağın nasıl çalıştırılacağına dair her türlü senaryoyu düşündüm çünkü ideal olarak kontrol etmek istedim daha önce bahsettiğim 'Evde simülatör'den. Bu yüzden bir tel veya kablosuz düşündüm, ama sonra Manchestercode ile sorunu olan en iyi fikir Attin13 değildi ve alıcı için bir pime ihtiyacım vardı ve bu ucuz alıcıların duyarlılığı o kadar da iyi değil. Bu yüzden zaten sadece ticari bir zamanlayıcı anahtarı düşündüm, ama sonra aptallık ettiğimi fark ettim. Bu şey kendi PSU'suna ihtiyaç duyacağından, neden bir wallwart alıp bunu At Home simülatörümden kontrol edebildiğim bir Remote Switch'e koymuyorsunuz. Böylece, son tasarımımı oluşturmaya başladım. BOM

Ucuz bir ServoA Step motorBir karton kutuBir Attiny13An 8 pimli IC soketiA Şerit tahtası parçası 9 adet 17 delikli Bazı servo uzatma kablolarıA ULN2003A 16 pimli IC soketiA 10 k dirençA plastik kesme tahtası (veya başka bir hafif malzeme parçası)3 pimli erkek başlık (servo için) 6 pinli erkek başlık (steppermotor için)yapışkan bant (tabii ki)

Ek olarak: Attiny'yi programlamanın bir yolu

Steppermotor hakkında sadece bir açıklama. Eski bir 55SI-25DAWC kullanıyorum, ancak yine de bir tane satın almanız gerekiyorsa, çok ucuz bir step motor/sürücü kombinasyonu mevcut: 28BYJ-48. Motorun fiyatı 1,50 Euro'dur, ancak 2 Euro'ya aynı motoru bir sürücü panosu ile alabilirsiniz. yani bu iyi bir anlaşma

Adım 1: 'Evde Tek Başına' Karton Adamı İnşa Etmek

'Evde Tek Başına' Karton Adamı İnşa Etmek
'Evde Tek Başına' Karton Adamı İnşa Etmek
'Evde Tek Başına' Karton Adamı İnşa Etmek
'Evde Tek Başına' Karton Adamı İnşa Etmek

Bir kutudan 40x20 cm'lik bir parça ve 18x18'lik bir parça kestim. İki parçayı baş ve gövde olarak birbirine yapıştırdım, koli bandı kullanarak, iki parça arasında küçük bir boşluk bırakarak, ancak koli bandıyla kapatarak boyun için bir menteşe oluşturdum. (Resimler bunu çok net gösteriyor)Eski kesme tahtasından 20 cm uzunluğunda, yaklaşık yarım cm kalınlığında (tahtanın kalınlığı) ve yaklaşık 1,5 cm genişliğinde bir parça kestim. 1.5 cm, stepperimin dingiline uyması için yeterliydi. eğer farklı bir stepneniz varsa kestiğiniz parçanın stepinizin dingili için yeterince geniş olduğundan emin olun.dingilime uyacak bir ölü nokta deliği açtım.sonra plastiği kartonun tabanına yapıştırdım 'Torso'Just 'boynun' altında, karton parçalarından servom için bir tutucu yaptım. Tabii ki bu bir köşebent (veya plastik) ile yapılabilir, ancak karton gövdeye tutturmak biraz zor, bu yüzden servoyu takmak için sadece karton kullandım. Kesme tahtasından 11 x 0,6 x 0,6 parça plastikten yapılmış servoya bir kol ekledim ve bunu te Servo'ya bağladım. Yine, bunun nasıl yapıldığını görmek için resimlere bakın, stepperim karton figürü taşıyacak kadar ağır olsa da, dönmesinin neden olduğu tork ve sürükleme motorun 'yürümesine' başlamasını sağlayacaktı, bu yüzden bir taban plakası oluşturdum. 24*11 cm kesme tahtası. Step motoru takmak için iki delik açtım ve kontrolör için hala yeterli yerim var. Servo 180 derece dönmesine rağmen kolu kafayı tam dik tutmayacak şekilde konumlandırdım. Bu şekilde servo 0 konumuna geri döndüğünde kolayca geri düşer

Adım 2: 'Evde Tek Başına' Denetleyiciyi İnşa Etmek

'Evde Tek Başına' Denetleyiciyi İnşa Etmek
'Evde Tek Başına' Denetleyiciyi İnşa Etmek
'Evde Tek Başına' Denetleyiciyi İnşa Etmek
'Evde Tek Başına' Denetleyiciyi İnşa Etmek
'Evde Tek Başına' Denetleyiciyi İnşa Etmek
'Evde Tek Başına' Denetleyiciyi İnşa Etmek
'Evde Tek Başına' Denetleyiciyi İnşa Etmek
'Evde Tek Başına' Denetleyiciyi İnşa Etmek

Kontrolör, bir ULN2003'e bağlı bir Attiny13'tür. Benim versiyonumda, kartı diğer projelerde kullanmak için daha esnek hale getirmek için biraz daha fazla pin kullanmış olsam da, ihtiyacınız olan tek başlık 3 pinli erkek servo başlık ve step için 6 pinli erkek başlıktır.

3. Adım: 'Evde Tek Başına': Yazılım

EDIT 2019 Proje, Attiny13 için bir zamanlar popüler olan 'Smeezekitty' çekirdeği temelinde yapıldı. MCUdude'dan şu anda sıklıkla kullanılan MicroCore'un, delayMicroseconds ifadelerindeki değişkenlerle ilgili sorunları var. Bunu kullanıyorsanız, "delayMicroseconds(300 + p * (2500 / 180));" ifadesini değiştirin. "gecikme(5)" ile;

Yukarıdaki program benim adım adımın nasıl sürüleceğini gösterir ve eğer bir adım adımınız varsa PORTB'ye yazılan değerleri değiştirmeniz gerekebilir. Attiny13'ün hafızası oldukça küçük olduğundan ve çok fazla pin sağlamadığından, program biraz karmaşıklığı kaçırıyor. Doğrudan PORTB'ye yazmakta bir sorun yoktur, ancak bu durumda PB4 ve PB5'e de “0” yazacaktır. PB5 pek sorun değil, ancak PB4'ü kullanmak isteyebilirsiniz. Benim durumumda servomu koyduğum yer burası ve aynı anda kullanmadığım için bu gerçekten bir soruna neden olmuyor.

Ancak, 328 gibi başka bir mikrodenetleyici kullanmak istiyorsanız ve PB4 ve PB5 ile PB6 ve PB7'ye yazmaktan kaçınmak istiyorsanız, yalnızca 0-3 bitine yazmak için bir maske kullanın. Bunu yapacak maske B00001111'dir.

Daha sonra bit 0 ve 2'yi ayarlamak istiyorsanız, şöyle gidin:

PORTB=5 yerine şunu belirtin: PORTB=(PORTB &~mask) | (B00000101);

Bunu çok şifreli bulanlar için:

önce NOT maskeli PORTB'nin değerini AND yapar ve VEYA sonucu yazmak istediğimiz değerle birlikte PORTB'ye geri atar.

PORTB= 00010000 varsayalım ve ona 00000101 yazmak istiyoruz, bunu hemen atayamayız çünkü bu PB4'ü temizleyecektir.

Ancak, açıklandığı gibi yaparsak, şu hale gelir:

PORTB=(PORTB & 1110000) | 00000101

PORTB=(00010000 & 11110000) | 00000101

PORTB=00010000 | 00000101

PORTB= 00010101

Değerimizi yazdık ve PB4'ü tuttuk

Öyleyse neden önce AND-ing yapmak yerine istediğimiz değeri hemen VEYA PORTB ile alamıyoruz?

Eh, çünkü bu PB4 ve PB5'i koruyabilir… ama aynı zamanda PB3-PB0'dan biri zaten '1' içeriyorsa değişmeden de tutar.

Elbette, maskeyi zaten ters çevrilmiş olarak tanımlayacak olsaydık, maskeyi ters çevirmek gerekli olmazdı, ancak bunu böyle yapmak yaygın bir uygulamadır.

4. Adım: 'Evde Tek Başına' Hırsız Caydırıcı: Kullanım

çalıştığını görmek için videoyu izleyin (-90 derece döndürüldü, bunun için üzgünüm)

Bu cihazın amacı, perde veya panjur üzerine hareketli gölgeler atmaktır. Bu nedenle en iyi ışık perdeleriyle çalışır. Cihazın kendisi dışarıdan görünmemelidir. Arkasında bir yerde bir ışık kaynağı olduğundan emin olun. Ana prizdeki bu cihaz için wallwart PSU'yu besleyen Uzak Anahtara bir RF sinyali göndererek kontrol ediyorum, ancak bir zamanlayıcı da kullanabilirsiniz.

Adım 5: 'Evde Tek Başına' Neler Çalışmadı……

Bu video, daha büyük bir gövde ve sadece basit bir servo ile daha önceki deneylerimden birini gösteriyor. Açıkçası iyi bir tasarım değil

Önerilen: