Innehållsförteckning:

Höghastighetsklocka för slowmotion-videor: 4 steg
Höghastighetsklocka för slowmotion-videor: 4 steg

Video: Höghastighetsklocka för slowmotion-videor: 4 steg

Video: Höghastighetsklocka för slowmotion-videor: 4 steg
Video: REDMI NOT 10 PRO OVERSIKT + TEST 📶 2024, November
Anonim
Image
Image
Material
Material

Nästan alla med en modern smartphone har en höghastighetskamera som kan användas för att göra spektakulära slowmotion-videor. Men om du vill mäta hur lång tid det faktiskt tar för att såpbubblan spricker eller att vattenmelonen exploderar kan du ha svårt att visa tiden på dina videor: ett stoppur har en mycket liten display och har en precision på endast 1/100 sekund. Om du vill göra kvantitativa mätningar fick jag reda på att den publicerade bildhastigheten för en kamera inte är något som du kan lita på!

Lyckligtvis är det väldigt enkelt att konstruera en klocka med ms-precision och ljusa stora siffror med en Arduino och en fyrsiffrig 7-segmentskärm. Dessutom matchar de 12 stiften från en standard 0,56”skärm exakt stiftlayouten på Arduino Nano och kan lödas direkt på den.

Det finns ingen start/stopp/återställning på den här timern. Den börjar bara köra när du slår på den och flödar över efter 10 sekunder. Tanken är att för att mäta varaktigheten av en viss process mäter vi ändå tidsskillnaden mellan slutet och början.

Steg 1: Material

  • En Arduino Nano, utan rubrikerna lödda på den.
  • En 0,56”fyrsiffrig 7-segmentig display. Både gemensam-anod eller gemensam-katod är OK

Om du vill lägga den i en robust låda och vara batteridriven på 2 AA-batterier, lägg till:

  • En elektronisk projektlåda 60x100x25
  • En 2xAA batterihållare
  • En steg-upp modul
  • En vippströmbrytare på 10x15 mm

Verktyg krävs

Lödkolv

Så här monterar du den i en låda:

  • Ett roterande verktyg för att grovklippa hålen för displayen och omkopplaren
  • Handfiler för att finhala hålen
  • En varmlimpistol för att fixera komponenterna på plats.

Steg 2: Anslutning av Arduino till skärmen

Ansluter Arduino till skärmen
Ansluter Arduino till skärmen

Otroligt nog matchar stiften på en standard 4-siffrig 7-segmentskärm layouten på en Arduino Nano på ett sådant sätt att alla 12 stift på skärmen ansluter till IO-stiften på Arduino. Detta gör det möjligt att löda skärmen direkt på Arduino utan att behöva ett kretskort, kontakter eller kablar.

Löd de nedre stiften på displayen (känns igen från decimalpunkterna och utskriften) till de analoga stiften A0-A5. Löd de övre stiften på skärmen till de digitala stiften D4-D9.

Röda lysdioder har ett spänningsfall på endast 2V, så att ansluta dem till en 5V är vanligtvis inte en bra idé, och ett seriemotstånd används vanligtvis för att begränsa strömmen. Men kanske på grund av sammanflätningen fann jag att det fungerar OK utan seriemotstånd. Om inte, här är en detaljerad instruktion om hur du lägger till seriemotstånd direkt på Arduino Nano

Steg 3: Koden

Koden
Koden

Ladda upp den bifogade skissen till Arduino Nano. Den nuvarande koden är för en gemensam-anoddisplay, men linjerna för gemensam-katod kan inte kommenteras.

När koden har laddats upp bör timern börja köras varje gång Arduino startas. Du kan stanna här eller se i nästa avsnitt ett exempel på hur du monterar den i en robust låda och gör den batteridriven.

Några kommentarer om koden:

Tiden tas från mikro () -funktionerna, i stället för millis () -funktionen, av två goda skäl: Arduino -implementeringen av millis () är fruktansvärd: de ökar var 1,024 ms, och då och då hoppas en millisekund över att kompensera! Inte alla Arduinos har högprecisionskristaller. Om du upptäcker att du har mer än en permille kan du justera avdelaren i raden "osignerad lång t = micros ()/1000;" för att få klockan att gå snabbare eller långsammare.

Siffrorna är sammanflätade, vilket innebär att endast en siffra tänds vid en viss tidpunkt. När du ändrar segmenten i en siffra är alla siffror avstängda, så att ingen sopciffer visas när som helst. Jag mätte uppdateringsfrekvensen för siffrorna till 750 mikrosekunder, så varje siffra uppdateras minst en gång vid varje millisekund!

Jag har inte på allvar optimerat klockan för hastighet, eftersom den nuvarande hastigheten är tillräckligt bra för att visa millisekunder. Jag tror att Arduino kan göras för att visa två siffror mer (motsvarande 100 och 10 mikrosekunder), men det skulle kräva

  • Inaktivera avbrott och direkt använda timern
  • Direkt portmanipulation
  • Anslut alla segment till en enda port och siffrorna till en annan port
  • Undvik tydlig beräkning av siffervärden, men använd steg istället (division och moduloperationer är långsamma)

Om jag kunde få tag på en slowmotion-kamera med> 1000 fps kunde jag prova, för nu är jag nöjd med ms-precision.

Steg 4: Montera den i en låda

Montera den i en låda
Montera den i en låda
Montera den i en låda
Montera den i en låda
Montera den i en låda
Montera den i en låda

En billig 100x60x25mm elektronisk projektlåda, inte vattentät, passar enkelt denna timer, tillsammans med batterier, en stegmodul och en på/av-omkopplare. För batteridrift ger en kombination av 2 AA-batterier med en stegmodul en säker och stabil 5V spänning till Arduino. Genom att sätta på/av-omkopplaren direkt på batteriet (i stället för på utgången från steg-up) påverkas inte batterierna av läckage från stup-up-modulen och kan hålla i flera år om de används sporadiskt.

Stegmodulen som jag använde hade en kvinnlig USB-kontakt, som jag tog bort med en tång, för att kunna löd trådar till utgången. Alternativt kan du använda en reglerbar steg-upp och ställa in den till 5V utgång.

Börja med att klippa ut de två hålen som motsvarar displayen och strömbrytaren. Jag ritade de ungefärliga hålen med en penna, klippte sedan ut hålen lite för små med ett roterande verktyg och arkiverade dem sedan med handfiler i exakt matchande storlek.

Klipp av några av den flersträngade flexibla röda och svarta kabeln från batterilådan och anslut dem till stegmodulen, med antingen den positiva eller den negativa avbruten av en på/av-omkopplare. Sedan från stegmodulen direkt till GND och +5V eller Arduino.

Jag använde varmt lim för att hålla alla element på plats: batterilådan, stegmodulen och runt skärmens sidor.

Slutresultatet är en timer i en robust låda med en helt enkel operation!

Rekommenderad: