Inhaltsverzeichnis:

ELEGOO Kit Lab oder wie ich mein Leben als Entwickler einfacher mache - Gunook
ELEGOO Kit Lab oder wie ich mein Leben als Entwickler einfacher mache - Gunook

Video: ELEGOO Kit Lab oder wie ich mein Leben als Entwickler einfacher mache - Gunook

Video: ELEGOO Kit Lab oder wie ich mein Leben als Entwickler einfacher mache - Gunook
Video: Der VERGLEICH von den verschiedenen "Preisklassen" - FDM 3D-Druck | Wann welche Preisklasse? 2024, Juli
Anonim
ELEGOO Kit Lab oder Wie ich mein Leben als Entwickler einfacher mache
ELEGOO Kit Lab oder Wie ich mein Leben als Entwickler einfacher mache

Ziele des Projekts

Viele von uns haben Probleme mit dem Mock-up rund um die UNO-Controller. Oft wird die Verdrahtung von Komponenten bei vielen Komponenten schwierig. Andererseits kann die Programmierung unter Arduino komplex sein und viele Codezeilen erfordern. Das hier beschriebene Projekt soll das Mock-up deutlich erleichtern. Dieses Projekt basiert auf und verwendet fast 80% der Komponenten des "ELEGOO Super Starter Kit UNO R3".

Die Ziele dieses Projekts sind:

- Die Schaffung eines technischen Busses, der die gleichzeitige Verwendung von bis zu vier Steckbrettern ermöglicht.

- Die Erstellung eines Referenzprogramms als Grundlage für zahlreiche Baugruppen.

- Die Schaffung von Funktionen, die die Lesbarkeit der Programmierung erleichtern.

- Die Montage des LCD-Displays in I2C.

Alle Projektdateien können hier heruntergeladen werden.

Schritt 1: Der Prototyping-Bus

Der Prototyping-Bus
Der Prototyping-Bus

Die Komponenten:

  • Mehradriges Flachbandkabel mit 40 Adern (35cm).
  • Anschlüsse für 40-poliges Flachbandkabel (5).
  • 40-poliger PCB-Stecker, männlich-männlich.
  • Optionale Steckbretter in halber Größe (2).

Aus dem ELEGOO-Kit:

  • Die Controllerplatine.
  • Das Erweiterungsboard.
  • Steckbretter (2).

Die Montage ist einfach durchzuführen:

Montieren Sie die fünf Stecker am Flachbandkabel. Vier Stecker werden mit dem Steckerteil nach oben und ein Stecker mit dem Steckerteil nach unten befestigt. Dieser Stecker wird später auf die Erweiterungsplatine gesteckt.

Montieren Sie die beiden PCB-Steckverbinder parallel auf der Erweiterungsplatine, um den Stecker des Flachbandkabels aufzunehmen.

Löten Sie die Pins auf der Unterseite der Platine mit den Input/Output-Pins der UNO-Erweiterungsstecker.

Stecken Sie die Erweiterungsplatine auf den UNO-Controller und stecken Sie dann den Flachbandkabelstecker ein.

Nach der Montage stehen alle Signale des Controllerboards an den vier Anschlüssen des Flachkabels zur Verfügung.

Das Ergebnis ist ein Erweiterungsbus, der wie im Bild gezeigt bis zu vier Steckbretter aufnehmen kann.

Eine bestimmte Anzahl von Pins wird auf der Erweiterungsplatine nicht verbunden (ich habe sie in Kleinbuchstaben geschrieben) und sind verfügbar. Sie können verwendet werden, um Stromkreise zwischen den Steckbrettern zu verbinden.

Schritt 2: Erster Zusammenbau: das LCD-Display in I2C

Erster Zusammenbau: das LCD-Display in I2C
Erster Zusammenbau: das LCD-Display in I2C

Das LCD-Display LCM1602/HD44780 verfügt über viele Verknüpfungen. Der direkte Anschluss an den UNO-Controller reduziert die Möglichkeit, andere Komponenten anzuschließen.

Aus diesem Grund habe ich einen PCF8574-Chip hinzugefügt, um die Anzahl der Links mithilfe des I2C-Protokolls auf 2 zu reduzieren.

Die Komponenten:

  • Ein 16-poliger Stecker-zu-Stecker-PCB-Steckverbinder.
  • Eine 2x8cm ELEGOO Lötplatine
  • Ein PCF8574-Chip.
  • Ein 4-poliger Stecker mit seinem PCB-Teil.

Die Komponenten des ELGOO-Kits:

  • Das LCD-Display
  • Das 10k Potentiometer

Die Versammlung:

Die Baugruppe wird auf dem Prototyping-Bus getestet und anschließend auf die Lötplatte geschweißt. Dieses Display kann zur einfachen Verwendung in anderen Projekten einfach hinzugefügt werden.

Schritt 3: Programmierung

Programmierung
Programmierung

Ziel des Programms ist es, die Arbeit bei der Entwicklung neuer Projekte zu vereinfachen.

Das Programm besteht aus mehreren Teilen:

- Der deklarative Teil mit Einbeziehung von Bibliotheken und Konstanten. Dieser feste Teil wird allen Tests der verschiedenen Komponenten gemeinsam sein. (B, C)

- Der Entwicklungsteil, der die Sequenzen "Setup" und "Loop" enthält. (D)

- Der Funktionsteil, der drei davon gruppiert (A). Diese Funktionen werden im Folgenden beschrieben.

Das Verzeichnis "0-My_ELEGOO_soft_build" enthält fünf Dateien, die zusammen im selben Ordner aufbewahrt werden sollen:

  • "0-My_ELEGOO_soft_build.ino".
  • "1-My_LCD_function.ino".
  • "2-My_IR_function.ino".
  • "3-My_Output_port_extension.ino".
  • "Einige Beispiele.rtf"

Durch Öffnen der Datei " 0-My_ELEGOO_soft_build.ino " öffnet Arduino auch die anderen Dateien (.ino). Alle Dateien werden angezeigt und können geändert werden.

Die Datei "Some samples.rtf" enthält einige Beispiele für einfache Programme, die die Funktionen verwenden.

Schritt 4: Verschiedene Funktionen

Verschiedene Funktionen
Verschiedene Funktionen

Die LCD-Steuerung

Der Zweck dieser Funktion besteht darin, die Anzeige von Informationen auf dem LCD mit einem einzigen Befehl zu vereinfachen. Dieser Befehl wird in den Abschnitten void setup und void loop verwendet. Es zeigt auch, wie eine Funktion erstellt wird.

Diese Funktion wird von lcdw(par1, par2, par3, par4, par5) aufgerufen;

  • par1 gibt die gewünschte Unterfunktion an.
  • par2 zeigt die Zeilennummer auf dem Display an (0 oder 1).
  • par3 gibt die Spaltennummer in der Displayzeile an (0 bis 15).
  • par4 enthält den anzuzeigenden Text.
  • par5 enthält einen anzuzeigenden numerischen Wert.

Beispiele sind:

lcdw(0, 0, 0, "", 0); initialisiert die Anzeige. Nur dieser Anruf muss im Einrichtungselement „Void“platziert werden.

lcdw(1, 1, 5, "HALLO WELT", 0); zeigt den Text in der zweiten Zeile ab Position 6 an.

lcdw(1, 1, 5, "HALLO WELT", 25); zeigt den Text "HELLO WORLD 25" in der zweiten Zeile ab Position 6. lcdw(1, 0, 0, """, 25) zeigt "25" in der ersten Zeile ab Position 1 an.

lcdw(2, 0, 0, "", 0); löscht die Anzeige.

Diese Funktion ist recht einfach und kann nach Ihren Wünschen ergänzt werden.

Die Infrarotschnittstelle und ihre Fernbedienung

Der Zweck dieser Funktion besteht darin, die Verwendung des Infrarotsensors mit seiner Fernbedienung zu erleichtern. Diese Funktion wird aufgerufen durch tst = IRrec(par1);

par1 gibt die gewünschte Unterfunktion an. 0 zum Initialisieren des Sensors, 1 zum Empfangen und Decodieren der auf der Fernbedienung gedrückten Taste. In der Variablen tst. wird ein dem Namen des Schlüssels entsprechender Text zurückgegeben

Erhöhung der Anzahl digitaler Türen

Ziel ist es, den 74HC595-Chip zu verwenden, um die Anzahl der digitalen Ausgangspins zu erhöhen. Die Schaltung verwendet 3 UNO-Pins als Eingang und bietet 8 Binärgatter als Ausgang. Wir werden zwei Funktionen verwenden. Das physikalische Anschlussdiagramm wird im nächsten Abschnitt beschrieben.

Die Schaltung besteht aus zwei Registern mit 8 Positionen (ein Register intern im Ino-Programm und ein weiteres in der Schaltung enthalten). Die Aktualisierung erfolgt in zwei Schritten. Zunächst können Werte im internen Register geändert werden (mit der Funktion setExtPin). Dann wird das interne Register in die Schaltung kopiert (mithilfe der Expin-Funktion).

Erweitern (par1);

Par1: 0 für die Initialisierung des Chips. 1, um alle Ausgangsgates auf LOW zu setzen. 2, um das interne Register auf den 74hc595-Chip zu kopieren

setExtPin(par1, par2);

  • par1: die Nummer der zu ändernden Tür (0-7).
  • par2: der gewünschte Türstatus (LOW oder HIGH).

Schritt 5: Beispiele für BUS-Nutzung, Programm und Beispiele

Beispiele für BUS-Verwendung, Programm und Beispiele
Beispiele für BUS-Verwendung, Programm und Beispiele

Um die in diesem Projekt beschriebenen Elemente zu harmonisieren, schlage ich einige Beispiele vor.

Diese Beispiele finden Sie in der Datei " Some samples.rtf ".

Die Verdrahtung der Komponenten ergibt sich aus den obigen Diagrammen. Das Projekt wurde so konzipiert, dass viele Komponenten gleichzeitig verwendet werden können.

Um ein Modell zu verwenden, müssen Sie nur:

- Verdrahten Sie die gewünschten Komponenten auf dem Steckbrett.

- Den entsprechenden Teil der Datei "Some samples.rtf" in den Programmteil (D) kopieren und in die Steuerung übersetzen/hochladen.

Sie werden feststellen, dass diese Vorlagen nicht viele Codezeilen enthalten. Dies soll die Programmierung erleichtern.

Das Programm lädt beim Kompilieren nur die verwendeten Funktionen. Der Ausgabecode ist optimiert.

Andererseits erleichtert der Hardwarebus mit seiner Fähigkeit, mehrere Steckbretter zu verwenden, die Montage erheblich.

Für dieses Projekt wurden alle Komponenten auf mehreren Steckbrettern miteinander verdrahtet. Das LCD-Display wurde an das UNO-Erweiterungsboard angeschlossen.

Dies ermöglicht eine einfache Kombination und eine schnelle Montage der Komponenten. Dank der kurzen Verdrahtungsdrähte ist das ganze Gerät optisch ansprechend.

Bei der Modellierung Ihrer Projekte können Sie jetzt Ihrer Fantasie freien Lauf lassen.

Genieß es!

Empfohlen: