Arduino Powered Andorian Anten: 4 Adım
Arduino Powered Andorian Anten: 4 Adım
Anonim
Image
Image

Karım, Elvis Kaptan Kirk kostümüme uyması için San Jose'deki yaklaşan Silicon Valley Comic Con için bir Andorian olmaya karar verdi. Yüz boyama/makyaj ve kostümün geri kalanı biraz zaman alırken, antenin sabit kalmasına izin veremezdim. Onları biraz rastgele bir şekilde döndürmeye karar verdim. Pek çok insanın hem statik Andorian anteni hem de halihazırda dönen antenleri sattığı ortaya çıktı. Ama 100 dolarlık fiyat etiketi çok pahalıydı ve ben zaten kendin yap adamıyım.

Zaman kısa olduğu için Etsy'den 3 boyutlu basılı bir anten buldum ve onları yapmaya çalışıyorum.

GEREKLİ PARÇALAR -

Andorian anteni - bunlar için etsy'yi kontrol edin veya kendiniz yapın

İki mikro servo - çok sayıda yer bulabilir

Adafruit itsybitsy - adafruits web sitesine bakın. Daha küçük daha iyi

Genişletilmiş servo kabloları - amazon/ebay

açma/kapama anahtarlı servo iki telli güç kablosu - amazon/ebay

9V pil

9V pil tutucu

maskeleme bandı, elektrik bandı

saç bandı - herhangi bir CVS, hedef vb.

KULLANILAN ALETLER

havya

sıcak yapıştırıcı tabancası

Süper yapıştırıcı

tel striptizci

Xacto bıçağı

Prototip ekmek tahtasından tel çözümüne

PC'nizde kurulu Arduino geliştirme ortamı

Adım 1: Kod

İşte kullandığım kod. İnternetten kaldırıldı.

Arduino'dan servo(lar) sürmek çok kolaydır. Bunu yapmanın daha teknik yolları olsa da, kaba ve iki farklı hareket modelini, aralarında çıldırmış bir hareketle ve ping-pong ile ileri geri hareket ettiriyorum. Servonuz kafa bandına takıldığında merkezin nerede olduğunu ve uygulamanız için neyin en iyi göründüğünü bildiğinizden emin olmak için bununla oynamanız gerekecek. /* Süpürme

tarafından BARRAGAN

Bu örnek kod, kamu malıdır.

r570sv tarafından değiştirildi

8-14-19

*/

#Dahil etmek

Servo myservo; // bir servoyu kontrol etmek için servo nesnesi yarat

// çoğu kartta on iki servo nesnesi oluşturulabilir

int konum = 0; // servo konumunu saklamak için değişken

int konum = 0; int GECİKME = 50; int herDiğer = 0; int ben = 0; int j = 0; int k = 0; int x = 0; Servo servo1; Servo servo2;

geçersiz kurulum() {

// myservo.attach(9); // pin 9'daki servoyu servo nesnesine bağlar // myservo.attach(10); // pin 10'daki servoyu servo nesnesine servo1.attach(9) bağlar; servo2.attach(10); servo1.write(0); servo2.write(0); gecikme(1000); servo1.write(180); servo2.write(180); gecikme(1000); Seri.başla(9600); }

//

// // 180'den başla sola 50, sağdan 50'ye git, sonra 180'e yavaşla, sonra r 50 ve sola 50 // //

boşluk döngüsü () {

for (j = 0; j <=5; j++) { for (i = 0, posl = 180, posr = 180;i <= 50;i++) { // 0 dereceden 180 dereceye gider posl = posl - 1; konum = konum + 1; servo1.write(posl); // servoya 'pos' değişkenindeki pozisyona gitmesini söyle servo2.write(posr); gecikme(DELAY); // servonun pozisyona ulaşması için 15ms bekler } for (i = 0, posl = 130, posr = 230;i <= 50;i++) { // 0 dereceden 180 dereceye gider posl = posl + 1; konum = konum - 1; servo1.write(posl); // servoya 'pos' değişkenindeki pozisyona gitmesini söyle servo2.write(posr); gecikme(DELAY); // servonun pozisyona ulaşması için 15ms bekler } } // için

if(herDiğer == 1){

servo1.write(180); servo2.write(180); gecikme(500); servo1.write(280); servo2.write(280); gecikme(500); servo1.write(120); servo2.write(120); gecikme(500); servo1.write(180); servo2.write(180); gecikme(500); herDiğer = 0; // her seferinde bu iki rutinden birini yapacak şekilde değiştir } // if else{ allOther = 1; for(x = 0; x <= 5; x++){ for (i = 0, posl = 180, posr = 180;i <= 40;i++) { // 0 dereceden 180 dereceye gider posl = posl - 1; konum = konum + 1; servo1.write(posl); // servoya 'pos' değişkenindeki pozisyona gitmesini söyle servo2.write(posr); gecikme(10); // servonun pozisyona ulaşması için 10ms bekler } for (i = 0, posl = 140, posr = 220;i <= 40;i++) { // 0 dereceden 180 dereceye gider posl = posl + 1; konum = konum - 1; servo1.write(posl); // servoya 'pos' değişkenindeki pozisyona gitmesini söyle servo2.write(posr); gecikme(10); // servonun pozisyona ulaşması için 1ms bekler } } } // else } // döngü

Adım 2: Kablolama ve Paketleme

Kablolama ve Paketleme
Kablolama ve Paketleme
Kablolama ve Paketleme
Kablolama ve Paketleme

Çok basit kablolama akıllıca, süper basit.

Bir servonun üç kablosu vardır. Arduino'dan Güç, Toprak ve PWM pini.

Böylece PWM için 9 ve 10 pinleri kullanıldı ve Arduino'dan toprak ve güç kullanıldı.

9V pil seçtim çünkü bunun için bir tutucum vardı. Tüm paketi küçültmek için daha küçük bir LiPo 3.7V pil kullanabilirdim ama sahip olduğum çok küçük 3.7V pille 8 saat çalışıp çalışamayacağımı bilmiyordum, bu yüzden daha büyük 9v pille gittim, pili taktım. bir tutucu ve bir yedek getirdim, böylece gerekirse değiştirebilirim. Ayrıca bir açma/kapama düğmesi de ekledim çünkü onu kolayca açıp kapatmanın bir yolunu istiyordum. Tüm paket, peruk ve saç arasında başın arkasına sıkışacaktı ve istemediğim şey, onu çalıştırmanın bir peruk veya kablonun onunla uğraşmaya çalışmasına neden olabilecek, hacklenmiş bir yol.

Tüm projenin gerçek ambalajı en zor kısımlardan biriydi. Küçük olmasına ihtiyacım vardı ama aynı zamanda herhangi bir kablonun bitmesini ve ihtiyaç duyduğumda projenin BAŞARISIZ olmasını istemedim. Pinlerin kaymaması için tüm bağlantıları Arduino'ya sıcak yapıştırdım ve güç ve topraklama kablolarını doğrudan Arduino kartına lehimledim. Diğer tüm kablo bağlantıları birbirine bantlanmış ve paketin tamamı, açma kapama anahtarına kolay erişim sağlayan maskeleme bandına sarılmıştı.

Adım 3: Gadget'ı Peruğa Yükleme

Image
Image
Gadget'ı Peruğa Yükleme
Gadget'ı Peruğa Yükleme

Paketleme yeterince sıkıcı değilse, aslında her şeyi peruğun içine sokmak acı vericiydi.

Anten, kullanmayı planladığım şey için tamamen başarısız olacak bir saç bandına monte edildi, bu yüzden metalden yapılmış ve kauçukla kaplı daha güçlü bir saç bandı satın almamız gerekti.

3D baskılı anten mikro servolara uymadı, bu yüzden yuvaları büyütmek zorunda kaldım. Servolar sıcak tutkalla yerine yerleştirildi.

Servo kornayı saç bandına takmak tam bir karmaşaydı. Perukta büyük bir yuva kesmek istemedim, böylece servoyu saç bandına ve antene önceden takabildim, belki bir peruk arızasına neden olabilir, bu yüzden çok acı verici bir yoldan perukta küçük bir delik açma yoluna gittim 1/4 Böylece servo şaftı yerine oturdu. Sonra sunucu kornasını servoya taktım. Ardından sunucu kornasını saç bandına epoksiledim - bu işe yaramadı. Sunucu kornasını saç bandına süper yapıştırmak da işe yaramadı. Oooooo, sunucu kornasını çok ince paracord ile saç bandına sardım, her bir sargıyı bağladım ve paracord düğümlerini gevşememeleri için süper yapıştırdım. Bunu ilk kez yapan bir servo) 10.000 yıl önceki bir teknik gibi bir ok yapmak için yapabileceğiniz şey gibi.

Bunu yapmanın daha iyi yolları var. Örneğimi çalışan, ancak geliştirilebilecek bir şey olarak kullanın:-)

İki ekstra 1/4 inç yuva kesildi, böylece sunucu kablosu peruğun içinden ve peruğun arkasından pilin/Arduino'nun yerleştirileceği yere sığabilir.

Pili/Arduino'yu kafaya/peruğa takma

Bu konuda YMMV. Paketi eşimin topuzuna peruğun altından bağlayabildim. Bir saç filesi takıyordu ve bu da demete sarılmış bir kravattı. Kaydığı bir yerde bir hatamız oldu, bu yüzden tekrar sardım ve günün geri kalanında sürdü (buna yardımcı olmak için mahkemeye gittiğinizde biraz malzeme getirin:-))

Adım 4: Gösteride - Neler Çalıştı, Neler Yaramadı, Neleri Farklı Yapsaydık

Gösteride - Neler Çalıştı, Neler Yaramadı, Neleri Farklı Yapsaydık
Gösteride - Neler Çalıştı, Neler Yaramadı, Neleri Farklı Yapsaydık
Gösteride - Neler Çalıştı, Neler Yaramadı, Neleri Farklı Yapsaydık
Gösteride - Neler Çalıştı, Neler Yaramadı, Neleri Farklı Yapsaydık

Peki ne işe yaradı -

Antenler düşmedi - ama arabaya binerken ve arabadan inerken çok dikkatli olmamız gerekiyordu. Servo küçüktür ve servo kornanın saç bandına bağlantısı daha da kırılgandır.

Pil tüm gösteriyi sürdürdü - pilleri değiştirmeye gerek yok.

Hiçbir kablo düşmedi, gevşek bağlantı yok - yapıştırma ve bantlama için harcanan ekstra zaman

Ne çok işe yaramadı -

Bu yüzden masamda antenin hareketi için neyin iyi görüneceğini buldum. Büyük bir fuar merkezine girdiğimizde, çoğu insan - hepsi değil, antenin hareket ettiğini fark etmedi. Yapanlar biraz çıldırdı - 'anteniniz hareket etti mi?' güzel ama daha büyük bir an olan bir şey daha iyi olurdu. Yapmam gereken, dönüşü, frekansı vb. artırmak için gerçek zamanlı olarak ayarlayabileceğimiz harici bir potansiyometre sağlamaktı. Saçın altına sıkışmış pakete bağlayabilirdik.

Peruğa ve karımın saçına bağlama şeklim - birkaç saat sonra düştü. Neyse ki yedek bir kravat sargım vardı ve onu peruğuna/saç topuzuna yeniden bağlayabildim. Aslında bu bir başarısızlık değil, gösteriye girerken gördüğümüz bir zayıflığa hazırlanmak gibi.

Önerilen: