Мазмуну:

Arduino for Nerf: Chronograph and Shot Counter: 28 Steps (Сүрөттөр менен)
Arduino for Nerf: Chronograph and Shot Counter: 28 Steps (Сүрөттөр менен)

Video: Arduino for Nerf: Chronograph and Shot Counter: 28 Steps (Сүрөттөр менен)

Video: Arduino for Nerf: Chronograph and Shot Counter: 28 Steps (Сүрөттөр менен)
Video: Nerf Dart Counter [Version 3] w/ 7 Segment LED + Arduino + PCB 2024, Июль
Anonim
Image
Image
Бөлүктөр жана жабдуулар
Бөлүктөр жана жабдуулар

Менин мурунку көрсөтмөм инфракызыл эмитент жана детектордун жардамы менен дарт ылдамдыгын аныктоонун негиздерин камтыйт. Бул долбоор бир кадам алдыга жылат, көчмө ок -дарыларды жана хронографты жасоо үчүн басылган платаны, дисплейди жана батареяларды колдонот. Мындан тышкары, биз жаркыраган жарыкты окшоштуруу үчүн бир нече LED кошобуз. Анткени, pew pew pew…

Бул көптөгөн кадамдары бар татаал долбоор сыяктуу сезилиши мүмкүн, бирок дисплей жана микроконтроллер үчүн басылган схеманы жана коммерциялык компоненттерди колдонуу ишенимдүү долбоорду чогултууну бир топ жеңилдетет. Мен дагы сиздин ийгилигиңизди камсыздоо үчүн долбоордун ар бир элементи үчүн тест кодун берем. Сен муну кыла аласың!

1 -кадам: Бөлүктөр жана материалдар

Бөлүктөр жана жабдуулар
Бөлүктөр жана жабдуулар
Бөлүктөр жана жабдуулар
Бөлүктөр жана жабдуулар

Басып чыгарылган микросхема, үч нуска сизге бекер жеткирүү менен $ 12.40 гана турат, андыктан досуңуз менен бааны бөлүшүңүз:

OSH Park:

Электрондук тетиктер

  • 1 эа., Q1 MOSFET N-CH 20V 530MA TO92-3, Microchip TN0702N3-G,
  • 5 эа., 5мм LED, сиз тандаган түс

    • Ак
    • Эмбер
  • 6 еа., 100 ом 1/8W 5% учурдагы чектөөчү резисторлор,
  • 2 эа., 10K 1/8W 5% каршылыгы,
  • 1 эа. Сүрөт транзистору, [Everlight PT928-6B-F] (https://www.digikey.com/short/qtrp5m)
  • 1 эа. IR эмитенти, [Everlight IR928-6C-F] (https://www.digikey.com/short/jzr3b8)
  • 1 эа. 100 Ом каршылыгы 1/8W 5%, [Stackpole CF18JT100R] (https://www.digikey.com/short/q72818)
  • 1 эа., Эркек-эркек 12 "секирүүчү зымдар, [Adafruit 1955], (https://www.digikey.com/short/pzhhrt)
  • 1 эа., Adafruit ItsyBitys 8Mhz 3V, [Adafruit 3675], (https://www.digikey.com/short/pzhhwj)
  • 1 эа., BATT HOLDER AAA 3 CELL 6 "LEADS,
  • 1 э., SWITCH SLIDE SPST, E-Switch EG1218,
  • 1 эа., SWITCH TACTILE SPST-NO 0.05A 24V, TE 1825910-6,
  • 1 эа., 7 сегменттүү I2C дисплейи:

    • RED Adafruit 878
    • Blue Adafruit 881,

3D бөлүктөрү

3D бөлүктөрү биринчи кезекте TinkerCadда түзүлгөн, демек, алар сиздин максатыңызга оңой өзгөртүлөт:

  • Капкак жана дене:
  • Баррель адаптери:

Мен STLлердин көчүрмөсүн Thingiverseге да койдум:

Куралдар жана башка:

  • Кандооч
  • Сым тазалагычтар
  • Снайперлерди тазалоо
  • Ысык желим мылтык
  • Зым
  • #2 жип түзүүчү бурамалар
  • 3/4 "PCV

2-кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Биз райондук тактадан баштайлы деп жатабыз.

  • Эки кичинекей "сындыруучу" тактайчаны ортосунан бөлүп, экинчисине тегиздөө же буроо аркылуу бөлүп коюңуз.
  • Тегизирээк четтерин, файлды же кумду кыркыңыз.

3 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

Мен силерге ширетүүнү үйрөтпөйм. Бул жерде мен сүйгөн видеолордун бир нечеси менден алда канча жакшы көрсөтөт:

  • Geek Girl Diaries тартып Кэрри Энн.
  • Адафруттан Колин

Жалпысынан:

  • Жибек экрандын белгилерин колдонуу менен ПХБдагы жайгашкан жерди табыңыз.
  • Буттун изине туура келүү үчүн компонентти алып келиңиз.
  • Жетекчилерди ээрчиңиз.
  • Буйрутмаларды кыркыңыз

Келгиле, резисторлор менен баштайлы, анткени алар эң көп, эң төмөнкү отургуч жана эң оңой ширетилет. Алар ысыкка чыдамдуу жана сиздин техникаңызды тазалоого мүмкүнчүлүк берет. Алардын полярдуулугу да жок, андыктан аларды эки жакка тең салсаңыз болот.

  • Жарык диоддоруна токту чектөөчү 6, 100 Омдук резисторлор "*R" жана "100" деп белгиленген жерлерге барат.
  • 2 эа., 10 000 Омдук резисторлор "10К" деп белгиленген жерлерге барат.

4 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

Андан кийин, эмитент / детектор жупун орнотолу. Булардын кандай иштээри жөнүндө көбүрөөк маалымат алгыңыз келсе, мурунку Инструкцияларыма кайрылыңыз.

  • IR эмитенти так жана "EMIT" деп белгиленген жерге барат, тегерек линзасы борборду карайт.
  • IR детектору кара түстө жана "DETECT" деп белгиленген жерге барат, тегеректелген линзасы IR эмитентине багытталган.

5 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт

5 светодиод түздөн -түз микроконтроллер менен камсыздалгандан көбүрөөк ток тарткандыктан, биз аларды күйгүзүү жана өчүрүү үчүн транзистордук которгучту колдонобуз. Бул кичинекей N-канал MOSFET же кадимки NPN транзистору болушу мүмкүн, анткени биз болжол менен 100 мА менен иштейбиз.

N-MOSFET жазууларга дал келген жалпак бети менен "Q1" деп белгиленген жерге барат

6 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

Светодиоддордун полярдуулугу бар. Узак коргошун оң жана ПКБда "+" менен белгиленген. Капталында мен так көрө албаган жалпак кыры да бар.

  • Бардык LED диоддорун каршылаштарга жана MOSFETке карама -каршы тарапка орнотуңуз.
  • Тактайды оодарып, бир коргошунду жана ар бир LEDдин бир гана коргосун ордуна коюңуз.
  • Светодиоддорду текшериңиз, узун коргошун "+" деп белгиленген тешикте экенин жана LEDдин такта менен бирдей болгонун текшериңиз.

    Жарык диодду акырын басуу менен муунду кайра жылытыңыз (4 -сүрөттү караңыз)

  • Калган коргошундарды ээрчитип, кыркыңыз.

7 -кадам:

Сүрөт
Сүрөт

3D басылган капкакты жетектеген шакекке туура келет. Бул MOSFETтин "t-түрүндөгү" ачылышын көздөй бир гана жолго туура келет.

8 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

Кабелди баштоого убакыт келди!

  • Төрт 6 дюймдук зымдарды алып, ар бир четин сыйрып, калай алыңыз.
  • ПХБнын башына ширетүү:

    • Кызыл "+" үчүн.
    • Кара "-" үчүн.
    • "S" түсүн тандоо "строб" же LEDди күйгүзүү үчүн сигнал.
    • "G" түсүн тандоо "дарбаза" же IR детекторунан келген сигнал.

9 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

Келгиле, дисплейди даярдайлы. Мага Adafruitтин "I2C рюкзактары" жагат, анткени алар иштөө үчүн эки гана сигнал зымын алышат (бийликтен жана жерден тышкары). Сиз ошондой эле аларды бириктире аласыз.

Adafruit расмий көрсөтмөлөрү бул жерде:

  • PCB белгилерине дал келген ондук чекит менен дисплейдин багытын туура алууну камсыз кылыңыз.
  • Мурунку кадамдагыдай, калай жана тилке 4 д., 6 зымдар:

    • "+" Үчүн кызыл
    • Кара "-" үчүн.
    • "SDA" жана "SCL" үчүн түс тандоо.

10 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Кнопка колдонуучуну киргизүү үчүн. Мен аны курал -жарак эсептегичти баштапкы абалга келтирүү үчүн колдоном, бирок ал жарык диоддорду фонарь сыяктуу күйгүзүү же өчүрүү үчүн колдонулушу мүмкүн, же сиздин кыялыңызга эмне келет. Бул сиздин долбооруңуз.

  • Коммутаторду сындыруучу тактага салып, коргошундарды ширеткиле.
  • 6 дюймдук эки зымды кыркып, чечип жана калайлаңыз. Бири кара үчүн, экинчиси айырмалоочу түстө болушу керек.
  • Зымдарды сындыруучу тактага ширеткиле. Багыттоонун мааниси жок.

11 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

Слайд которгуч электрди күйгүзүү жана өчүрүү үчүн колдонулат. Дизайн бир аз түшүнүксүз, бирок чогултууга жардам берет. Жибек экранындагы белгилер которгучтун эки оң коргошундун ортосундагы байланышты кантип бузуп жатканын көрсөтүп турат.

  • Камырдын корпусунун учтарын кескиле, болжол менен 2 "тиркелет.
  • Слайддын которуштургучун сындыруу тактасына кошуңуз.
  • Калган ~ 4 "батарея кармагычтан жана ширетүүдөн сынык тактасынын бир жагына алып барат (кызыл"+", кара"-"чейин).
  • Батарейка кармагычтан үзүлүү тактасынын башка жагына алып баруучу зымдарды (кызыл "+", кара "-" чейин) ширетет.

12 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

Ар кандай компоненттерди интеграциялоону баштоого убакыт келди. Биз баскычты экинчисине сактап калабыз, анткени биз үч зымды бир тешик аркылуу оңой эле батыра алабыз.

  • Үч кызыл учту алып, чечип, бурап алыңыз:

    • LED шакеги
    • 7 сегменттүү дисплей
    • Слайд которгуч
  • Аларды ItsyBitsy'дин "3V" төшөгүнүн түбүнө салып, ордуна коюңуз.

    Эгерде сиз тактанын башка түрүн колдонуп жатсаңыз, "5V" төөнөгүчтү колдонуңуз

  • Үч кара жер зымын бир эле компоненттен алып, чечип, бурап, "3V" төшөгүнүн тушундагы "G" жаздыкчасына салыңыз.

13 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Дарбазаны жана строб зымдарын тийиштүү казыктарга туташтыруу менен LED шакегин туташтырыңыз:

  • "G" же дарбаза зымын ItsyBitsy пин A0го туташтырыңыз. Бул бизге каталарды оңдоо үчүн аналогдук көрсөткүчтөрдү алууга мүмкүндүк берет.
  • "S" же строб зымын 9 -пинге туташтырыңыз, эгерде биз жарыктыгын кийинчерээк башкаргыбыз келсе, жарык сигналын PWMге өткөрөбүз.

14 -кадам:

Сүрөт
Сүрөт

I2C зымдарын тиркөө менен 7 сегменттүү дисплейди туташтырыңыз:

  • SCL ("саат") пинин дисплейден ItsyBitsyдеги SCL төөнөгүчүнө бекиңиз.
  • SDA ("маалымат") пинин дисплейден ItsyBitsyдеги SDA пинине туташтырыңыз.

15 -кадам:

Сүрөт
Сүрөт

Баскычты кошуу убактысы:

  • Тактайдын астыңкы кыска четиндеги ItsyBitsy "G" пинине кара коргошун тагыңыз. Бул башка "G" пини сыяктуу эле жердин сигналы.
  • Түстүү сымды ItsyBitsy пин "7" га бекиткиле. Бул эсептегичти кайра орнотуу үчүн аппараттык үзгүлтүк сигналын колдонууга мүмкүндүк берет.

16 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Бул жерде биздин ар кандай компоненттерибизди сыноо мезгили келди.

Эгерде сиз Adafruit ItsyBitsy'ди биринчи жолу колдонуп жатсаңыз, анда Arduino IDEңизди тактаны таануу үчүн конфигурациялашыңыз керек болот.

Https://learn.adafruit.com/introducting-itsy-bitsy-32u4/arduino-ide-setup дарегиндеги көрсөтмөлөрдү аткарыңыз

Эгерде сиз Adafruitтин I2C дисплейлерин биринчи жолу колдонуп жатсаңыз, анда Adufruit китепканаларын колдонуу үчүн Arduino IDEти кайра конфигурациялашыңыз керек болот.

Https://learn.adafruit.com/adafruit-led-backpack/downloads боюнча нускамаларды аткарыңыз

Сыноо убактысы:

  • USB Micro аркылуу ItyBitsy'ни компьютериңизге тиркеңиз.
  • [Tools] -> [Board] -> [Adafruit IstyBitsy 32U4 8MHz].
  • [Куралдар] -> [Порт] -> качан гана порт туташкан, адатта эң көп сан.
  • [Файл] -> [Мисалдар] -> [Adafruit LED рюкзак китепканасы] -> [sevenseg]
  • [Эскиз] -> [Жүктөө]

Эгерде жүктөө ийгиликтүү болсо, дисплей жанданып, көбөйүүчү сандарды көрсөтө башташы керек. "Кап!" Чыгарууга убакыт келди. атак. Болбосо, оңдоочу шляпаны кийүүгө убакыт келди.

Эгерде жүктөө ишке ашпай калса, ItsyBitsy орнотуу көрсөтмөлөрүн, IDE орнотууларын жана USB кабелинин туташуусун эки жолу текшериңиз.

Эгерде дисплей күйбөй калса, рюкзак боюнча көрсөтмөлөрдү жана зым байланыштарыңызды эки жолу текшериңиз.

17 -кадам:

IR эмитенти / детекторунун түгөйүн сыноо убактысы.

  • [Файл] -> [Мисалдар] -> [Аналог] -> [AnalogReadSerial]
  • Тактаңызга жүктөңүз.
  • IDEдин оң бурчундагы "Сериялык монитор" сүрөтчөсүн чыкылдатыңыз.

Кандай болбосун, сиз келе жаткан баалуулуктардын агымын көрүп жатасыз. Бул 10-биттик аналогдук маанилер, андыктан 0дөн 1023кө чейин болот.

  • Фото транзистор жарыкка дуушар болгондо, ал токтун өтүшүн камсыз кылат жана сигнал 0го түшөт.
  • Фото транзистор IRди көрбөгөндө, сигналдын жогору кетишине мүмкүндүк берүүчү учурдагы агымды токтотот.

Эгерде сиз күтүлүүчү өзгөрүүлөрдү албасаңыз, бул жерде текшерүү үчүн кээ бир нерселер бар:

  • Рингден микроконтроллерге чейинки зымдарды эки жолу текшериңиз.
  • IR LED күйгүзүлгөнбү?

    • Бул тийүү үчүн бир аз жылуу болушу керек.
    • Арзан уюлдук телефондун камерасы IR жарыгын жакшы көрсөтөт.
    • Эгерде ал күйгүзүлбөсө, анда ал артка туташтырылган.

18 -кадам:

Стробаны сыноо убактысы. Биз жөн эле "Blink" негизги мисалын колдонуп, пин кодун алмаштырганы жатабыз:

  • [Файл] -> [Мисалдар] -> [01. Негизги] -> [Көз ирмөө]
  • Сиздин IDE версияңызга жараша, пин номерин 13 -кадамда биз тандаган номерге дал келгидей кылып өзгөртүңүз (пин 9).
  • Эскизди жүктөп, сокур болууга даярдан.

Эгерде сиз күтүлбөгөн жерден жарк эте албасаңыз, зымдарыңызды жана пин номерлериңизди текшериңиз.

19 -кадам:

Сыноо үчүн калган нерсенин баары баскыч:

  • [Файл] -> [Мисалдар] -> [01. Негизги] -> [DigitalReadSerial]
  • PushButton = 2 өзгөртүү; to pushButton = 7;
  • PinMode өзгөртүү (pushButton, INPUT); pinMode үчүн (pushButton, INPUT_PULLUP);
  • Жүктөө.

INPUT_PULLUP 3Вга алсыз тартылуу каршылыгын тиркейт, бул digitalRead () "HIGH" же "1" кайтарышы керек дегенди билдирет. Кнопка басылганда, ал "LOW" же "0" кайтарышы керек.

Эгерде сиз күтүлгөн баалуулуктарды албасаңыз, артка кайтыңыз жана баскычтын зымдарын текшериңиз.

20 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

Сыналган системабызды интеграциялоого убакыт келди. PVC баррелин даярдоо менен баштаңыз:

  • 3/4 дюймдук PCV узундугу 85мм болгон кесип алыңыз.
  • Аягынан 6мм белгилеп, мүмкүн болушунча борборлоштурулган эки тараптан 1/4 дюйм же андан чоңураак тешик бургула.
  • Дарт өткөндө чагылган IR жарыгын сиңирүү үчүн баррелдин ичин жалпак кара чачыңыз.
  • Баррелдин аягындагы тешиктердин ордун белгилөө үчүн файлды колдонуңуз.

21 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
  • Батарея корпусуна туура келгенин текшериңиз жана керек болсо кыркыңыз.
  • Корпусту салыңыз (коргошундун учу кубат которгучтун ачылышын көздөй).
  • Ишти ысык клей менен ордуна коюңуз (эгерде биз аны бөлүп алышыбыз керек болсо, өтө көп эмес).

22 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

Күч которгучту жана баскычты 3D корпустун тешиктерине салып, ысык клей менен жабыштырыңыз

23 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт

ItsyBitsy'ди анын уячасына жылдырып, зымдарды уюштуруңуз, ошондо бизде баррелге жол бар

24 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
  • LED шакегин капкакка салып, ысык клей менен жабыштырыңыз.
  • ItsyBitsy USB порту туура абалда пайда болушу үчүн капкакты бекиңиз.

25 -кадам:

Сүрөт
Сүрөт
  • Баррелдин аягындагы тегиздөө белгилери капкактын белгилерине дал келиши үчүн баррелди салыңыз.
  • IR эмитентин жана детекторун визуалдуу түрдө текшериңиз жана баррелдин тешиктеринен көрүнүп туруңуз. Керек болсо тешиктерди чоңойтуңуз.
  • USB'ди ItsyBitsy -ге тиркеп, IR текшерүүлөрүн кайра жүргүзүңүз (AnalogReadSerial эскиз).

26 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

Акыркы тегиздөө алуу бир аз татаал. Сиз бочкаңызды туура абалда бекиткиңиз келет.

  • Баррель адаптерин Nerf бластерине тиркеңиз.
  • Бөшкөнүн корпусун адаптерге жылдырыңыз, жардыргычтын үч бурама тешиги бири -бирине дал келерин текшериңиз.
  • Чыгуу жагында баррелдин тегизделишин текшериңиз.
  • Баррель адаптерин колдонуп кылдаттык менен бөлүп алыңыз.
  • Баррелдин корпусун адаптерден жылдырып, манжаңызды ПВХ менен кармаңыз.
  • Баррелди ысык клей менен жабыңыз.
  • Кайра чогултуу, тамакты кайра текшерүү
  • Капкакты жана баррель адаптерин бурамалар менен тиркеңиз. #2 жип түзүү, же запастагы Nerf бурамалары иштейт.

27 -кадам:

Сүрөт
Сүрөт

Кээ бир курал -класстагы камтылган программаларга убакыт келди.

  • Жүктөп алып, тиркелген эскизди ItsyBitsyге жүктөңүз.
  • Дисплейдин сызыктар жарк этип турганын текшериңиз (биринчи ок атылганга чейин).
  • Манжаңызды баррелдин учуна IR нурун тосуп коюуга жетишерлик деңгээлде коюп, анан тез арада алып салыңыз.
  • Светодиоддордон жарк эткенин текшериңиз.
  • "1" (атуу саны) жана "1.5" сыяктуу секундасына кичинекей буттар менен алмашып турган сандык көрсөткүчкө ээ экениңизди ырастаңыз.
  • Баррелдин ылдый жагындагы баскычты басыңыз жана анын жаркылдаган сызыктарга кайтып келерин текшериңиз (атуунун санын кайра коюңуз).

Эгерде бул кадамдардын бири ишке ашпай калса, анда мурунку тест эскиздерин колдонуп, кайра текшериңиз. Чогултуу учурунда бир нерсе чайкалганын билүү үчүн зымдарды текшериңиз.

28 -кадам: Эми эмне болот?

Эми сиз Nerf тапанчаңыздын канчалык тез атканын билесиз, сиз жасаган ар кандай моддун эффекттерин өлчөй аласыз. Бөшкө алынуучу жана портативдүү болгондуктан, досторуңузга жардыргычтарды жылдырууга уруксат бере аласыз.

Бул серияда алдыга жылып, LiPo үчүн батареяны жана зымдарды жаңыртууну, MOSFETти колдонуп, маховиктерди башкарууну жана толугу менен ыңгайлаштырылган операция менен тандалган өрт тутумуна карай иштөөнү карайбыз.

Arduino сынагы 2019
Arduino сынагы 2019
Arduino сынагы 2019
Arduino сынагы 2019

Ардуино 2019 конкурсунда экинчи орун

Сунушталууда: