Innholdsfortegnelse:

Høyhastighetsklokke for slowmotion-videoer: 4 trinn
Høyhastighetsklokke for slowmotion-videoer: 4 trinn

Video: Høyhastighetsklokke for slowmotion-videoer: 4 trinn

Video: Høyhastighetsklokke for slowmotion-videoer: 4 trinn
Video: Срезка слева! Техника настольного тенниса. #срезка #настольныйтеннис #подрезка #техника 2024, November
Anonim
Image
Image
Materialer
Materialer

Nesten alle med en moderne smarttelefon har et høyhastighetskamera som kan brukes til å lage spektakulære slow-motion-videoer. Men hvis du vil måle hvor lang tid det faktisk tar for såpeboblen å sprekke eller at vannmelonen eksploderer, kan det være vanskelig å vise tiden på videoene dine: et stoppeklokke har en veldig liten skjerm og har en presisjon på bare 1/100 sekund. Hvis du vil gjøre kvantitative målinger, fant jeg ut at den publiserte bildefrekvensen til et kamera ikke er noe du kan stole på!

Heldigvis er det veldig enkelt å konstruere en klokke med ms presisjon og lyse store sifre ved hjelp av en Arduino og en 4-sifret 7-segment skjerm. Dessuten samsvarer de 12 pinnene fra en standard 0,56”skjerm nøyaktig med pin-layouten til Arduino Nano, og kan loddes direkte på den.

Det er ingen start/stopp/tilbakestilling på denne timeren. Den begynner bare å kjøre når du slår den på og flyter over etter 10 sekunder. Tanken er at for å måle varigheten av en bestemt prosess måler vi uansett tidsforskjellen mellom slutten og begynnelsen.

Trinn 1: Materialer

  • En Arduino Nano, uten at hodene loddet på den.
  • En 0,56”firesifret 7-segmenters display. Både felles-anode eller vanlig katode er OK

Hvis du vil legge den i en solid eske og være batteridrevet på 2 AA-batterier, kan du legge til:

  • En elektronisk prosjektboks på 60x100x25
  • En 2xAA batteriholder
  • En oppgraderingsmodul
  • En vippebryter på 10 x 15 mm

Nødvendig verktøy

Loddejern

Slik monterer du den i en eske:

  • Et roterende verktøy for å grovkutte hullene til displayet og bryteren
  • Håndfiler for å kutte hullene
  • En varmlimpistol for å fikse komponentene på plass.

Trinn 2: Koble Arduino til skjermen

Koble Arduino til skjermen
Koble Arduino til skjermen

Utrolig nok samsvarer pinnene på en standard 4-sifret 7-segmenters skjerm med utformingen av en Arduino Nano på en slik måte at alle 12 pinner på skjermen kobles til IO-pinner på Arduino. Dette gjør det mulig å lodde skjermen direkte på Arduino uten at du trenger en PCB, kontakter eller kabler.

Lodde de nederste pinnene på skjermen (gjenkjennelig fra desimalpunktene og utskriften) til de analoge pinnene A0-A5. Lodd de øverste pinnene på skjermen til de digitale pinnene D4-D9.

Røde lysdioder har et spenningsfall på bare 2V, så det er vanligvis ikke en god idé å koble dem til en 5V, og det brukes vanligvis en seriemotstand for å begrense strømmen. Men kanskje på grunn av sammenflettingen fant jeg ut at det fungerer OK uten seriemotstander. Hvis ikke, her er en detaljert instruksjon om hvordan du legger til seriemotstander direkte på Arduino Nano

Trinn 3: Koden

Koden
Koden

Last opp den vedlagte skissen til Arduino Nano. Den nåværende koden er for en felles-anodeskjerm, men linjene for felles-katode kan ikke kommenteres.

Når koden er lastet opp, bør timeren begynne å kjøre hver gang Arduino startes. Du kan stoppe her eller se et eksempel i neste avsnitt hvordan du monterer den i en solid eske og gjør den batteridrevet.

Noen kommentarer om koden:

Tiden blir tatt fra mikro () -funksjonene, i stedet for millis () -funksjonen, av to gode grunner: Arduino -implementeringen av millis () er forferdelig: de øker hver 1,024 ms, og deretter av og til hoppes et millisekund å kompensere! Ikke alle Arduinos har krystaller med høy presisjon. Hvis du finner ut at du har mer enn en permille, kan du justere skillelinjen i linjen "unsigned long t = micros ()/1000;" for å få klokken til å gå raskere eller langsommere.

Tallene er sammenflettet, noe som betyr at bare ett siffer lyser på et bestemt tidspunkt. Når du endrer segmentene i et siffer, er alle sifrene av, slik at det ikke vises noe søppelsifret når som helst. Jeg målte oppdateringsfrekvensen til sifrene til 750 mikrosekunder, så hvert siffer blir oppdatert minst en gang i hvert millisekund!

Jeg har ikke seriøst optimert klokken for hastighet, siden nåværende hastighet er god nok til å vise millisekunder. Jeg tror Arduino kan gjøres til å vise to sifre mer (tilsvarende 100 og 10 mikrosekunder), men det ville kreve

  • Deaktivering av avbrudd og direkte bruk av tidtakere
  • Direkte portmanipulering
  • Koble alle segmentene til en enkelt port og sifrene til en annen port
  • Unngå eksplisitt beregning av sifferverdier, men bruk trinn i stedet (divisjon og moduloperasjoner er sakte)

Hvis jeg kunne få tak i et saktefilmskamera med> 1000 fps, kunne jeg prøve det, for nå er jeg fornøyd med ms presisjon.

Trinn 4: Monter den i en eske

Monter den i en eske
Monter den i en eske
Monter den i en eske
Monter den i en eske
Monter den i en eske
Monter den i en eske

En billig 100x60x25mm elektronisk prosjektboks, ikke vanntett, passer enkelt til denne timeren, sammen med batterier, en oppstartsmodul og en av/på-bryter. For batteridrift vil en kombinasjon av 2 AA-batterier med en oppgraderingsmodul gi en trygg og stabil 5V spenning til Arduino. Ved å sette en av/på-bryter direkte på batteriet (i stedet for på utgangen til trinn-opp), påvirkes ikke batteriene av lekkasje fra stup-up-modulen, og kan vare i år hvis den brukes sporadisk.

Oppgraderingsmodulen som jeg brukte hadde en kvinnelig USB-kontakt, som jeg fjernet med en tang, for å kunne lodde ledninger til utgangen. Alternativt kan du bruke en regulerbar step-up og sette den til 5V utgang.

Start med å skjære ut de to hullene som tilsvarer displayet og av/på -bryteren. Jeg tegnet de omtrentlige hullene med blyant, klippte deretter ut hullene litt for små med et roterende verktøy, og arkiverte dem deretter med håndfiler til den nøyaktig matchende størrelsen.

Kutt av den fleksible røde og svarte kabelen med flere tråder fra batteriboksen, og koble dem til oppstartsmodulen, enten med den positive eller den negative avbrutt av en av/på-bryter. Deretter fra trinnmodulen rett til GND og +5V eller Arduino.

Jeg brukte varmt lim for å holde alle elementene på plass: batteriboksen, trinnmodulen og rundt sidene av skjermen.

Sluttresultatet er en tidtaker i en solid boks med en død-enkel operasjon!

Anbefalt: