Мазмуну:

Жай кыймылдагы видеолор үчүн жогорку ылдамдыктагы саат: 4 кадам
Жай кыймылдагы видеолор үчүн жогорку ылдамдыктагы саат: 4 кадам

Video: Жай кыймылдагы видеолор үчүн жогорку ылдамдыктагы саат: 4 кадам

Video: Жай кыймылдагы видеолор үчүн жогорку ылдамдыктагы саат: 4 кадам
Video: Беппе Грилло мындан ары угулбай калдыбы? Бирок кантип келди? 😂 Ютубдагы комикс экөөбүз күлөбүз 2024, Ноябрь
Anonim
Image
Image
Материалдар
Материалдар

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

Бактыга жараша, Arduino жана 4 орундуу 7 сегменттүү дисплейди колдонуу менен MS тактыгы жана чоң чоң цифралар менен саат куруу чынында оңой. Мындан тышкары, стандарттык 0.56 дюймдагы 12 төөнөгүч Arduino Nanoнун пин-макетине дал келет жана аны түз эле ширетүүгө болот.

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

1 -кадам: материалдар

  • An Arduino Nano, үстүнө баштары жок.
  • 0,56 дюймдук 4 орундуу 7 сегменттүү дисплей. Жалпы анод да, жалпы катод да жакшы

Эгерде сиз аны бышык кутуга салып, 2 АА батарейка менен иштөөнү кааласаңыз, төмөнкүлөрдү кошуңуз:

  • 60x100x25 электрондук долбоор кутусу
  • 2xAA батарея кармагычы
  • Кадам басуучу модуль
  • 10x15мм күйгүзүү/өчүрүү рокери

Куралдар талап кылынат

Кандооч

Аны кутуга орнотуу үчүн:

  • Дисплейдин жана которгучтун тешиктерин чийки түрдө кесүүчү айлануучу курал
  • Тешиктерди майда кесүү үчүн кол-файлдар
  • Компоненттерди ордуна коюу үчүн ысык желим тапанча.

2 -кадам: Ардуинону дисплейге туташтыруу

Arduino дисплейине туташуу
Arduino дисплейине туташуу

Таң калыштуусу, стандарттык 4 орундуу 7 сегменттүү дисплейдин казыктары Arduino Nano схемасына дал келет, ошентип дисплейдин бардык 12 казыгы Arduino IO казыктарына туташат. Бул дисплейди ПКБга, туташтыргычтарга же кабелдерге муктаж болбостон Arduinoдо түздөн -түз ширетүүгө мүмкүндүк берет.

Дисплейдин астындагы төөнөгүчтөрдү (ондук чекиттерден жана басмадан таанууга болот) аналогдук A0-A5 төөнөгүчтөргө ширеткиле. Дисплейдин жогорку төөнөгүчтөрүн D4-D9 санарип казыктарына туташтырыңыз.

Кызыл LEDдын чыңалуусу 2В гана төмөндөйт, андыктан аларды 5Вга туташтыруу, адатта, жакшы идея эмес жана токту чектөө үчүн сериялык резистор колдонулат. Бирок, балким, интервалга байланыштуу, мен анын сериялык резисторлорсуз жакшы иштээрин байкадым. Болбосо, бул жерде Arduino Nanoго түздөн -түз сериялык резисторлорду кошуу боюнча кеңири көрсөтмө бар

3 -кадам: Кодекс

Кодекс
Кодекс

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

Код жүктөлгөндөн кийин, таймер Arduino иштетилген сайын иштей башташы керек. Сиз бул жерде токтоп же кийинки бөлүмдөн аны бышык кутуга кантип орнотуу жана аны батарея менен иштетүү мисалын көрө аласыз.

Код тууралуу кээ бир комментарийлер:

Убакыт миллис () функциясынын ордуна микро () функцияларынан алынат, эки жакшы себеп: Arduino millis () ишке ашыруу коркунучтуу: алар ар бир 1,024 мс көбөйөт, анан бир убакта миллисекунд өткөрүлүп жиберилет ордун толтуруу үчүн! Бардык Arduinosдо тактык кристаллдары жок. Эгерде сиз өчүрүп койгонуңузду билсеңиз, анда "белгисиз узун t = micros ()/1000;" тилкесиндеги бөлгүчтү тууралаңыз. саатты тезирээк же жайыраак кылуу үчүн.

Цифралар интервалдаштырылган, башкача айтканда белгилүү бир убакта бир гана цифра күйөт. Сандардын сегменттерин алмаштырууда, бардык цифралар өчүрүлөт, андыктан эч кандай таштанды цифрасы эч убакта көрсөтүлбөйт. Мен цифраларды жаңыртуу жыштыгын 750 микросекунд деп ченеп койдум, андыктан ар бир цифр ар бир миллисекундда жок дегенде бир жолу жаңыртылып турат!

Мен саатты ылдамдык үчүн олуттуу оптималдаштырган жокмун, анткени азыркы ылдамдык миллисекундтарды көрсөтүү үчүн жетиштүү. Менин оюмча, Arduino эки цифраны дагы көрсөтүү үчүн жасалышы мүмкүн (100 жана 10 микросекунддарга туура келет), бирок бул талап кылынат

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

Эгерде мен> 1000 кадр / сек менен жай кыймылдуу камерага колумду тийгизе алсам, мен аны сынап көрмөкмүн, азыр мен ms тактыгына кубанычтамын.

4 -кадам: аны кутуга орнотуу

Аны кутуга орнотуу
Аны кутуга орнотуу
Аны кутуга орнотуу
Аны кутуга орнотуу
Аны кутуга орнотуу
Аны кутуга орнотуу

Арзан 100x60x25mm электрондук проект кутуча, суу өткөрбөйт, бул таймерге батерейкалар менен кошо бат-модул жана күйгүзүү/өчүрүү которгучка ылайыктуу. Батарейканын иштеши үчүн 2 АА батарейкасынын модулу менен айкалышы Arduinoго коопсуз жана туруктуу 5В чыңалуусун берет. Батареяга күйгүзүү/өчүрүү түзмөгүн коюу менен (батарейканын чыгуусунун ордуна), батареялар ступ-модулдун агып кетишинен жабыркабайт жана эгерде анда-санда колдонулса, жылдарга созулушу мүмкүн.

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

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

Батарея кутусунан көп тилкелүү ийкемдүү кызыл жана кара кабелдин бир бөлүгүн кесип, оңго же терске күйгүзүү/өчүрүү өчүрүү менен аларды модулга кошуңуз. Андан кийин жогорулатуучу модулдан түз GNDге жана +5V же Arduino.

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

Акыркы натыйжа-бул бышык кутуда таймер, жөнөкөй операция!

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