Inhaltsverzeichnis:
- Schritt 1: Teileliste
- Schritt 2: Anschließen des Displays
- Schritt 3: Laden Sie die Skizze hoch
- Schritt 4: Anschließen des Ergometers
- Schritt 5: Optionale Quick-Status-LEDs
- Schritt 6: Stromversorgung Ihres Ergometer-Displays
- Schritt 7: Verwenden Ihres Ergometer-Displays
Video: Einfaches Arduino-basiertes Ergometer-Display mit differentiellem Feedback - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Cardio-Workout ist langweilig, besonders wenn man drinnen trainiert. Mehrere bestehende Projekte versuchen, dies zu mildern, indem sie coole Sachen machen, wie zum Beispiel das Ergometer an eine Spielekonsole koppeln oder sogar eine echte Fahrradfahrt in VR simulieren. So aufregend diese auch sind, technisch helfen sie nicht viel: Das Training ist immer noch langweilig. Stattdessen möchte ich während des Trainings einfach nur ein Buch lesen oder fernsehen. Aber dann ist es schwierig, ein konstantes Tempo zu halten.
Die Idee hier ist, sich auf das letztgenannte Problem zu konzentrieren und direktes Feedback zu geben, ob Ihr aktuelles Trainingsniveau gut genug ist oder ob Sie sich mehr anstrengen sollten. Das "gut genug"-Niveau variiert jedoch nicht nur von Person zu Person, sondern auch im Laufe der Zeit (langfristig, wenn Sie besser werden, aber auch innerhalb einer Trainingseinheit: Es ist beispielsweise fast unmöglich, Vollgas zu geben, bevor Sie es geschafft haben aufgewärmt). Daher besteht die Idee hinter diesem Projekt darin, einfach a) den vorherigen Lauf und b) den besten Lauf (auch bekannt als Highscore) aufzuzeichnen und dann direktes Feedback zu geben, wie es Ihnen derzeit im Vergleich zu diesen Läufen ergeht.
Wenn das etwas abstrakt klingt, fahren Sie mit Schritt 7 fort, um Details darüber zu erfahren, was die fertige Anzeige anzeigt
Ein weiteres Ziel dieses Projektes ist es, die Dinge wirklich einfach und günstig zu halten. Je nachdem, wo Sie Ihre Teile bestellen, können Sie dieses Projekt für etwa 5 US-Dollar (oder etwa 30 US-Dollar bei Bestellungen bei Premium-Verkäufern im Inland) abschließen. Wenn Sie zuvor mit der Arduino-Umgebung gespielt haben, besteht eine ziemlich gute Chance, dass Sie bereits haben die meisten oder alle Teile, die Sie benötigen.
Schritt 1: Teileliste
Lassen Sie uns die Liste der Dinge durchgehen, die Sie benötigen:
Ein Arduino-kompatibler Mikroprozessor
So ziemlich jeder Arduino, der in den letzten Jahren verkauft wurde, wird es tun. Die genaue Variante (Uno / Nano / Pro Mini, 8 oder 16 MHz, 3.3. oder 5V) spielt keine Rolle. Sie benötigen jedoch einen ATMEGA328-Prozessor oder besser, da wir fast 2k RAM und 1k EEPROM verwenden werden. Wenn Sie mit den Besonderheiten der Arduino-Welt vertraut sind, empfehle ich die Verwendung eines Pro Mini mit 3,3 V, da dies am billigsten und batterieeffizientesten ist. Wenn Sie (relativ) neu bei Arduino sind, empfehle ich einen "Nano", da er die gleiche Funktionalität wie ein "Uno" in einem kleineren und billigeren Paket bietet.
Beachten Sie, dass dieses instructable Sie nicht durch die Grundlagen spricht. Sie sollten zumindest die Arduino-Software installiert haben und wissen, wie Sie Ihr Arduino anschließen und eine Skizze hochladen. Wenn Sie keine Ahnung haben, wovon ich rede, lesen Sie zuerst diese beiden einfachen Tutorials: Erstens, zweitens.
Ein 128*64 Pixel SSD1306 OLED-Display (I2C-Variante, also vier Pins)
Dies ist eines der billigsten und einfachsten Displays, die heute erhältlich sind. Zugegeben, es ist winzig, aber gut genug. Wenn Sie bereits ein Display mit ähnlicher oder besserer Auflösung haben, ist es natürlich möglich, dieses stattdessen zu verwenden, aber diese Anleitung ist für eine SSD1306 geschrieben.
- Ein "lötfreies Steckbrett" und etwas Überbrückungsdraht, um Ihren Prototypen zu bauen
- Ein 100-nF-Keramikkondensator (kann erforderlich sein oder nicht; siehe Schritt 4)
- Entweder einige Krokodilklemmen oder ein Magnet, ein Reedschalter und ein Kabel (siehe Schritt 4)
- Jeweils eine rote und eine grüne LED (optional; siehe Schritt 5)
- Zwei 220 Ohm Widerstände (bei Verwendung der LEDs)
- Ein Taster (auch optional)
- Eine geeignete Batterie (siehe Schritt 6)
Schritt 2: Anschließen des Displays
Als erstes verbinden wir das Display mit dem Arduino. Detaillierte Anleitungen sind verfügbar. Allerdings lässt sich die SSD1306 ganz einfach anschließen:
- VCC anzeigen -> Arduino 3.3V oder 5V (beide geht)
- Masse anzeigen -> Arduino Masse
- SCL anzeigen -> Arduino A5
- SCA anzeigen -> Arduino A4
Gehen Sie als Nächstes in Ihrer Arduino-Umgebung zu Sketch -> Bibliothek einschließen -> Bibliotheken verwalten und installieren Sie "Adafruit SSD1306". Leider müssen Sie die Bibliothek bearbeiten, um sie für die 128 * 64-Pixel-Variante zu konfigurieren: Suchen Sie Ihren Arduino-Ordner "Bibliotheken" und bearbeiten Sie "Adafruit_SSD1306/Adafruit_SSD1306.h". Suchen Sie nach "#define SSD1306_128_32", deaktivieren Sie diese Zeile und aktivieren Sie stattdessen "#define SSD1306_128_64".
An dieser Stelle sollten Sie Datei->Beispiele->Adafruit SSD1306->ssd1306_128x64_i2c laden, um zu testen, ob Ihr Display richtig angeschlossen ist. Beachten Sie, dass Sie ggf. die I2C-Adresse anpassen müssen. 0x3C scheint der häufigste Wert zu sein.
Bei Problemen lesen Sie die ausführlicheren Anweisungen.
Schritt 3: Laden Sie die Skizze hoch
Wenn alles bisher funktioniert hat, ist es jetzt an der Zeit, die eigentliche Skizze auf Ihr Arduino hochzuladen. Eine Kopie der Skizze finden Sie unten. Eine möglicherweise neuere Version finden Sie auf der Github-Projektseite. (Da dies eine einzelne Dateiskizze ist, reicht es aus, die Datei erogmetrino.ino in Ihr Arduino-Fenster zu kopieren).
Sollten Sie im vorherigen Schritt die I2C-Adresse ändern müssen, müssen Sie die gleiche Anpassung jetzt noch einmal in der Zeile beginnend mit „display.begin“vornehmen.
Nach dem Hochladen sollten auf Ihrem Display einige Nullen angezeigt werden. Wir werden uns die Bedeutung der verschiedenen Bereiche des Displays ansehen, nachdem alles andere angeschlossen ist.
Beachten Sie, dass das Display beim ersten Start ziemlich langsam aufleuchtet (kann bis zu etwa zehn Sekunden dauern), da die Skizze zuerst alle im EEPROM gespeicherten Daten auf Null setzt.
Schritt 4: Anschließen des Ergometers
Dieser Schritt lässt sich nicht wirklich allgemein beschreiben, da Ergometer nicht gleich Ergometer sind. Sie sind jedoch auch nicht alle unterschiedlich. Wenn Ihr Ergometer überhaupt über eine elektronische Geschwindigkeitsanzeige verfügt, muss es einen elektronischen Sensor haben, um die Umdrehungen der Pedale oder ein (möglicherweise internes) Schwungrad irgendwo zu erkennen. In vielen Fällen besteht dies einfach darin, dass ein Magnet in der Nähe eines Reed-Schalters vorbeiläuft (siehe auch unten). Bei jedem Passieren des Magneten schließt sich der Schalter und signalisiert eine Umdrehung an der Geschwindigkeitsanzeige.
Als erstes sollten Sie die Geschwindigkeitsanzeige Ihres Ergometers auf eingehende Kabel überprüfen. Wenn Sie irgendwo im Ergometer ein zweiadriges Kabel finden, haben Sie mit ziemlicher Sicherheit die Verbindung zum Sensor gefunden. Und mit etwas Glück können Sie dies einfach abziehen und mit einigen Krokodilklemmen an Ihr Arduino anschließen (ich werde Ihnen in einer Minute sagen, an welche Pins Sie anschließen müssen).
Wenn Sie jedoch ein solches Kabel nicht finden können, unsicher sind, ob Sie das richtige gefunden haben, oder es nicht trennen können, ohne etwas zu beschädigen, können Sie einfach einen kleinen Magneten an eines der Pedale kleben und einen Reedschalter am Rahmen Ihres Erogmeters befestigen, so dass der Magnet sehr dicht daran vorbeikommt. Verbinden Sie zwei Drähte mit dem Schalter und führen Sie sie zu Ihrem Arduino.
Verbinden Sie die beiden Drähte (ob Ihre eigenen oder die von einem vorhandenen Sensor) zu Arduino Gnd und Arduino Pin D2. Wenn Sie einen zur Hand haben, schließen Sie auch den 100nF-Kondensator zwischen Pin D2 und Gnd für etwas "Entprellung" an. Dies kann erforderlich sein oder auch nicht, trägt jedoch zur Stabilisierung der Messwerte bei.
Wenn Sie fertig sind, ist es an der Zeit, Ihren Arduino einzuschalten und für einen ersten schnellen Test auf das Fahrrad zu steigen. Die obere linke Zahl sollte beginnen, ein Geschwindigkeitsmaß anzuzeigen. Wenn dies nicht funktioniert, überprüfen Sie die gesamte Verkabelung und stellen Sie sicher, dass sich der Magnet nahe genug am Reedschalter befindet. Wenn die Geschwindigkeitsmessung durchweg zu hoch oder zu niedrig erscheint, passen Sie einfach die "CM_PER_CLICK"-Definition oben in der Skizze an (Hinweis: Die Skizze verwendet metrische Namen, aber es werden nirgendwo Einheiten angezeigt oder gespeichert, also ignorieren Sie dies einfach und 100.000stel Meile pro Klick liefern).
Schritt 5: Optionale Quick-Status-LEDs
Die in diesem Schritt beschriebenen LEDs sind optional, aber ordentlich: Wenn Sie beim Training ernsthaft ein Buch lesen / fernsehen möchten, möchten Sie nicht zu viel auf das Display starren müssen. Aber zwei LEDs in unterschiedlichen Farben sind im peripheren Sehen leicht zu erkennen und reichen aus, um Ihnen eine ungefähre Vorstellung davon zu geben, wie es Ihnen geht.
- Verbinden Sie die erste (rote) LED mit Pin D6 (der längere Schenkel der LED geht zum Arduino). Verbinden Sie das kurze Bein der LED über einen 220Ohms-Widerstand mit Gnd. Diese LED leuchtet auf, wenn Sie in der aktuellen Trainingsphase 10 % oder mehr unter Ihrer Bestgeschwindigkeit liegen. Es ist Zeit, sich etwas mehr zu bemühen!
- Verbinden Sie die zweite (grüne) LED mit Pin D5, wiederum mit einem Widerstand zu Gnd. Diese LED leuchtet auf, wenn Sie sich innerhalb von 1 % oder darüber Ihres besten Laufs befinden. Du machst es gut!
Sie möchten, dass die LEDs je nach Ihrer Leistung im Vergleich zu Ihrem vorherigen Lauf oder einer beliebigen Durchschnittsgeschwindigkeit aufleuchten? Nun, schließen Sie einfach einen Taster zwischen Pin D4 und Gnd an. Mit dieser Schaltfläche können Sie die Referenz zwischen "Ihrem besten Lauf", "Ihrem vorherigen Lauf" oder "Ihrer aktuellen Geschwindigkeit" umschalten. Ein kleiner Buchstabe "P" oder "C" in der unteren linken Ecke weist auf die beiden letztgenannten Modi hin.
Schritt 6: Stromversorgung Ihres Ergometer-Displays
Es gibt viele Möglichkeiten, Ihr Display mit Strom zu versorgen, aber ich möchte zwei hervorheben, die praktischer erscheinen als andere:
- Wenn Sie ein Arduino Uno oder Nano verwenden, möchten Sie es wahrscheinlich mit einer USB-Powerbank mit integrierter Batteriestandsanzeige betreiben.
- Bei Verwendung eines Arduino Pro Mini @ 3,3 V (meine Empfehlung für fortgeschrittene Benutzer) können Sie diesen entweder direkt von einem einzelnen LiPo-Akku oder drei NiMH-Zellen mit Strom versorgen. Da der ATMEGA Versorgungsspannungen bis 5,5 V toleriert, können Sie diesen direkt unter Umgehung des Bordspannungsreglers an "VCC/ACC" anschließen. In diesem Setup wird auch ohne zusätzliche Hardware eine Warnung "Batterie schwach" bei etwa 3,4 V angezeigt (wird in der unteren rechten Ecke angezeigt). Da davon ausgegangen werden kann, dass der ATMEGA korrekt arbeitet, zumindest bis zu 3,0 V oder so, sollte Ihnen dies genügend Zeit geben, um Ihre Trainingseinheit vor dem Aufladen zu beenden.
Schritt 7: Verwenden Ihres Ergometer-Displays
Schauen wir uns die verschiedenen Zahlen auf Ihrem Display genauer an. Die größere Zahl oben links ist einfach Ihre aktuelle Geschwindigkeit und die größere Zahl oben rechts ist die Gesamtdistanz in Ihrem aktuellen Training.
Die nächste Zeile ist Ihre Durchschnittsgeschwindigkeit seit Trainingsbeginn (links) und die Zeit seit Trainingsbeginn (rechts). Beachten Sie, dass die Zeitmessung angehalten wird, während das Fahrrad angehalten ist.
Soweit so trivial. Interessant wird es bei den beiden weiteren Zeilen auf der rechten Seite: Diese vergleichen Ihr aktuelles Timing mit Ihrem bisherigen bzw. besten Training. D.h. ein "- 0:01:23" oben in diesen Zeilen bedeutet, dass Sie Ihre aktuelle Distanz 1 Minute und 23 Sekunden früher als bei Ihrem vorherigen Lauf erreicht haben. Gut. Eine untere Zeile von "+ 0:00:12" bedeutet, dass Sie bis zum aktuellen Punkt 12 Sekunden hinter Ihrem besten Lauf zurückbleiben. (Beachten Sie, dass diese Differenzzeiten nicht 100% genau sind. Zeitpunkte werden alle 0,5 km / Meilen gespeichert und dazwischen interpoliert.) Natürlich wurden bei Ihrem ersten Lauf noch keine Zeitreferenzen aufgezeichnet, und also zeigen beide der obigen Zeilen nur "--:--:--".
Schließlich enthält der untere linke Bereich des Displays eine Grafik Ihrer Geschwindigkeit über die letzte Minute. So sehen Sie auf einen Blick, ob Sie stabil fahren oder langsamer fahren. (Beachten Sie, dass diese Linie im echten Training viel glatter ist - aber es ist einfach nicht einfach, ein gleichmäßiges Tempo beizubehalten, während Sie versuchen, ein Foto zu machen…) Horizontale Linien zeigen die vorherige / beste Geschwindigkeit an, die Sie in der Nähe des aktuellen Punktes Ihres vorherigen erreicht haben Schulungen.
Die oben angebrachten LEDs vergleichen Ihre aktuelle Geschwindigkeit mit Ihrer besten Geschwindigkeit während dieser Trainingsphase. Grün zeigt an, dass Sie innerhalb von 1 % Ihrer Bestleistung sind, Rot zeigt, dass Sie mehr als 10 % langsamer sind als Ihr bestes Training. Wenn Sie das rote Licht sehen, ist es Zeit, sich etwas mehr zu bemühen. Beachten Sie, dass sich diese im Gegensatz zu den oben beschriebenen Differenzzeiten nur auf den aktuellen Teil des Trainings beziehen, d.h. Sie sind in der absoluten Zeit möglicherweise im Rückstand, aber grün zeigt, dass Sie aufholen und umgekehrt.
Die für die beiden LEDs verwendete Referenzgeschwindigkeit kann mit dem Taster geändert werden. Ein Druck schaltet vom besten auf das vorherige aufgezeichnete Training um (ein kleiner Buchstabe "P" wird unten links angezeigt). Ein weiterer Druck und Ihre aktuelle Geschwindigkeit zum Zeitpunkt des Tastendrucks wird zur neuen Referenzgeschwindigkeit (ein kleiner Buchstabe "C" wird angezeigt). Letzteres ist besonders beim ersten Training mit Ihrem neuen Ergometer-Display praktisch, wenn noch keine Referenz aufgezeichnet wurde.
Wenn Sie mit Ihrem Training fertig sind, trennen Sie einfach die Batterie. Ihr Training wurde bereits im internen EEPROM Ihres Arduino gespeichert.
Wie Sie sehen können, habe ich meinen Prototyp gelötet. Sicheres Zeichen, dass mir das Ergebnis selbst gefallen hat. Ich hoffe, Sie finden es auch nützlich. Viel Spaß beim Trainieren!
Empfohlen:
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
Erstellen Sie eine Raumstation in TinkerCad Codeblock--Einfaches Tutorial: 7 Schritte (mit Bildern)
Erstellen Sie eine Raumstation in TinkerCad Codeblock||Einfaches Tutorial: Während der Gedanke, im Weltraum zu leben, wie Science-Fiction erscheinen mag, umkreist die Internationale Raumstation die Erde mit einer Geschwindigkeit von fünf Meilen pro Sekunde, während Sie dies lesen, und umkreist die Erde einmal alle 90 Minuten. In diesem Projekt lernen Sie
Einfaches POV erstellen: 6 Schritte (mit Bildern)
How to Make Simple POV: Hiii, heute bin ich zurück mit einem interessanten Projekt LED POV (Persistence of Vision) Mit diesem Projekt können Sie einen Namen mit 5 Buchstaben anzeigen sind anfänger mit arduino dann sollten sie defi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E
Machen Sie ein einfaches Bewegungssensor-Licht! (PIR): 13 Schritte (mit Bildern)
Machen Sie ein einfaches Bewegungssensor-Licht! (PIR): Machen Sie eine kleine & Einfaches Bewegungssensorlicht mit weniger Aufwand und weniger Komponenten. Ein Anfänger könnte dies auch machen. Ein einfaches Verständnis der Funktionsweise von Transistoren und Kenntnisse über Anode und Kathode sind nur erforderlich, um es spannungsfrei zu machen