Spisu treści:

Szybki zegar do filmów w zwolnionym tempie: 4 kroki
Szybki zegar do filmów w zwolnionym tempie: 4 kroki

Wideo: Szybki zegar do filmów w zwolnionym tempie: 4 kroki

Wideo: Szybki zegar do filmów w zwolnionym tempie: 4 kroki
Wideo: Jak się tańczy belgijkę? 2024, Grudzień
Anonim
Image
Image
Materiały
Materiały

Niemal każdy posiadacz nowoczesnego smartfona ma szybki aparat, który może posłużyć do kręcenia spektakularnych filmów w zwolnionym tempie. Ale jeśli chcesz zmierzyć, ile czasu faktycznie zajmuje pęknięcie bańki mydlanej lub eksplozja arbuza, może być trudno wyświetlić czas na swoich filmach: stoper ma bardzo mały wyświetlacz i ma precyzję zaledwie 1/100 sekundy. Jeśli chcesz wykonać pomiary ilościowe, przekonałem się, że publikowana liczba klatek na sekundę w aparacie nie jest czymś, na czym można polegać!

Na szczęście bardzo łatwo jest skonstruować zegar z precyzją ms i jasnymi dużymi cyframi przy użyciu Arduino i 4-cyfrowego 7-segmentowego wyświetlacza. Co więcej, 12 pinów ze standardowego wyświetlacza 0,56” dokładnie pasuje do układu pinów Arduino Nano i można je bezpośrednio do niego przylutować.

Na tym zegarze nie ma funkcji start/stop/reset. Po prostu zaczyna działać po włączeniu i przelewa się po 10 sekundach. Chodzi o to, że aby zmierzyć czas trwania pewnego procesu, tak czy inaczej mierzymy różnicę czasu między końcem a początkiem.

Krok 1: Materiały

  • Arduino Nano, bez przylutowanych do niego nagłówków.
  • 0,56” 4-cyfrowy 7-segmentowy wyświetlacz. Zarówno ze wspólną anodą, jak i ze wspólną katodą są w porządku

Jeśli chcesz umieścić go w solidnym pudełku i być zasilanym bateryjnie na 2 bateriach AA, dodaj:

  • Elektroniczne pudełko projektowe 60x100x25
  • Uchwyt na baterie 2xAA
  • Moduł step-up
  • Przełącznik kołyskowy 10x15mm on/off

Wymagane narzędzia

Lutownica

Aby zamontować go w pudełku:

  • Obrotowe narzędzie do zgrubnego wycinania otworów na wyświetlacz i przełącznik
  • Pilniki ręczne do precyzyjnego wycinania otworów
  • Pistolet do klejenia na gorąco do mocowania elementów na miejscu.

Krok 2: Podłączanie Arduino do wyświetlacza

Podłączanie Arduino do wyświetlacza
Podłączanie Arduino do wyświetlacza

Co zaskakujące, piny standardowego 4-cyfrowego 7-segmentowego wyświetlacza pasują do układu Arduino Nano w taki sposób, że wszystkie 12 pinów wyświetlacza łączy się z pinami IO Arduino. Pozwala to na lutowanie wyświetlacza bezpośrednio na Arduino bez konieczności stosowania płytki drukowanej, złącz czy kabli.

Przylutuj dolne piny wyświetlacza (rozpoznawalne po kropkach dziesiętnych i nadruku) do pinów analogowych A0-A5. Przylutuj górne piny wyświetlacza do cyfrowych pinów D4-D9.

Czerwone diody LED mają spadek napięcia tylko 2V, więc podłączenie ich do 5V zwykle nie jest dobrym pomysłem, a rezystor szeregowy jest zwykle stosowany w celu ograniczenia prądu. Jednak może ze względu na przeplot stwierdziłem, że bez rezystorów szeregowych działa OK. Jeśli nie, oto szczegółowa instrukcja dodawania rezystorów szeregowych bezpośrednio do Arduino Nano

Krok 3: Kodeks

Kod
Kod

Prześlij załączony szkic do Arduino Nano. Obecny kod dotyczy wyświetlacza ze wspólną anodą, ale wiersze ze wspólną katodą można odkomentować.

Po przesłaniu kodu licznik czasu powinien uruchamiać się przy każdym uruchomieniu Arduino. Możesz zatrzymać się tutaj lub zobaczyć w następnym rozdziale przykład, jak zamontować go w solidnej puszce i sprawić, by był zasilany bateryjnie.

Kilka uwag na temat kodu:

Czas jest pobierany z funkcji micro(), zamiast funkcji millis(), z dwóch dobrych powodów: Implementacja funkcji millis() w Arduino jest okropna: inkrementują co 1,024 ms, a następnie co jakiś czas pomijana jest milisekunda zrekompensować! Nie wszystkie Arduino mają bardzo precyzyjne kryształy. Jeśli stwierdzisz, że przesuniesz się o więcej niż promil, możesz dostosować dzielnik w wierszu „unsigned long t=micros()/1000;” aby zegar działał szybciej lub wolniej.

Cyfry są przeplatane, co oznacza, że w określonym czasie świeci tylko jedna cyfra. Podczas zmiany segmentów cyfry wszystkie cyfry są wyłączone, tak że w żadnym momencie nie jest wyświetlana żadna cyfra śmieci. Zmierzyłem częstotliwość aktualizacji cyfr na 750 mikrosekund, więc każda cyfra jest aktualizowana co najmniej raz na milisekundę!

Nie zoptymalizowałem poważnie zegara pod kątem szybkości, ponieważ obecna prędkość jest wystarczająco dobra do wyświetlania milisekund. Myślę, że Arduino można zrobić, aby pokazywało dwie cyfry więcej (odpowiadające 100 i 10 mikrosekundom), ale wymagałoby to

  • Wyłączanie przerwań i bezpośrednie korzystanie z timerów
  • Bezpośrednia manipulacja portem
  • Podłączanie wszystkich segmentów do jednego portu, a cyfr do innego portu
  • Unikaj jawnego obliczania wartości cyfr, ale zamiast tego używaj przyrostów (operacje dzielenia i modułu są powolne)

Jeśli udałoby mi się zdobyć aparat w zwolnionym tempie z prędkością >1000 kl./s, mógłbym spróbować, na razie jestem zadowolony z precyzji ms.

Krok 4: Montaż w pudełku

Montaż w pudełku
Montaż w pudełku
Montaż w pudełku
Montaż w pudełku
Montaż w pudełku
Montaż w pudełku

Tania elektroniczna skrzynka projektowa 100x60x25mm, nie wodoodporna, bez problemu zmieści się do tego timera, razem z bateriami, modułem step-up i włącznikiem/wyłącznikiem. W przypadku pracy bateryjnej połączenie 2 baterii AA z modułem podwyższającym zapewni Arduino bezpieczne i stabilne napięcie 5V. Umieszczając włącznik/wyłącznik bezpośrednio na akumulatorze (zamiast na wyjściu step-upa), akumulatory nie są narażone na wyciek z modułu rozruchowego i mogą wytrzymać lata, jeśli są używane sporadycznie.

Moduł step-up, którego użyłem, miał żeńskie złącze USB, które wyjąłem szczypcami, aby móc przylutować przewody do wyjścia. Alternatywnie możesz użyć regulowanego step-up i ustawić go na wyjście 5V.

Zacznij od wycięcia dwóch otworów odpowiadających wyświetlaczowi i włącznikowi/wyłącznikowi. Narysowałem ołówkiem przybliżone otwory, następnie wyciąłem je nieco za małe za pomocą narzędzia obrotowego, a następnie spiłowałem je ręcznymi pilnikami do dokładnie dopasowanego rozmiaru.

Odetnij część wielożyłowego elastycznego czerwonego i czarnego kabla z pojemnika na baterie i podłącz je do modułu podwyższającego, z dodatnim lub ujemnym biegunem przerywanym przez włącznik/wyłącznik. Następnie z modułu step-up prosto do GND i +5V lub Arduino.

Użyłem kleju na gorąco, aby utrzymać wszystkie elementy na miejscu: pojemnik na baterie, moduł step-up i dookoła boków wyświetlacza.

Efektem końcowym jest zegar w wytrzymałym pudełku z bardzo prostą obsługą!

Zalecana: