Innholdsfortegnelse:
- Trinn 1: Materialer
- Trinn 2: Koble Arduino til skjermen
- Trinn 3: Koden
- Trinn 4: Monter den i en eske
Video: Høyhastighetsklokke for slowmotion-videoer: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
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
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
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
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:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
Slik laster du fôr til kyr: 9 trinn
Slik laster du fôr til kyr: Alt som lever trenger mat for å overleve. I vinter- og vårmånedene er det ikke gress for kyr å beite på. Dette gjør det veldig viktig at kuene blir matet skikkelig slik at de produserer sunne kalver. I de følgende trinnene vil pr
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw