Mündəricat:
- Addım 1: Lazım olan hissələr və alətlər
- Addım 2: Breadboard Testi
- Addım 3: Test və Hata Ayıklama
- Addım 4: Avadanlıq Montajı
- Addım 5: Son Quraşdırma
- Addım 6: Xronoqraf Fəaliyyətdədir
- Addım 7: Gələcək Planlar
Video: Nerf Chronograph və Yanğın Barelinin Hızı: 7 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Giriş
Tinker kimi, işinizin ədədi nəticələrini görmək həmişə çox məmnun edir. Bir çoxumuz Nerf silahlarını əvvəllər dəyişdirmişik və kim köpük parçalarını evə 100 kadrdan çox sürtməyi sevmir?
Həyatım boyunca bir çox Nerf silahını dəyişdirdikdən sonra, atamla birlikdə ~ 10 yaşımdan başlayaraq bu vaxta qədər və otaq yoldaşlarım bir -birlərinə mənzildə köpük vurmağa davam etdikcə, həmişə dartların nə qədər sürətli uçduğunu bilmək istəmişəm. və otaq yoldaşlarım Rapid-Strike saniyədə neçə dart vurur. Nerf və Airsoft üçün kommersiya xronoqrafları mövcuddur, lakin yüksək dəqiqliyə malik olanlar bahalıdır və öz başımıza tikmək əyləncəlidir. Birini almaq istəsəniz, Nerf bu layihədə göstərilənə bənzər bir barel buraxdı (daha yaxşı sənaye dizaynı ilə) və burada tapa bilərsiniz:
Nerf Modul Ghost-Ops Chrono Barrel
Nerf versiyası da batareya ilə işləyir və atılan dartlar üçün sayğac göstərir. Buradakı Təlimatlandırıcıya bir ekran və sıfırlama düyməsi də daxildir, lakin sürət hesablaması üçün dart uzunluğuna güvənir və fasilələrdən istifadə etmədiyi görünür. Bu layihənin əsas diqqəti serial ünsiyyətinə (bu kimi sadə bir nümunə olaraq onlayn tapmaq asan deyildi) və dəqiq vaxt üçün fasilələrin istifadəsinə yönələcək. Bu, çox güman ki, daha sıx bir mühərrik və daha yaxşı hava yastıqlı silahlar üçün daha yaxşı bir montaj sistemi ilə eyni səbəblərə görə asanlıqla airsoft xronoqrafına çevrilə bilər. Kesintilərdən istifadə etmədən kod daha yavaş və daha az səmərəli ola bilər, eyni zamanda milisaniyələrin dart sürəti üçün dəqiq dəyərlər verməyəcəyi üçün mikrosaniyələri dəqiq hesablamaq çox çətindir.
GitHub -da STL faylları olmasına baxmayaraq, korpus dizaynına çox diqqət yetirməyəcəyəm, çünki hər kəs əsl oyun üçün mütləq daha yaxşı olan Nerf versiyasını ala bilər, amma bunun gələcək versiyası nəticələri azalda bilər.
Əsas Prinsiplər (Öyrənmə Nəticələri):
- Standart Nerf Barrel formasına malikdir
- Dart üçün zamanlama qapıları olaraq fototransistorların istifadəsi.
- Zamanlama üçün Adruino fasilələrinin istifadəsini göstərir
- Serial Əlaqə üçün Arduino ilə İşlənmənin İstifadəsi
Layihənin əhatə dairəsi:
Qısa icmallarla bu layihənin əsas xüsusiyyətlərini araşdırmağı və daha konkret məlumat üçün Arduino və İşləmə üçün istinadları oxumağı məsləhət görürəm. Bu sizə necə lehim etməyi öyrətməyəcək, daha çox Arduino və Processing -in necə birləşdiriləcəyini və fasilələrin istifadəsini öyrədir. Bu öyrənmənin çoxu faktiki olaraq şərh olunan kodu oxumaqla olacaq, buna görə kor -koranə yükləmədən və işə salmağa çalışmadan əvvəl bütün kodu oxuduğunuzdan əmin olun.
Bənzər Layihələrin Faydaları:
- Yüksək sürətin dəqiq ölçülməsi üçün fasilələrin istifadəsi
- Fototransistorlar üçün geniş ayıklama bölməsi
- Atəş Hızı (ROF) Hesablama Çıxış Saniyədə Dövr (RPS)
- Tam ekranlı kompüter interfeysi - döyüş zamanı faydalı olmur, amma nəticələrini ekran yazıcısı ilə axın və ya Youtube -da başqalarına göstərmək istəyirsinizsə əla olar.
- Airsoft və ya Paintball üçün yalnız korpus dəyişdirilərək uyğunlaşdırıla bilər
- Xüsusi PCB -lərə ehtiyac yoxdur (Gələcək bir yeniləmədə yaxşı olardı, amma hər kəs bunu nisbətən aşağı qiymətə edə bilər
- Parçalar ayrıldıqda və 3D printer mövcud olduqda ümumi dəyəri 10 dollardan aşağıdır - Ticarət dəyəri ilə bərabər, ROF əlavə ilə
Addım 1: Lazım olan hissələr və alətlər
Bir 3D printeriniz varsa, bu sizin üçün əla bir layihə olacaq, çünki qəfəs üçün sənədlər təqdim edəcəyəm. Kassanı yeniləməkdən çekinmeyin. Əlində heç bir LCD yox idi, amma ikinci bir versiyada inşallah bir LCD olacaq və WEMOS D1 və ya bənzər WiFi/BT effektiv lövhə və batareya istifadə edəcək. Bu, məlumatların mobil və real vaxt rejimində daxil edilməsinə imkan verəcək - məsələn, silahda neçə dart qalıb. Bəzi lehimləmə təcrübəsi tövsiyə olunur, əgər özünüzü rahat hiss etmirsinizsə, lehimləmə üçün bir Təlimatı izləməyi və ehtimal ki, əlavə elektron komponentlər almağı məsləhət görürəm.
Lazımi alətlər:
- Lehimleme dəmir
- İsti hava üfleyici/ İstilik Tabancası/ Çakmak (İstilik büzücü istifadə edilərsə)
- Tel çıxarıcılar
- Mini - B USB Kabeli (və ya mikro nəzarətçiniz üçün hansı kabel lazımdırsa)
- İsti Yapışqan Tabancası və ya bənzəri (bütün komponentləri 3D çap qutusuna bağlamaq üçün 3D çap qələmindən istifadə etdim)
Lazımi materiallar:
- 22AWG Qatı nüvəli tel, məsələn: Qatı Nüvəli Tel Seti 22AWG
- Arduino Nano (və ya bənzəri, bir klon istifadə etdim) məsələn: 3 x Arduino Nano (Klon)
- Rezistor dəsti (2 x 220 ohm, 2 x 220k ohm) 47k kimi aşağı dəyərli aşağı çəkilmə rezistorlarını uğurla istifadə edə bilərsiniz, bu işin işləməsi üçün mənə lazım olduğunu gördüm. Sorun giderme təlimatı, açılan rezistorun xüsusi fototransistorunuz və LED dəstiniz üçün doğru dəyər olub olmadığını necə təyin edəcəyinizi izah edir. Buna görə bir dəst almağı məsləhət görürəm: məsələn: Rezistor dəsti
- 2 x IR LED ex: IR LED və PhotoTransistor Set
- 2 x PhotoTransistor
- 1 x 3D çaplı korpus - IR şəffaf olmayan bir filamentdə (Hatchbox Silver işlənmiş və sınadığım yeganə rəng idi)
- Tam Layihə Faylları burada GitHub -da və əlavə edilmiş Zip Faylında mövcuddur. STL -lər Thingiverse -də də mövcuddur.
Addım 2: Breadboard Testi
Elektronika gəldikdən sonra, lehim, fototransistorlara və IR LED-lərinə ~ 20-30sm ayıklama aparır, bunları istiliklə kiçiltməyi məsləhət görürəm. Düzgün ölçülü istilik daralma yox idi və bu prototip üçün elektrik lentindən istifadə etmək məcburiyyətində qaldım. Bu, onları korpusda sınaq üçün istifadə etməyinizə imkan verəcəkdir. Kassanı çap etdinizsə və LED və fotoşəkil tranzistorlarını düzgün mövqedə yerləşdirsəniz, sınağa başlaya bilərsiniz.
Arduino və Processing -in quraşdırıldığından əmin olun.
Başlanğıcdakı zip faylı, bütün kodu və qəfəsin çapı üçün STL sənədlərini ehtiva edir.
Əvvəlcə ayıklama üçün Arduino istifadə edin və yalnız son sınaq üçün emaldan istifadə edin (hər şeyi Arduinodan serial monitorda görə bilərsiniz).
Arduino'da quraşdırılmış Chronogrpah_Updated.ino ilə xronoqraf vasitəsilə sadəcə Nerf dart atmağa cəhd edə bilərsiniz. Bu işləyirsə, deməli hər şey hazırdır. Bu işləmirsə, çox güman ki, rezistor dəyərlərini tənzimləməli olacaqsınız. Bu, növbəti addımda müzakirə olunacaq.
Kodun necə işlədiyinə dair bir az:
- Bir dart bir qapıdan keçəndə mikrosaniyələrdə vaxtı təyin edən zaman kəsici kodu dayandırır
- Sürət bununla hesablanır və vaxt saxlanılır
- Atışlar arasındakı vaxt hesablanır və saniyədə dövrə çevrilir
-
Qapılar arasındakı vaxt hesablanır və qapı məsafəsinə əsasən saniyədə ayağa çevrilir.
İki qapının istifadəsi eyni vaxtla daha yaxşı nəticələr əldə etməyə imkan verir (sensorun nə qədər hissəsi örtülməlidir) və histerezi azaldır
- Atəşin sürəti və sürəti vergüllə ayrılmış serial vasitəsi ilə ya arduinodakı serial monitora, ya da gözəl bir istifadəçi interfeysinə imkan verən emal eskizinə göndərilir (hər şey işlədikdə işlənməyə diqqət!).
Addım 3: Test və Hata Ayıklama
İlk sınaqdan uğur qazanmadınızsa, nəyin səhv olduğunu anlamalıyıq.
Fayl-> Nümunələr-> 0.1 Əsaslar-> AnalogReadSerial-da tapılan Arduino nümunəsi AnalogReadSerial-ı açın.
Fototransistorların gözlədiyimiz kimi işləməsini təmin etmək istəyirik. Dart onları maneə törətmədikdə YÜKSƏK, dart olmadıqda isə LOW oxunmasını istəyirik. Bunun səbəbi, kodun dartın sensordan keçdiyi vaxtı qeyd etmək üçün Kesintilərdən istifadə etməsidir və istifadə olunan kəsilmə növü YÜKSƏLİDİR, yəni YÜKSƏDƏN DÜŞÜK -ə keçərkən tetikleyecek. Pinin yüksək olmasını təmin etmək üçün bu pinlərin dəyərini təyin etmək üçün analoqlardan istifadə edə bilərik.
Arduino Nümunəsi AnalogReadSerial yükləyin və D2 və ya D3 rəqəmsal pinindən A0 -a keçin.
D2 birinci, D3 ikinci sensor olmalıdır. Oxumaq və oradan başlamaq üçün 1 seçin. Oxunuşlara əsaslanaraq düzgün həll yolunu müəyyən etmək üçün aşağıdakı təlimatı izləyin:
Dəyər 0 və ya çox aşağıdır:
Başlanğıcda dəyər təxminən 1000 olmalıdır, çox aşağı bir dəyər və ya sıfır oxuyursa, LED -lərinizin düzgün bir şəkildə bağlandığından və yanmadığından və yaxşı hizalandığından əmin olun. 220 ohm əvəzinə 100 ohm müqavimət istifadə edərkən testlər zamanı LEDlərimi yandırdım. Doğru müqavimət dəyərini təyin etmək üçün LED -lər üçün məlumat cədvəlinə müraciət etmək ən yaxşısıdır, lakin əksər LED -lər 220 ohm rezistorla işləyə bilər.
LEDlər işləyir və dəyər hələ də 0 və ya çox aşağıdır:
Məsələ, çox aşağı müqavimət müqavimətindədir. 220k rezistorla bağlı bir probleminiz varsa, bunu bundan da yüksək artıra bilərsiniz, ancaq səs -küyə səbəb ola bilərsiniz. Foto transistorunuzun yanmadığından əmin olmalısınız.
Dəyər orta diapazondur:
Bu, çoxlu problemlərə səbəb olacaq, əsasən yalançı tetikleyicilər və ya heç vaxt yüksəkliyə səbəb olmayacaq. YÜKSƏK alınmasını təmin etməliyik, bunu etmək üçün ~ 600 dəyərinə ehtiyacımız var, ancaq 900+ təhlükəsiz olmağı hədəfləməliyik. Bu həddə çox yaxın olmaq yanlış tetikleyicilərə səbəb ola bilər, buna görə də yanlış pozitivlərdən qaçmaq istəyirik. Bu dəyəri tənzimləmək üçün açılan rezistoru (220K) artırmaq istəyirik. Dizaynımda bunu artıq bir neçə dəfə etmişəm və çox güman ki, bunu etmək məcburiyyətində qalmayacaqsınız, çünki bu, aşağıya endirilən bir rezistor üçün çox böyük bir dəyərdir.
Dəyər çox səs -küylüdür (xarici stimul olmadan çox gəzir):
Aşağı çəkilən rezistorla naqillərinizin düzgün olduğundan əmin olun. Bu düzgündürsə, rezistorun dəyərini artırmalısınız.
Sensor blok edildikdə belə dəyər 1000 -dən çoxdur:
Yıxılan rezistorunuzun düzgün bir şəkildə bağlandığından əmin olun, bu heç bir açma olmadıqda baş verə bilər. Bu hələ də bir problemdirsə, açılan müqavimət dəyərini azaltmağa çalışın.
İşığı blok edərkən dəyər yüksəkdir və sıfıra bərabərdir:
Sensorun işləməsi üçün bu kifayət olmalıdır, lakin dart yolu keçərkən kifayət qədər sürətli bir cavab verə bilmərik. Dövrdə müəyyən bir tutum var və 220K rezistorla gərginliyin lazımi həddən aşağı düşməsi bir az vaxt ala bilər. Əgər belədirsə, bu rezistoru 100K -a endirin və testlərin necə işlədiyini görün.
HƏR SENSÖR ARASINDA HƏR RESİSTOR DƏYİŞİKLİYİNİN TƏMİN OLMASINI TƏMİN EDİN
Hər iki sensor üçün eyni dövrələrin təmin edilməsi, rezistorlar arasında eyni gecikməni saxlayır ki, bu da ölçmələrdə ən yaxşı dəqiqliyə imkan verəcəkdir.
Əlavə probleminiz varsa, aşağıda bir şərh yazın və sizə kömək etmək üçün əlimdən gələni edəcəyəm.
Addım 4: Avadanlıq Montajı
Komponentləri burada göründüyü kimi kiçik PCB -yə lehimləyin:
LEDlər və PhotoTransistors üçün aparatlar təxminən _ uzunluğunda kəsilməlidir.
Arduino'yu taxtaya lehimləyin və rezistorları yerdən əlçatan pinlərə bağlayın. Əlavə olaraq 4 Pozitiv telin bir -birinə asanlıqla bağlanmasını təmin edin. Bununla əlaqədar bir probleminiz varsa, bir tel telini soyun və sonunda bütün uclarda lehim edə bilərsiniz.
Sensorları korpusun əks tərəfinə bağladım, ancaq tərəfləri tutarlı saxladığınız müddətdə çəkinməyin. Telləri uzatmaq üçün kəsdim və telləri diodların hər birinə son olaraq lehimlədim. PCB -nin altında bəzi tellərin və digərlərinin istifadəsi asan olması üçün daha çox yer və daha az narahatlıq təmin etmək üçün tel marşrutunu bir qədər yenilədim. STL -lər layihənin əvvəlində tam layihə zip faylındadır.
Addım 5: Son Quraşdırma
PCB Delikləriniz əsas xronoqraf gövdəsindəki deliklər ilə uyğun gəlmirsə, ehtimal ki, elektronikanı bir az lent və ya isti yapışqan ilə korpusa bağlaya bilərsiniz, tel və USB-dən sonra bərkidilməyə ehtiyac olmadığını gördüm. yerində olsalar da, nəticələriniz fərqli ola bilər. İstilik saxlama üçün vida deliklərinə 1.75 mm filamentin basılmasına imkan vermək üçün hazırlanmışdır, lakin PCB də vidalana və ya yapışdırıla bilər. Burada ən vacib şey USB portunun əlçatan olmasını təmin etməkdir.
Elektronikanı elektronika örtüyü ilə örtün, Yenilənmiş Fayllar mənimkindən daha yaxşı uyğunlaşmalıdır və inşallah yerinə sıxılacaq, amma örtükləri yerində qaynaq etmək üçün 3D çap qələmindən istifadə etdim. İndi bir neçə dart atmağa hazırsınız!
Gələcək bir yeniləmə tellər üçün daxili marşrutlaşdırma istifadə edə bilər, lakin bu vəziyyətdə örtüklər Nerf estetikasına bir qədər verir.
Addım 6: Xronoqraf Fəaliyyətdədir
İşləmə Faylının Açılması: Chronograph_Intitial_Release, həm FPS, həm də RPS (Saniyədə Rounds) göstərən xronoqraf üçün həqiqətən gözəl bir istifadəçi interfeysi yaratmağa imkan verəcəkdir. Arduino seriyalı monitörünüzü bağladığınızdan əmin olmaq üçün əlaqə qurmaqda çətinlik çəkirsinizsə, koddakı serial portunu da dəyişə bilərsiniz, ancaq bu şərh edilmiş və sadə olmalıdır. Maksimum dəyərləri sıfırlamaq üçün kompüterinizdəki boşluq düyməsini basın.
Kodun necə işlədiyinə dair bir az (UI şəklini yuxarıda görmək olar):
- Arduinodan giriş alır
- Maksimum dəyəri tapmaq üçün bunu keçmiş girişlə müqayisə edir
- Asan vizual rəy üçün cari və maksimum dəyərləri tam ekranda göstərir
- Boşluq basıldıqda maksimum dəyəri sıfırlayır
Addım 7: Gələcək Planlar
Bunun üçün gələcək bir yeniləmə aşağıdakı təkmilləşdirmələri ehtiva edəcək. İstədiyiniz əlavə xüsusiyyətləriniz varsa, mənə bildirin və bunları tətbiq etməyə çalışacağam.
- LCD ekran daxildir
- Batareyalar daxildir
- Nerf Uyğun Əlavə nöqtələri
- Yenilənmiş Kassa
- Dəmir Görməli yerlər
Tövsiyə:
Potensialiometr, OLED Ekran və Düymələrdən istifadə edərək Arduino Control DC Motor Hızı və İstiqamət: 6 Addım
Potensialiometr, OLED Ekran və Düymələrdən istifadə edərək Arduino Control DC Motor Sürəti və İstiqaməti: Bu təlimatda bir L298N DC MOTOR KONTROL sürücüsü və iki düymə ilə bir DC motor sürətini və istiqamətini idarə etmək və potensiometr dəyərini göstərmək üçün potensiometrdən istifadə etməyi öyrənəcəyik. OLED Ekranında. Bir nümayiş videosuna baxın
Yanğın, Musiqi və İşıqlar Sinxronizasiyası: 10 addım (şəkillərlə)
Yanğın, Musiqi və İşıqlar Sinxronizasiyası: Hamımız bilirik ki, elektronikanın xəstəxanalarda, məktəblərdə, fabriklərdə bir çox vacib vəzifə üçün istifadə olunur. Niyə Onlarla Biraz Əylənməyək.Bu Təlimatlandırmada Musiqini Biraz Azaltmaq üçün Musiqiyə Reaksiya Verən Atəşlər və İşıqlar (Ledlər) Yaratacağam
4Duino-24: 4 Addımlı Simsiz Pulse Hızı Monitoru
4Duino-24: Simsiz Pulse Hızı Monitoru xəstəxana və klinikalar üçün hazırlanmış konseptual bir layihədir, əsas funksiyası tibb bacılarının və ya həkimlərin hər bir xəstəni xəstəxanada ziyarət etməsi üçün lazım olan vaxtı minimuma endirməkdir. Ümumiyyətlə, həkimlər və tibb bacıları hər xəstəni yoxlamaq üçün ziyarət edirlər
Nerf üçün Arduino: Chronograph və Shot Counter: 28 Addım (Şəkillərlə birlikdə)
Arduino for Nerf: Chronograph and Shot Counter: Əvvəlki Təlimatım infraqırmızı yayıcı və detektor istifadə edərək dart sürətinin aşkarlanmasının əsaslarını əhatə edir. Bu layihə, portativ silah sayğacı və xronoqraf hazırlamaq üçün çap dövrə lövhəsi, ekran və batareyalardan istifadə edərək bir addım daha irəli gedir
Avtomobil Elektronik Flaşör Hızı Modifikasiyası .: 6 Addım (Şəkillərlə birlikdə)
Avtomobilin Elektronik Flaşör Hızı Modifikasiyası .: Avtomobillərinə LED ampullər əlavə edən hər kəs üçün siqnal və ya əyləc işıqlarını çevirin. LED ampullər normal ampullərə nisbətən daha az Amper istifadə etdiyinə görə, flaşör vahidi yanmış bir lampanın olduğunu düşünür və flaş sürətini iki qat artırır. Bu təlimat sizə bunu göstərəcək