Mundarija:

Arduino bilan ishlaydigan Andoriya antennasi: 4 qadam
Arduino bilan ishlaydigan Andoriya antennasi: 4 qadam

Video: Arduino bilan ishlaydigan Andoriya antennasi: 4 qadam

Video: Arduino bilan ishlaydigan Andoriya antennasi: 4 qadam
Video: Pro Micro ATMEGA32U4 Arduino Pins and 5V, 3.3V Explained 2024, Dekabr
Anonim
Image
Image

Xotinim Elvis kapitani Kirkning kostyumiga mos kelish uchun San -Xose shahrida bo'lib o'tadigan Silicon Valley Comic Con -da Andoriya bo'lishga qaror qildi. Yuzni bo'yash/bo'yanish va kostyumning qolgan qismi biroz vaqt talab qilgan bo'lsa -da, antennaning harakatsiz bo'lishiga yo'l qo'ymadim. Men ularni bir oz tasodifiy burilishga va aylantirishga qaror qildim. Ma'lum bo'lishicha, ko'p odamlar statik Andoriya antennalarini ham, aylanadigan antennalarni ham sotadilar. Lekin 100 dollarlik narx juda qimmat edi va men baribir DIY odamiman.

Vaqt qisqa bo'lgani uchun, men Etsy -dan 3 dyuymli bosilgan antennani topdim.

Kerakli qismlar -

Andoriya antennasi - bularni tekshiring yoki o'zingiz tayyorlang

Ikki mikro servo - ko'p joylarni topish mumkin

Adafruit itybitsy - adafruits veb -saytiga qarang. Kichikroq bo'lsa yaxshi

Kengaytirilgan servo kabellar - Amazon/ebay

yoqish/o'chirish tugmachali ikkita simli quvvat kabeli - amazon/ebay

9V batareya

9V batareya ushlagichi

niqob tasmasi, elektr tasmasi

soch turmagi - har qanday CVS, nishon va boshqalar.

Qo'llaniladigan asboblar

lehim temir

issiq yopishtiruvchi qurol

super elim

simlarni olib tashlash

Xakto pichog'i

Non taxtasining simli eritmasi uchun prototip

Kompyuteringizga Arduino ishlab chiqish muhiti o'rnatilgan

1 -qadam: Kod

Mana men ishlatgan kod. Internetdan olib tashlandi.

Arduino -dan servo haydash juda oson. Buni amalga oshirishning texnik usullari ko'proq bo'lsa-da, men ikki xil harakat modelini qo'pol ravishda majbur qildim, ular orasidagi g'alati harakat va ping-pong oldinga va orqaga. Sizning servoingiz bosh tasmasiga bog'langanidan keyin markazingiz qayerda ekanligini va sizning ilovangizga eng mos keladiganini bilishingiz uchun bu bilan o'ynashingiz kerak bo'ladi. /* Tozalash

BARRAGAN tomonidan

Ushbu misol kodi jamoat mulki hisoblanadi.

R570sv tomonidan o'zgartirilgan

8-14-19

*/

#qo'shing

Xizmat ko'rsatish xizmati; // servoni boshqarish uchun servo ob'ekt yaratish

// ko'pgina taxtalarda o'n ikkita servo ob'ektni yaratish mumkin

int posl = 0; // servo holatini saqlash uchun o'zgaruvchi

int posr = 0; int kechikish = 50; int everyOther = 0; int i = 0; int j = 0; int k = 0; int x = 0; Servo servo1; Servo servo2;

bo'sh o'rnatish () {

// myservo.attach (9); // 9 -pinli servo servo ob'ektga biriktiriladi // myservo.attach (10); // servo1.attach (9) servo ob'ektiga 10 -pinli servo biriktiriladi; servo2.attach (10); servo1.write (0); servo2.write (0); kechikish (1000); servo1.write (180); servo2.write (180); kechikish (1000); Serial.begin (9600); }

//

// // boshlash 180 chapdan chapga 50, o'ngga o'ngga 50, keyin 180 ga sekin, keyin r 50 va chapga 50 // //

void loop () {

for (j = 0; j <= 5; j ++) {for (i = 0, posl = 180, posr = 180; i <= 50; i ++) {// 0 darajadan 180 gradusgacha boradi posl = posl - 1; posr = posr + 1; servo1.write (posl); // servo o'zgarmaydigan 'pos' servo2 holatiga o'tishini ayting.2.write (posr); kechikish (kechikish); // servo holatiga yetishi uchun 15ms kutadi} uchun (i = 0, posl = 130, posr = 230; i <= 50; i ++) {// 0 darajadan 180 gradusgacha boradi posl = posl+1; posr = posr - 1; servo1.write (posl); // servo o'zgarmaydigan 'pos' pozitsiyasiga o'tishini ayting servo2.write (posr); kechikish (kechikish); // servo holatiga yetish uchun 15ms kutadi}} // uchun

agar (har bir boshqa == 1) {

servo1.write (180); servo2.write (180); kechikish (500); servo1.write (280); servo2.write (280); kechikish (500); servo1.write (120); servo2.write (120); kechikish (500); servo1.write (180); servo2.write (180); kechikish (500); everyOther = 0; // har safar bu ikki tartibdan birini bajaradigan qilib o'zgartiradi} // if else {everyOther = 1; for (x = 0; x <= 5; x ++) {for (i = 0, posl = 180, posr = 180; i <= 40; i ++) {// 0 darajadan 180 gradusgacha boradi posl = posl - 1; posr = posr + 1; servo1.write (posl); // servo o'zgarmaydigan 'pos' pozitsiyasiga o'tishini ayting servo2.write (posr); kechikish (10); // servo pozitsiyasiga etib kelish uchun 10ms kutadi} uchun (i = 0, posl = 140, posr = 220; i <= 40; i ++) {// 0 darajadan 180 gradusgacha boradi posl = posl+1; posr = posr - 1; servo1.write (posl); // servo o'zgarmaydigan 'pos' pozitsiyasiga o'tishini ayting servo2.write (posr); kechikish (10); // servo holatiga yetguncha 1ms kutadi}}} // else} // loop

2 -qadam: simlar va qadoqlash

Ulanish va qadoqlash
Ulanish va qadoqlash
Ulanish va qadoqlash
Ulanish va qadoqlash

Shunday qilib, asosiy simlar juda to'g'ri.

Servo uchta simdan iborat. Arduino -dan quvvat, er va PWM pin.

Shunday qilib, PWM uchun 9 va 10 -gachasi pinlar, Arduino -dan esa er va quvvat ishlatilgan.

Men 9V batareyani tanladim, chunki menda ushlagich bor edi. Men butun paketni kichikroq qilish uchun kichikroq LiPo 3.7V batareyadan foydalanishim mumkin edi, lekin men bilardimki, men juda kichik 3.7V batareyada 8 soat ishlashim mumkinmi, shuning uchun 9v kattaroq batareya bilan bordim. ushlagich va zaxira olib keldim, agar kerak bo'lsa, uni almashtira olaman. Men ham o'chirish/yoqish tugmachasini o'z ichiga olganman, chunki men uni yoqish va o'chirishni osonlashtirdim. Butun paket boshning orqa qismiga parik va sochlar orasiga tiqiladi va men xohlamagan narsa - uni kuchaytirishning buzilgan usuli, bu esa parik yoki simlarning ishdan chiqishiga olib kelishi mumkin.

Butun loyihaning haqiqiy qadoqlanishi eng qiyin qismlardan biri edi. Menga kichkina narsa kerak edi, lekin men ham hech qanday simlarning bajarilmasligini va kerak bo'lganda loyiha FAIL bo'lishini xohlamadim. Men Arduino -dagi barcha ulanishlarni mahkam yopishtirdim, shunda pinlar sirg'alib ketmasligi uchun men kuch va er simlarini Arduino kartasiga lehimladim. Boshqa har qanday simli ulanishlar yopishtirilgan va butun paket niqob lentasiga o'ralgan bo'lib, uni o'chirish tugmachasiga oson kirish mumkin.

3 -qadam: Gadjetni parikka o'rnatish

Image
Image
Gadjetni parikka o'rnatish
Gadjetni parikka o'rnatish

Agar qadoqlash juda zerikarli bo'lmasa, aslida hamma narsani perukka olish og'riqli edi.

Antenna soch turmagiga o'rnatildi, men uni ishlatishni rejalashtirgandim, chunki u muvaffaqiyatsiz bo'ladi, shuning uchun biz metalldan yasalgan va kauchuk bilan qoplangan mustahkamroq soch turmagini sotib olishimiz kerak edi.

3D bosilgan antenna mikro servolarga mos kelmadi, shuning uchun men uyalarni kattaroq qilib tashlashga majbur bo'ldim. Servo issiq elim bilan o'rnatildi.

Soch bandiga servo shoxni o'rnatish butunlay tartibsizlik edi. Men parikning katta uyasini kesishni xohlamadim, shuning uchun servo soch turmagi va antennaga oldindan biriktirilishi mumkin edi, ehtimol, bu parikning ishdan chiqishiga olib keldi, shuning uchun men perukning 1/4 qismidagi kichik tuynukni kesishning juda og'riqli yo'liga bordim. Shunday qilib, servo mil mos keladi. Keyin men server shoxini servoga mahkamladim. Keyin men server shoxini epoksil bilan bog'ladim - bu ishlamadi. Server shoxini soch bandiga super yopishtirish ham ishlamadi. Soooooo, men server shoxini sochlar bandiga juda nozik parakord bilan o'rab oldim, har bir o'rashni bog'ladim, keyin bo'shashmasliklari uchun parakord tugunlarini super yopishtirdim. Yelim bilan yovvoyi ketmaslikka va servo milni yopishtirishga ehtiyot bo'ldim (men axlat qutisiga tashladim) Servo bu ishni bajaradi). 10 000 yil ilgari qandaydir texnikaga o'xshash o'q yasashda sizga yoqadigan narsa.

Buni qilishning yaxshiroq usullari bor. Mening misolimni ishlaydigan narsa sifatida ishlating, lekin uni yaxshilash mumkin bo'lgan narsa:-)

Qo'shimcha 1/4 dyuymli uyalar kesilgan, shuning uchun server simlari parik orqali va perukning orqa tomoniga batareya/Arduino joylashadigan joyga to'g'ri kelishi mumkin edi.

Batareyani/Arduino -ni boshga/perukka ulash

Bu haqda YMMV. Men to'rni xotinimning bulochkasiga bog'lab qo'ydim. U soch to'rini kiyib olgan edi va galstuk ham bog'lamga o'ralgan edi. Bizda bitta muvaffaqiyatsizlik bor edi, u chiqib ketdi, shuning uchun men uni yana o'rab qo'ydim va u kunning oxirigacha davom etdi (bu ishda yordam berish uchun konga borganingizda ozgina material olib keling:-))

4 -qadam: Ko'rgazmada - nima ishladi, nima qilmadi, biz boshqacha qilardik

Ko'rgazmada - nima ishladi, nima qilmadi, biz boshqacha qilardik
Ko'rgazmada - nima ishladi, nima qilmadi, biz boshqacha qilardik
Ko'rgazmada - nima ishladi, nima qilmadi, biz boshqacha qilardik
Ko'rgazmada - nima ishladi, nima qilmadi, biz boshqacha qilardik

Xo'sh, nima ishladi -

Antennalar yiqilmadi - lekin biz mashinaga kirishda va chiqishda juda ehtiyot bo'lishimiz kerak edi. Servo kichik va servo shoxining soch bandiga ulanishi yanada nozik.

Batareya namoyishi davom etdi - batareyalarni almashtirishning hojati yo'q.

Hech qanday simlar uzilmagan, bo'shashmagan ulanishlar - yopishtirish va lenta uchun qo'shimcha vaqt to'langan

Nima yaxshi ishlamadi -

Shunday qilib, men stolimda antennaning harakati uchun nima yaxshi ko'rinishini aniqladim. Ma'lum bo'lishicha, biz katta ko'rgazma markaziga kelganimizda, ko'pchilik antennaning harakatlanishini hammasi ham sezmagan. Buni qilganlar hayron bo'lishdi - "sizning antennangiz shunchaki harakat qildimi?" yaxshi narsa, lekin katta vaqt yaxshiroq bo'lardi. Men qilishim kerak bo'lgan narsa - bu tashqi potentsiometrni, biz real vaqtni aylantirish, chastota va hokazolarni oshirish uchun sozlashimiz mumkin edi, uni sochlar ostiga o'ralgan paketga bog'lab qo'yishimiz mumkin edi.

Men uni parikka va xotinimning sochiga bog'laganim - bir necha soatdan keyin tushib ketdi. Yaxshiyamki, menda galstuk taqish uchun zaxira o'rash bor edi va men uni sochiga/sochiga bog'lab qo'ydim. Aslida, bu muvaffaqiyatsizliklar emas, balki biz ko'rgazmaga borganimizda ko'rgan zaifligimizga tayyorgarlik kabi.

Tavsiya: