Inhaltsverzeichnis:
- Schritt 1: Materialien
- Schritt 2: Anschließen des Arduino an das Display
- Schritt 3: Der Code
- Schritt 4: Montage in einer Box
Video: Hochgeschwindigkeitsuhr für Zeitlupenvideos - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Fast jeder, der ein modernes Smartphone besitzt, besitzt eine Hochgeschwindigkeitskamera, mit der sich spektakuläre Zeitlupenvideos drehen lassen. Wenn Sie jedoch messen möchten, wie lange es tatsächlich dauert, bis eine Seifenblase platzt oder eine Wassermelone explodiert, wird es Ihnen möglicherweise schwer fallen, die Zeit auf Ihren Videos anzuzeigen: Eine Stoppuhr hat ein sehr kleines Display und eine Genauigkeit von nur 1/100 Sekunde. Wenn Sie quantitative Messungen durchführen möchten, habe ich festgestellt, dass Sie sich auf die veröffentlichte Bildrate einer Kamera nicht verlassen können!
Glücklicherweise ist es wirklich einfach, mit einem Arduino und einer 4-stelligen 7-Segment-Anzeige eine Uhr mit ms-Präzision und hellen großen Ziffern zu konstruieren. Außerdem entsprechen die 12 Pins eines handelsüblichen 0,56“Displays exakt dem Pin-Layout des Arduino Nano und können direkt darauf gelötet werden.
Dieser Timer hat keinen Start/Stopp/Reset. Es beginnt einfach beim Einschalten zu laufen und läuft nach 10 Sekunden über. Die Idee ist, dass wir, um die Dauer eines bestimmten Prozesses zu messen, sowieso die Zeitdifferenz zwischen dem Ende und dem Anfang messen.
Schritt 1: Materialien
- Ein Arduino Nano, ohne die darauf gelöteten Header.
- Eine 0,56” 4-stellige 7-Segment-Anzeige. Sowohl gemeinsame Anode als auch gemeinsame Kathode sind in Ordnung
Falls Sie es in eine stabile Box packen und mit 2 AA-Batterien betrieben werden möchten, fügen Sie hinzu:
- Eine 60x100x25 elektronische Projektbox
- Ein 2xAA Batteriehalter
- Ein Step-Up-Modul
- Ein 10x15mm Ein/Aus-Wippschalter
Werkzeuge benötigt
Lötkolben
So montieren Sie es in einer Box:
- Ein Drehwerkzeug zum groben Schneiden der Löcher für das Display und den Schalter
- Handfeilen zum Feinschneiden der Löcher
- Eine Heißklebepistole zum Fixieren der Komponenten.
Schritt 2: Anschließen des Arduino an das Display
Erstaunlicherweise passen die Pins einer standardmäßigen 4-stelligen 7-Segment-Anzeige so zum Layout eines Arduino Nano, dass alle 12 Pins des Displays mit den IO-Pins des Arduino verbunden sind. Dadurch kann das Display direkt auf den Arduino gelötet werden, ohne dass eine Platine, Stecker oder Kabel benötigt werden.
Löten Sie die unteren Pins des Displays (erkennbar an den Dezimalpunkten und dem Aufdruck) an die analogen Pins A0-A5. Löten Sie die oberen Pins des Displays an die digitalen Pins D4-D9.
Rote LEDs haben einen Spannungsabfall von nur 2 V, daher ist es normalerweise keine gute Idee, sie an 5 V anzuschließen, und normalerweise wird ein Vorwiderstand verwendet, um den Strom zu begrenzen. Vielleicht aufgrund der Verschachtelung habe ich jedoch festgestellt, dass es ohne Vorwiderstände in Ordnung ist. Wenn nicht, finden Sie hier eine detaillierte Anleitung zum Hinzufügen von Serienwiderständen direkt auf dem Arduino Nano
Schritt 3: Der Code
Laden Sie die beigefügte Skizze auf den Arduino Nano hoch. Der vorliegende Code ist für eine Anzeige mit gemeinsamer Anode, aber die Zeilen für gemeinsame Kathode können unkommentiert werden.
Sobald der Code hochgeladen wurde, sollte der Timer jedes Mal laufen, wenn das Arduino gestartet wird. Sie können hier aufhören oder im nächsten Abschnitt ein Beispiel sehen, wie Sie es in einer stabilen Box montieren und batteriebetrieben machen.
Einige Anmerkungen zum Code:
Die Zeit wird aus zwei guten Gründen von den micro()-Funktionen anstelle der millis()-Funktion übernommen: Die Arduino-Implementierung von millis() ist schrecklich: Sie inkrementieren alle 1.024 ms, und dann wird ab und zu eine Millisekunde übersprungen kompensieren! Nicht alle Arduinos haben hochpräzise Kristalle. Wenn Sie feststellen, dass Sie um mehr als ein Promille daneben liegen, können Sie den Teiler in der Zeile „unsigned long t=micros()/1000;“anpassen. um die Uhr schneller oder langsamer zu machen.
Die Ziffern sind verschachtelt, dh zu einer bestimmten Zeit leuchtet nur eine Ziffer. Beim Ändern der Segmente einer Ziffer sind alle Ziffern aus, so dass zu keinem Zeitpunkt eine unbrauchbare Ziffer angezeigt wird. Ich habe die Aktualisierungsfrequenz der Ziffern mit 750 Mikrosekunden gemessen, sodass jede Ziffer jede Millisekunde mindestens einmal aktualisiert wird!
Ich habe die Uhr nicht ernsthaft auf Geschwindigkeit optimiert, da die aktuelle Geschwindigkeit gut genug ist, um Millisekunden anzuzeigen. Ich denke, der Arduino könnte dazu gebracht werden, zwei Stellen mehr anzuzeigen (entsprechend den 100 und 10 Mikrosekunden), aber es würde erfordern
- Deaktivieren von Interrupts und direkte Verwendung der Timer
- Direkte Port-Manipulation
- Alle Segmente an einen einzigen Port und die Ziffern an einen anderen Port anschließen
- Vermeiden Sie die explizite Berechnung von Ziffernwerten, sondern verwenden Sie stattdessen Inkremente (Divisions- und Moduloperationen sind langsam)
Wenn ich eine Zeitlupenkamera mit >1000 fps in die Finger bekommen könnte, könnte ich es versuchen, im Moment bin ich mit ms precision zufrieden.
Schritt 4: Montage in einer Box
Eine billige 100x60x25mm elektronische Projektbox, nicht wasserdicht, passt problemlos zu diesem Timer, zusammen mit Batterien, einem Step-Up-Modul und einem Ein- / Ausschalter. Für den Batteriebetrieb gibt eine Kombination aus 2 AA-Batterien mit einem Step-Up-Modul dem Arduino eine sichere und stabile 5V-Spannung. Durch Anbringen eines Ein-/Ausschalters direkt an der Batterie (statt am Ausgang des Step-Ups) werden die Batterien nicht durch Leckagen aus dem Stup-Up-Modul beeinträchtigt und können bei sporadischer Verwendung Jahre halten.
Das von mir verwendete Step-Up-Modul hatte eine USB-Buchse, die ich mit einer Zange entfernt habe, um Drähte an den Ausgang löten zu können. Alternativ können Sie einen regulierbaren Step-Up verwenden und ihn auf 5V-Ausgang einstellen.
Schneiden Sie zunächst die beiden Löcher aus, die dem Display und dem Ein-/Ausschalter entsprechen. Ich habe mit einem Bleistift die ungefähren Löcher gezeichnet, dann die Löcher mit einem Drehwerkzeug etwas zu klein ausgeschnitten und dann mit Handfeilen auf die genau passende Größe gefeilt.
Schneiden Sie einige der mehradrigen flexiblen roten und schwarzen Kabel von der Batteriebox ab und schließen Sie sie an das Aufwärtsmodul an, wobei entweder der Plus- oder der Minuspol durch einen Ein-/Ausschalter unterbrochen wird. Dann vom Step-Up-Modul direkt zum GND und den +5V oder dem Arduino.
Ich habe Heißkleber verwendet, um alle Elemente an Ort und Stelle zu halten: die Batteriebox, das Step-Up-Modul und um die Seiten des Displays.
Das Endergebnis ist ein Timer in einer stabilen Box mit einer kinderleichten Bedienung!
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): 3 Schritte
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): Manchmal korrigiert die Autokorrektur möglicherweise etwas, das Sie nicht korrigieren möchten, z. Textabkürzungen beginnen sich in Großbuchstaben zu setzen (imo korrigieren zum Beispiel zu IMO). So erzwingen Sie, dass die Korrektur eines Wortes oder einer Phrase beendet wird, ohne aut zu deaktivieren
Interessante Programmieranleitung für Designer - Bringen Sie Ihr Bild zum Laufen (Teil 2): 8 Schritte
Interessante Programmieranleitung für Designer – Bringen Sie Ihr Bild zum Laufen (Teil 2): Mathematik scheint für die meisten von Ihnen nutzlos zu sein. Die in unserem täglichen Leben am häufigsten verwendete ist einfach Addieren, Subtrahieren, Multiplizieren und Dividieren. Es ist jedoch ganz anders, wenn Sie mit Programm erstellen können. Je mehr Sie wissen, desto mehr wundervolle Ergebnisse werden Sie erhalten
Installieren des Windows-Subsystems für Linux (WSL): 3 Schritte
Installieren des Windows-Subsystems für Linux (WSL): Diese Anleitung soll Benutzern helfen, das Windows-Subsystem für Linux auf ihrem Windows 10-Computer zu installieren. Die spezifische Linux-Distribution, die dieser Befehlssatz verwendet, heißt Ubuntu. Schauen Sie hier für eine Übersicht über die verschiedenen Linux
So erstellen Sie eine UML für Java in Microsoft Visio: 4 Schritte
So erstellen Sie eine UML für Java in Microsoft Visio: Das Erstellen einer UML kann zunächst etwas einschüchternd wirken. Es gibt viele komplizierte Notationsstile, und es kann sich anfühlen, als gäbe es keine guten Ressourcen, um eine lesbare und genaue UML zu formatieren. Microsoft Visio macht jedoch das Erstellen einer UML-Qu