Съдържание:

Високоскоростен часовник за видеоклипове с бавно движение: 4 стъпки
Високоскоростен часовник за видеоклипове с бавно движение: 4 стъпки

Видео: Високоскоростен часовник за видеоклипове с бавно движение: 4 стъпки

Видео: Високоскоростен часовник за видеоклипове с бавно движение: 4 стъпки
Видео: Магия оптической глобальной сети: уровень 2 OSI 2024, Ноември
Anonim
Image
Image
Материали
Материали

Почти всеки с модерен смартфон има високоскоростна камера, която може да се използва за правене на ефектни видеоклипове с бавно движение. Но ако искате да измерите колко време всъщност е необходимо, за да се спука този сапунен мехур или тази диня да се взриви, може да ви е трудно да покажете времето във вашите видеоклипове: хронометърът има много малък дисплей и има прецизност само 1/100 от секундата. Ако искате да направите количествени измервания, открих, че публикуваната честота на кадрите на камерата не е нещо, на което можете да разчитате!

За щастие, наистина е лесно да се конструира часовник с ms точност и ярки големи цифри, използвайки Arduino и 4-цифрен 7-сегментен дисплей. Освен това 12-те пина от стандартен 0.56-инчов дисплей съвпадат точно с разположението на щифтовете на Arduino Nano и могат да бъдат запоени директно върху него.

На този таймер няма стартиране/спиране/нулиране. Той просто започва да работи, когато го включите и прелива след 10 секунди. Идеята е, че за да се измери продължителността на определен процес, ние така или иначе измерваме времевата разлика между края и началото.

Стъпка 1: Материали

  • Arduino Nano, без запечатани заглавки върху него.
  • 0,56”4-цифрен 7-сегментен дисплей. И общият анод, или общият катод са ОК

В случай, че искате да го поставите в здрава кутия и да работите с батерии от 2 батерии АА, добавете:

  • Електронна кутия за проектиране 60x100x25
  • Държач за батерия 2xAA
  • Повишаващ модул
  • Преместващ бутон за включване/изключване 10x15 мм

Необходими инструменти

Поялник

За да го монтирате в кутия:

  • Ротационен инструмент за грубо изрязване на отворите за дисплея и превключвателя
  • Ръчни пили за фино изрязване на дупките
  • Пистолет за горещо лепило за фиксиране на компонентите на място.

Стъпка 2: Свързване на Arduino към дисплея

Свързване на Arduino към дисплея
Свързване на Arduino към дисплея

Изненадващо, щифтовете на стандартен 4-цифрен 7-сегментен дисплей съвпадат с оформлението на Arduino Nano по такъв начин, че всички 12 пина на дисплея се свързват с IO пиновете на Arduino. Това позволява да запоявате дисплея директно върху Arduino, без да се нуждаете от печатна платка, конектори или кабели.

Запояйте долните щифтове на дисплея (разпознаваеми от десетичните точки и печата) към аналоговите щифтове A0-A5. Запояйте горните щифтове на дисплея към цифровите щифтове D4-D9.

Червените светодиоди имат спад на напрежението само 2V, така че свързването им към 5V обикновено не е добра идея и обикновено се прилага резистор за ограничаване на тока. Въпреки това, може би поради преплитането, открих, че работи добре без последователни резистори. Ако не, ето подробни инструкции как да добавите последователни резистори директно към Arduino Nano

Стъпка 3: Кодът

Кодът
Кодът

Качете приложената скица в Arduino Nano. Настоящият код е за дисплей с общ анод, но редовете за общ катод могат да бъдат декомментирани.

След като кодът бъде качен, таймерът трябва да започне да работи всеки път, когато се стартира Arduino. Можете да спрете тук или да видите в следващия раздел пример как да го монтирате в здрава кутия и да го направите на батерия.

Някои коментари относно кода:

Времето се взема от функциите micro (), вместо функцията millis (), по две добри причини: Реализацията на Arduino на millis () е ужасна: те се увеличават на всеки 1.024 ms, а след това от време на време се пропуска милисекунда да компенсирам! Не всички Arduinos имат кристали с висока точност. Ако установите, че сте изключени с повече от пермил, можете да регулирате разделителя в реда „unsigned long t = micros ()/1000;“за да накарате часовника да върви по -бързо или по -бавно.

Цифрите се преплитат, което означава, че само една цифра свети в определен момент. Когато променяте сегментите на цифри, всички цифри са изключени, така че в даден момент не се показва никаква цифра боклук. Измерих честотата на актуализиране на цифрите на 750 микросекунди, така че всяка цифра се актуализира поне веднъж на всяка милисекунда!

Не съм оптимизирал сериозно часовника за скорост, тъй като настоящата скорост е достатъчно добра за показване на милисекунди. Мисля, че Arduino може да бъде направен да показва две цифри повече (съответстващи на 100 и 10 микросекунди), но ще изисква

  • Деактивиране на прекъсванията и директно използване на таймерите
  • Директна манипулация на порта
  • Свързване на всички сегменти към един порт и цифрите към друг порт
  • Избягвайте изричното изчисляване на цифри, но вместо това използвайте стъпки (операциите по разделяне и модул са бавни)

Ако можех да се докосна до камера с бавно движение с> 1000 кадъра в секунда, бих могъл да опитам, засега съм доволен от прецизността на ms.

Стъпка 4: Монтиране в кутия

Монтиране в кутия
Монтиране в кутия
Монтиране в кутия
Монтиране в кутия
Монтиране в кутия
Монтиране в кутия

Евтина електронна кутия с размери 100x60x25 мм, която не е водоустойчива, лесно се побира в този таймер, заедно с батерии, увеличаващ модул и превключвател за включване/изключване. За работа с батерии, комбинация от 2 батерии АА с повишаващ модул ще даде безопасно и стабилно 5V напрежение на Arduino. Чрез поставяне на превключвател за включване/изключване директно върху батерията (вместо на изхода на усилвателя), батериите не се влияят от изтичане от модула за затваряне и могат да издържат години, ако се използват спорадично.

Повишаващият модул, който използвах, имаше женски USB конектор, който премахнах с клещи, за да мога да запоя проводници към изхода. Като алтернатива можете да използвате регулируемо увеличаване и да го настроите на 5V изход.

Започнете, като изрежете двата отвора, които съответстват на дисплея и превключвателя за включване/изключване. Нарисувах с молив приблизителните дупки, след това изрязах дупките твърде малко с въртящ се инструмент и след това ги подадох с ръчни файлове до точно съответстващия размер.

Изрежете част от многожичния гъвкав червен и черен кабел от кутията за батерията и ги свържете към увеличаващия модул, като положителният или отрицателният сигнал се прекъсва от превключвател за включване/изключване. След това от увеличаващия модул направо към GND и +5V или Arduino.

Използвах горещо лепило, за да запазя всички елементи на място: кутията за батерията, увеличаващия модул и около страните на дисплея.

Крайният резултат е таймер в здрава кутия с мъртва проста операция!

Препоръчано: