Inhaltsverzeichnis:
- Schritt 1: Erforderliche Teile
- Schritt 2: Schnittstelle erstellen
- Schritt 3: Projektressourcen
- Schritt 4: Bilder importieren
- Schritt 5: GUI erstellen
- Schritt 6: Seite 0-Startbildschirm
- Schritt 7: Seite 1 - Schrittmotorsteuerung
- Schritt 8: Seite 2 - Schrittmotorklavier
- Schritt 9: Debuggen
- Schritt 10: ARDUINO-SETUP
- Schritt 11: Finalisieren + Schaltpläne
Video: Songs mit Schrittmotor abspielen !! - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
In diesem Projekt geht es darum, eine einfache dynamische Schnittstelle zu entwerfen, die es ermöglicht, auf zwei verschiedene Arten mit einem Schrittmotor zu interagieren.
Die erste Schnittstelle steuert die Richtung und Geschwindigkeit des Schrittmotors durch die Verwendung einer einfachen GUI, die Links- und Rechtspfeile für die Richtung und Auf- und Abwärtspfeile für die Geschwindigkeit hat.
Die zweite Schnittstelle wird musikalischer Natur sein, die es ermöglicht, einfache Lieder mit den Rotationsgeräuschen des Schrittmotors abzuspielen.
Schritt 1: Erforderliche Teile
- Arduino UNO (oder kompatibles Board)
- Nextion Enhanced NX4827K043 von iTead Studio.
- Nextion Erweiterungsplatine für Nextion Enhanced Display
- Micro-SDHC-Karte
- SD-Kartenleser/-schreiber - um Dateien vom Computer auf die SDHC-Karte zu übertragen
- Steckbrett
- Schrittmotor (42BYGHM809)
- 100 uF KondensatorDuinotech Schrittmotortreiber (L298) - [JayCar part# XC4492].
- Externes Netzteil - z. B. Geregelte Laborstromversorgung
Schritt 2: Schnittstelle erstellen
Im ersten Schritt erstellen Sie die Schnittstellen im Nextion Editor auf Ihrem PC.
Den Nextion-Editor können Sie hier herunterladen.
Laden Sie den Nextion Editor hoch und erstellen Sie ein neues Projekt. Wenn Sie ein neues Projekt starten, müssen Sie sicherstellen, dass Sie das richtige Nextion-Gerät aus den verfügbaren Optionen auswählen. Hier wird das Gerät „Nextion Enhanced NX4827K043“verwendet.
- Wählen Sie Datei → NeuWählen Sie einen Namen für das Projekt und speichern Sie es an einer geeigneten Stelle auf der Festplatte.
-
Wählen Sie das entsprechende Nextion-Gerät aus den verfügbaren Optionen aus
Mein Gerät hat eine Bildschirmgröße von 480 x 272 Pixel
Schritt 3: Projektressourcen
Sie müssen alle Ressourcen (z. B. Bilder und Schriftarten) in Ihr Projekt importieren und dann die Oberfläche nach Ihren spezifischen Anforderungen gestalten.
Schriftarten
Es werden keine speziellen Schriftarten verwendet, aber wenn Sie Text auf das Display schreiben möchten, müssen Sie im Nextion-Editor eine Schriftart erstellen.
A)Tools → Font Generator
- Wählen Sie die Höhe der Schriftart (zB 16).
- Wählen Sie den Schriftart-Codetyp (z. B. iso-8859-2)
- Wählen Sie aus, ob es fett sein soll oder nicht
- Wählen Sie die Schriftart, die Sie verwenden möchten (z. B. Arial)
- Wählen Sie den Abstand (z. B. 0)
- Und schließlich geben Sie dieser Schriftart einen eindeutigen Namen (z. B. Arial_16)
- Klicken Sie unten rechts im Fenster auf die Schaltfläche "Schriftart generieren".
Sobald Sie auf die Schaltfläche Schriftart generieren klicken, werden Sie aufgefordert, die Schriftart mit einer *.zi-Erweiterung zu speichern, und Sie werden automatisch gefragt, ob Sie "Generierte Schriftart hinzufügen?" zum Projekt. Wenn Sie mit der Schriftart zufrieden sind und diese Schriftart in Ihrem Projekt verwenden möchten, wählen Sie „Ja“, ansonsten wählen Sie „Nein“und beginnen erneut.
Sie können Ihrem Projekt keinen Text hinzufügen, bis Sie eine Schriftart importiert oder hinzugefügt haben. Alle Ihre Projektschriften werden im Schriftenfenster angezeigt.
**Hinweis:Jede Schriftart wird automatisch indiziert, sodass Sie bei Bedarf programmatisch auf die Schriftart verweisen können. Tatsächlich wird allen Ressourcen, die Sie Ihrem Projekt hinzufügen, eine Nummer zugewiesen und für jede hinzugefügte Ressource um eins erhöht. Bei einigen Ressourcen sehen Sie diese Nummer links neben dem Element. Z. B. In der Abbildung oben hat die Schriftart Courier einen Index von 0, während die Schriftart Arial einen Index von 1 hat. Wenn Sie eine Ressource löschen, kann sich die Indexnummer für dieses Element ändern.
Schritt 4: Bilder importieren
Auf dem Nextion Enhanced NX4827K043-Gerät muss jedes Bild 480 x 272 Pixel groß sein.
Wir werden nun die folgenden Bilder in den Nextion Editor importieren, damit wir sie im Projekt verwenden können. In der unteren linken Ecke des Nextion-Editors befindet sich das Ressourcenfenster „Fonts and Picture“:
- Wählen Sie die Registerkarte Bild
- Wählen Sie dann das „+“-Symbol
- Dadurch wird ein Dialogfeld geöffnet, in dem Sie die Bilder auswählen können, die dem Projekt hinzugefügt werden sollen. Sie können mehr als ein Bild zum Importieren auswählen.
Für Splash Screen können Sie ein beliebiges Bild nach Ihrer Wahl erstellen.
Und für Schrittmotor- und Piano-Interface können Sie das obige Bild herunterladen.
Schritt 5: GUI erstellen
Jede Ressource erhält eine ID basierend auf der Reihenfolge, in der sie hinzugefügt wird, und jede Ressource erhält automatisch einen Namen.
Sie können den Namen der Ressource oder des Objekts ändern, aber Sie können die ID nicht bearbeiten.
Drei Seiten werden so gestaltet, dass sie die oben beschriebenen Kriterien erfüllen.
Um eine Seite hinzuzufügen, wählen Sie einfach das Symbol „Hinzufügen“aus dem „Seitenfenster“. Und fügen Sie weitere Seiten hinzu, bis Sie insgesamt 3 Seiten haben (page0, page1 und page2).
Schritt 6: Seite 0-Startbildschirm
Wenn der Nextion eingeschaltet wird, wird der Begrüßungsbildschirm für 3 Sekunden angezeigt, bevor der Schrittmotor-Controller-Bildschirm angezeigt wird. Ich habe die folgenden Schritte verwendet, um den Begrüßungsbildschirm zu erstellen.
Füge das Begrüßungsbild zu Seite 0 hinzu
- Wählen Sie „Seite 0“aus dem Seitenfenster
- Wählen Sie „Bild“aus dem Toolbox-Fenster
- Doppelklicken Sie im Attributfenster auf das Attribut „pic“
- Wählen Sie das Begrüßungsbildschirmbild aus der Liste aus
- Drücken Sie die OK-Taste
2. Einen Timer zu Seite 0 hinzufügen
- Wählen Sie Timer aus dem Toolbox-Fenster
- Ändern Sie das „tim“-Attribut von 400 auf 3000 im Attributfenster
- Geben Sie im Abschnitt Benutzercode des Timer-Ereignisses „Seite Seite1“ein. Dieses Timer-Ereignis lässt Nextion nach 3 Sekunden zu Seite 1 springen.
Dieses Timer-Ereignis lässt den Nextion nach 3 Sekunden auf Seite 1 springen.
Schritt 7: Seite 1 - Schrittmotorsteuerung
Diese Seite wurde entwickelt, um die Richtung und Geschwindigkeit des Schrittmotors zu steuern. Es gibt zwei Tasten für die Richtung (links und rechts) und zwei Tasten für die Geschwindigkeit (schneller und langsamer). Und noch eine Taste, um zur nächsten Seite zu springen (d.h. die Stepper Motor Piano Seite). Diese Tasten werden auch der Nextion-Erweiterungskarte zugeordnet. Die taktilen Tasten der Erweiterungsplatine bieten eine alternative Methode zur Steuerung des Motors.
Fügen Sie das Bild des Schrittmotor-Controllers zu Seite 1 hinzu
- Wählen Sie „Seite1“aus dem Seitenfenster
- Wählen Sie „Bild“aus dem Toolbox-Fenster
- Doppelklicken Sie im Attributfenster auf das Attribut „pic“
- Wählen Sie das Bild „Stepper Motor Controller“aus der Liste
- Drücken Sie die OK-Taste
2. Fügen Sie Hotspots über jeder Schaltfläche im Bild des Schrittmotor-Controllers hinzu
a)Wählen Sie „Hotspot“aus dem Toolbox-Fenster
b) Ziehen Sie den Hotspot und ändern Sie die Größe, sodass er die Schaltfläche „Links“bedeckt
- Dies ist der Bereich, der auf das Drücken der „Linken Taste“reagiert.
- Es wird transparent sein, wenn es auf das Nextion-Board hochgeladen wird
c)Wählen Sie die Registerkarte „Touch Press Event“im Ereignisfenster
d) Deaktivieren Sie das Kontrollkästchen „Komponenten-ID senden“.
e) Geben Sie den folgenden Code in den Abschnitt „Benutzercode“des Ereignisfensters ein:
„L“drucken
f)Ändern Sie den Objektnamen des Hotspots wie folgt in „Links“:
- Wählen Sie objname aus dem Attributfenster und ändern Sie den Text von „m0“auf „Links“
- Es ist nicht zwingend erforderlich, den Namen des Hotspot-Objekts zu ändern; aber es wird später helfen.
g)Wiederholen Sie die Schritte 2a-2f für jede der anderen Tasten in der folgenden Reihenfolge und gemäß der Tabelle unten
- Rechts
- Schneller
- Langsamer
- Nächste
Der dezimale ASCII-Code für den Buchstaben „L“ist 76. Wenn das Nextion Enhanced-Display den Buchstaben L mit dem Befehl „L“an den Arduino sendet, erhält der Arduino die Zahl 76. Wenn die rechte Taste gedrückt wird, wird es erhält die Nummer 82, und so weiter. Der „Next“-Button überträgt nichts an den Arduino, er ist einfach dazu da, auf dem Nextion Enhanced-Display zur nächsten Schnittstelle zu springen, daher der Grund, warum der Benutzercode für diesen Button anders ist.
3. Ordnen Sie die Tasten der Erweiterungsplatine zu
a)Wählen Sie „page0“und dann „page1“aus dem Seitenfenster
b)Wählen Sie die Registerkarte „Ereignis vorinitialisieren“aus dem Ereignisfenster
c)Geben Sie den folgenden Code in das Feld „Benutzercode“der Registerkarte „Ereignis vorinitialisieren“ein:
- cfgpio 5, 1, Links
- cfgpio 2, 1, Rechts
- cfgpio 4, 1, Schneller
- cfgpio 3, 1, langsamer
- cfgpio 1, 1, Weiter
***Bitte beachten Sie: Zwischen cfgpio und der Zahl daneben befindet sich ein Leerzeichen, jedoch keine weiteren Leerzeichen in jeder Zeile. Wenn Sie zusätzliche Leerzeichen einfügen, wird es nicht kompiliert. Dieser Code ordnet die Schaltflächen auf der Erweiterungsplatine den Hotspot-Objekten auf Seite1 zu. Wenn beispielsweise die linke Taste (IO5) auf der Erweiterungsplatine gedrückt wird, simuliert sie die Aktionen oder Ereignisse, die mit dem Hotspot m0/Left verbunden sind. In diesem Fall wird ein Wert von „L“(76) an den Arduino gesendet.
Die IO-Nummer ist auf der Erweiterungsplatine in Klammern markiert.
Schritt 8: Seite 2 - Schrittmotorklavier
Seine Benutzeroberfläche soll wie ein Klavier aussehen und es mir ermöglichen, den Schrittmotor so zu steuern, dass er eine Note in derselben Tonart erzeugt wie die, die ich auf dem Nextion-Display drücke. Der Schrittmotor erzeugt die Note, indem er sich mit einer bestimmten Frequenz dreht.
1. Fügen Sie das Bild des Stepper Motor Piano zu Seite 2 hinzu.
- Wählen Sie „page2“aus dem Seitenfenster
- Wählen Sie „Bild“aus dem Toolbox-Fenster
- Doppelklicken Sie im Attributfenster auf das Attribut „pic“
- Wählen Sie das Bild „Stepper Motor Piano“aus der Liste
- Drücken Sie die OK-Taste
2. Fügen Sie Hotspots über jeder Taste im Bild des Stepper Motor Piano hinzu
a)Wählen Sie „Hotspot“aus dem Toolbox-Fenster
b) Ziehen und skalieren Sie den Hotspot so, dass er die „A“-Taste bedeckt. Dies ist der Bereich, der auf das Drücken der „A-Taste“reagiert. Er wird beim Hochladen auf das Nextion-Board transparent sein.
c)Wählen Sie die Registerkarte „Touch Press Event“im Ereignisfenster.
d)Geben Sie Folgendes in den Abschnitt „Benutzercode“ein
1. drucken
e)Wiederholen Sie die Schritte 2a-2d für jeden der anderen Schlüssel gemäß der folgenden Tabelle.
**Wenn die entsprechende Taste gedrückt wird, überträgt das Nextion Enhanced Board die gedruckte Nummer, gefolgt von drei 0x00-Werten. Die Abschlusswerte können ignoriert werden.
3. Die Schaltfläche „Zurück“ermöglicht es mir, zur vorherigen Schnittstelle auf dem Nextion Enhanced Board zurückzukehren.
a)Erstellen Sie einen Hotspot für die Zurück-Schaltfläche mit dem folgenden Verfahren:
- Wählen Sie Hotspot aus dem Toolbox-Fenster
- Verschieben/Größenänderung des Hotspots über die Schaltfläche „Zurück“
b)Wählen Sie das Ereignisfenster.
c) Stellen Sie sicher, dass die Registerkarte "Touch-Presse-Ereignis" ausgewählt ist
d)Geben Sie: Seite page1 in den Abschnitt Benutzercode ein
Schritt 9: Debuggen
Das Gute am Nextion Editor ist, dass Sie die Schnittstellenfunktionalität testen können, bevor Sie sie auf das Board hochladen.
- Speichern Sie das Projekt, indem Sie auf die Schaltfläche Speichern in der Taskleiste klicken
- Dann drücke den Kompilieren-Button
- Drücken Sie dann die Debug-Taste.
Ein Nextion-Emulatorfenster wird angezeigt. Dieses Fenster sollte auf die gleiche Weise wie das Nextion-Modul reagieren, nachdem die Nextion-Datei auf das Board hochgeladen wurde. Dieser Emulator ist eine großartige Möglichkeit, Ihre Benutzeroberfläche zu testen und sicherzustellen, dass sie wie erwartet aussieht und funktioniert. Nachdem ich mit der/den Schnittstelle(n) zufrieden war, habe ich die kompilierte Nextion-Datei auf eine SD-Karte übertragen:
- Drücken Sie den Kompilieren-Button
- Datei → Build-Ordner öffnen
- Wählen Sie die *.tft-Datei mit dem gleichen Namen wie das Projekt aus.
- Kopieren Sie es auf eine Micro-SDHC-Karte
- Stecken Sie die SDHC-Karte in den SD-Kartensteckplatz des Nextion-Displays
- Schalten Sie das Nextion-Board ein
Warten Sie, bis die Datei das Nextion-Board flasht, und Sie sollten eine Meldung sehen, die wie folgt aussieht:
Der nächste Schritt besteht darin, das Nextion-Board auszuschalten und die SDHC-Karte zu entfernen.
Schritt 10: ARDUINO-SETUP
Das Nextion Enhanced Display ist fertig und nun ist der Arduino an der Reihe. Der Arduino ist so programmiert, dass er serielle Nachrichten vom Nextion Enhanced-Display empfängt und den Schrittmotor basierend auf den empfangenen Buchstaben oder Zahlen steuert. Die eindeutigen Buchstaben oder Zahlen, die von der Nextion-Platine übertragen werden, ermöglichen dem Arduino zu verstehen, welche Taste gedrückt wird, und verwendet diese Zahlen oder Buchstaben, um den Codefluss zu steuern, um bestimmte Schrittmotoraktionen auszuführen.
Die SoftwareSerial-Bibliothek wird verwendet, um die serielle Kommunikation zwischen dem Arduino und dem Nextion Enhanced-Display zu ermöglichen. Die AccelStepper-Bibliothek wird verwendet, um den Prozess der Schrittmotorsteuerung zu vereinfachen.
Richten Sie eine maximale und minimale Geschwindigkeit für die Motoren und einige vordefinierte Tasten ein. Es ist möglich, den Motor über die erste Schnittstelle des Nextion-Displays zu „tunen“. Sie können dies tun, indem Sie den Motor schneller oder langsamer drehen lassen, bis Sie den gewünschten Schlüssel erreichen. Hier wird die App „Tuner T1 Free“aus dem iTunes App Store verwendet, um festzustellen, WANN der Motor eine Tonartnote erzeugt hat. Wenn der Motor eine bestimmte Notiz produzierte, notierte ich die Schrittmotorgeschwindigkeit, die im seriellen Monitorfenster gedruckt wurde. Jedes Mal, wenn die Motorgeschwindigkeit erhöht oder verringert wird, druckt der Arduino-Code die Geschwindigkeit auf das serielle Monitorfenster. Ich verwende dann diese Geschwindigkeiten, um das notes-Array im Arduino-Code zu aktualisieren. Das Array notes enthält die Schrittmotorgeschwindigkeiten, die den einzelnen Noten des Pianos entsprechen. Das Nextion-Display sendet im Wesentlichen die Indexnummer der zu spielenden Note aus dem Noten-Array auf dem Arduino, wodurch der Code vereinfacht wird, der zum Drehen des Motors mit 16 verschiedenen Geschwindigkeiten erforderlich ist.
Schritt 11: Finalisieren + Schaltpläne
Wenn alle Boards ausgeschaltet sind, besteht der nächste Schritt darin, alle erforderlichen Hardwareverbindungen zum Arduino herzustellen. Es sind zwei große Abschnitte zu berücksichtigen:
- Der Schrittmotortreiber und Motor
- Das Nextion Enhanced-Board.
Sie müssen sicherstellen, dass Sie sowohl den Schrittmotor als auch das Nextion Enhanced Board mit einer externen Stromquelle versorgen. Die Schrittmotor-Treiberplatine selbst wurde problemlos vom Arduino mit Strom versorgt, aber der eigentliche Schrittmotor benötigt eine externe Stromversorgung. Das Nextion Enhanced Board benötigt auch eine externe Stromversorgung, da es mehr Strom benötigt, als das Arduino sicher bereitstellen kann.
Notieren Sie das verwendete externe Netzteil. Ich stellte sicher, dass ich über eine ausreichend große Stromversorgung verfügte, um den Strombedarf des Projekts zu bewältigen, und nutzte die relevanten Datenblätter, um diese Anforderungen zu identifizieren. Wenn Sie planen, dieses Projekt zu replizieren, berücksichtigen Sie die spezifischen Leistungsanforderungen Ihres Motors, Ihres Motortreibers und Ihres Nextion-Displays. Der Arduino kann nur 400mA Strom vom 5V-Pin liefern. Nachdem alles angeschlossen war, schaltete ich das Nextion-Display ein und dann das Arduino. Der Schrittmotor beginnt sich automatisch zu drehen. Ich habe die erste Schnittstelle verwendet, um die Richtung und / oder Geschwindigkeit des Motors zu ändern. Bitte beachten Sie die im Arduino-Code eingestellten Höchst- und Mindestgeschwindigkeiten. Ich habe dann die Schaltfläche Weiter verwendet, um zur zweiten Schnittstelle auf dem Nextion Enhanced-Display zu springen. Die zweite Schnittstelle sieht aus wie ein Klavier. Und wenn ich eine Taste auf dem Piano-Display drücke, ändert der Motor die Geschwindigkeit entsprechend der von mir gedrückten Note.
Das war's. Jetzt sind Sie fertig.
Ich hoffe dir gefällt es
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Beeindruckend !! Schrittmotor ohne Treiber betreiben -- Neue Idee 2018: 4 Schritte (mit Bildern)
Beeindruckend !! Schrittmotor ohne Treiber betreiben || Neue Idee 2018: Hallo! In dieser Anleitung werde ich Ihnen beibringen, wie Sie einen Schrittmotor kontinuierlich mit hoher Geschwindigkeit ohne Treiberschaltung oder Arduino- oder Wechselstromversorgung betreiben. Durch Austauschen der Verdrahtungen können Sie ihn auch in beiden Taktgebern betreiben weise & gegen den uhrzeigersinn dir
التحكم بالمحرك الخطوي (Schrittmotor) بطريقة (Mikroschritt): 5 Schritte
التحكم بالمحرك الخطوي (Schrittmotor) بطريقة (Mikroschritt): في هذه المدونة اتحدث عن كيف نقوم بالتحكم بماتور خطوي عن طريق الخطوة الدقيقة وهي الطريقة المتبعة في الطابعات الثلاثية الابعاد
Linearaktuator-Schrittmotor: 3 Schritte (mit Bildern)
Linear Actuator Stepper Motor: Um die Drehbewegung des Schrittmotors in eine Linearbewegung umzuwandeln, wird der Schrittmotor mit einem Gewinde verbunden. Auf dem Gewinde verwenden wir eine Messingmutter, die sich nicht drehen kann. Bei jeder Gewindeumdrehung wird die Messingmutter in axialer Richtung verschoben
Wie man Chipmunk-Songs macht: 7 Schritte
Wie man Chipmunk-Songs macht: In Chipmunk-Songs ändern Sie Ihren Song so, dass er so klingt, als ob er von Alvin und den Chipmunks gesungen wurde