Home > Technologie > Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

0
Advertisement

Interaktive LED-Matrix von Intel Galileo

Erstellen Sie eine interaktive 8x8 LED Matrix und senden Sie Bilder von überall auf der Welt angezeigt werden!

In diesem Projekt verwenden wir eine Intel Galileo-Platine, die Intel hat uns großzügig zur Verfügung gestellt (sie geben eine Menge von denen für Unis weltweit). Der Intel Galileo scheint ein großes Gerät für den Job zu sein, da es ein Linux-System mit integriertem Ethernet mit einem Arduino kombiniert

Wir haben dieses interaktive Projekt im Rahmen unseres Kurses, Multimodal Medien Madness - Personal Fabrication an der RWTH Aachen, Deutschland. Es besteht aus zwei Hauptelementen, dem Intel Galileo mit der LED-Matrix und einer serverseitigen Anwendung. Auf dem Server läuft eine einfache Zeichnung Anwendung, so dass jeder, der Zugriff auf die Website kann Bilder zeichnen, und Ihre LED-Matrix zeigt sie!

Eine laufende Version der Zeichnung App kann wahrscheinlich immer noch zu finden unter ben.jycomputer.com/galileo

Schritt 1: Sammeln Sie Materialien

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Für dieses Instructable benötigen Sie:

  • 8x8 LED - Matrix ( RGB FULL COLOR MATRIX, 6 * 6cm, 8 * 8 DOTS, C + )
  • Intel Galileo Board (wir haben ein Gen 2 Board, aber ein Gen 1 Board sollte fein sein)
  • High Voltage Source - Treiber / Transistor ( TOSHIBA Bipolar Digital - Integrated Circuit Silicon Monolithic TD62783APG )
  • 8 - Bit - Verschiebung egister ( M74HC595B1R )
  • Brotscheibe
  • 8 * 10Ω Widerstände
  • Viele Breadboard Jumper Wires (Versuch, mindestens 5 verschiedene Farben zu erhalten, wird dies die Verdrahtung viel einfacher.)
  • Ein Standard-Netzwerkkabel (zum Verbinden des Galileo mit dem Internet, nicht gezeigt)
  • Ein Webserver mit PHP installiert - sogar ein Himbeer-PI sollte gut funktionieren

Schritt 2: Installieren Sie das LED-Matrix- und Bitschieberegister

Interaktive LED-Matrix von Intel Galileo

Installieren Sie die 8x8 LED Matrix auf dem Breadboard. Haben Sie die Seite mit Text auf die linke Seite des Breadboard. Die LED-Matrix hat zwei Sätze von 16 Pins. Die Pins für die Vcc der LEDs befinden sich auf der Säule und die Pins für die grünen LEDs sind auf der Reihe nach rechts, die Pins für die blauen und roten sind auf den Zeilen nach links.

Platzieren Sie den Hochspannungsquellentreiber in der Nähe der rechten Seite der 8x8 LED Matrix.

Schritt 3: Verbinden Sie den Hochspannungstreiber mit der Matrix

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Schließen Sie das High Voltage Source - Treiber (HVSD) an die Pins der Vcc Spalten der 8x8 LED - Matrix . Ausgang 1 geht auf LED Pin 32, Ausgang 2 auf Pin 31 und so weiter.

Beachten Sie, dass die Säulenstifte wie die beiden äußersten Sätze von 4 Pins (Pins 17 bis 20 und 29 bis 32) auf einer Seite der Matrix sind. Um sicherzustellen, welche Seite dieses ist, beziehen Sie bitte sich auf das Datenblatt. Pin1 ist als das auf der Unterseite der Matrix markiert.

Stellen Sie eine Verbindung von den Hochspannungsquellentreibern VCC und GND zu den entsprechenden Balken auf Ihrem Brotbrett her.

Schritt 4: Verbinden Sie den HVSD mit dem Galileo

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Zum Verbinden der Eingangspins des Hochspannungsquellentreibers mit den Ausgangspins des Galileo.

  • Galileo Ausgang 6 schließt an HSVD Eingang 1 an
  • Galileo Ausgang 5 schließt an HSVD Eingang 2 an
  • Galileo Ausgang 8 verbindet mit HSVD Eingang 3
  • Galileo Ausgang 9 schließt an HSVD Eingang 4 an
  • Galileo Ausgang 10 verbindet den HSVD Eingang 5
  • Galileo Ausgang 11 schließt an HSVD Eingang 6 an
  • Galileo Ausgang 12 ist mit HSDV Eingang 7 verbunden
  • Galileo Ausgang 13 schließt an HSVD Eingang 8 an

Nehmen Sie die Verbindungen wie in der Beschreibung. Im Bild muss das Kabel von Pin 7 zum Pin 5 gehen.

Hinweis: Aufgrund von einigen noch ungelösten Problemen mit Pin 7, die Flimmern verursacht haben, mussten wir pin7 zu Pin 5 neu zuordnen. Die Skizze, die Sie zum Galileo hochladen, kümmert sich schon um diese Neuzuordnung.

Verbinden Sie die GND- und 5V-VCC-Stifte des Galileo mit den entsprechenden Stäben Ihres Brotes

Schritt 5: Schützen Sie die LEDs

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Zum Schutz der LEDs 10 Ohm-Widerstände an die LED-Pins anschließen (Bei Verwendung der ROTEN LEDs müssen die Pins 1 bis 8 angeschlossen werden). Am Ende jedes Widerstandes stecken Sie ein Kabel, das mit dem 8-Bit-Schieberegister verbunden wird.

Hinweis: Wenn Sie eine andere LED-Matrix verwenden, werden Sie wahrscheinlich brauchen andere Widerstände, so dass es immer noch leuchtet hell.

Schritt 6: Verbinden Sie die LEDs mit dem Schieberegister

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Verbinden Sie alle Ausgänge des 8-Bit-Schieberegisters (Q0 bis Q7) mit den anderen Enden der Widerstände. Wenn Sie die roten LEDs wie wir verbinden möchten, müssen Sie Q0 an Pin8, Q1 an Pin7 und so weiter anschließen.

Beachten, dass ein Ausgang des Schieberegisters ist nicht auf der gleichen Seite wie die anderen (wie in der detaillierten Data Sheet )

Schritt 7: Schließen Sie das Schieberegister an den Galileo an

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Um die notwendigen Verbindungen herzustellen, um die Daten in das Schieberegister zu schieben, schließen Sie an:

  • Datenpin: DS (oder SI) vom ShiftRegister zu Digital 2 auf dem Galileo (Bild Gelb)
  • Clock Pin: SHCP (oder SCK) vom ShiftRegister zu Digital 3 auf dem Galileo (Picture Blue)
  • Latch-Pin (zum Auslösen des Schieberegisters): STCP (oder RCK) vom ShiftRegister zu Digital 4 auf dem Galileo (Picture Black)

Schritt 8: Einrichten Ihres Galileos

Die Instructable Galileo - Getting Started sollte Ihnen helfen, sich mit dem Galileo. Vielleicht wollen Sie auch auf Linux auf der microSD - Download , wie es die Skizze ermöglicht automatisch gestartet , sobald der Galileo wird eingeschaltet. Intel Website eine Tonne von Ressourcen hat auch, aber es ist irgendwie versteckt.

Schritt 9: Laden Sie den Code auf den Galileo

Interaktive LED-Matrix von Intel Galileo

Um das Leben in Ihre LED-Matrix zu integrieren, kopieren und fügen Sie unseren Code in die Arduino IDE ein und führen ihn aus. Sie können auch die .ino-Datei unten herunterladen. Der Code verwendet Interrupts, um das Shift Register zu füllen und die spezifischen LEDs zu leuchten. Auch der Befehl "popen" dient zur Kommunikation zwischen der zugrunde liegenden Linux-Shell und unserer Skizze. Die Binärdatei, die sie vom Server erhält, wird mit curl heruntergeladen.

HINWEIS: Natürlich müssen Sie die URL auf Ihren eigenen Server ändern.

  #include <timerone.h> int on = 0;  Int last_on = 0;  Int datapin = 2;  Int clockpin = 3;  Int Latchpin = 4;  Byte-Daten [8];  FILE * fp;  Char input [10];  Void setup () {// Initialisieren Sie den digitalen Pin als Ausgang.  // Pin 13 hat eine LED, die auf den meisten Arduino Karten PinMode (13, OUTPUT) angeschlossen ist;  PinMode (12, AUSGANG);  PinMode (11, AUSGANG);  PinMode (10, AUSGANG);  PinMode (9, AUSGANG);  PinMode (8, AUSGANG);  PinMode (7, AUSGANG);  PinMode (6, AUSGANG);  PinMode (5, AUSGANG);  PinMode (4, AUSGANG);  PinMode (3, AUSGANG);  PinMode (2, AUSGANG);  PinMode (1, AUSGANG);  PinMode (0, AUSGANG);  Timer1.initialize (1000);  // Die Timerperiode beträgt 100000 Sekunden, dh 0,1 Sekunden Timer1.attachInterrupt (timerIsr, 1000);  // Der Callback wird bei jedem 5. Timer-Interrupt aufgerufen, dh alle 0,5 Sek. // initLED ();  Data [0] = 0b00000111;  Data [1] = 0b00000001;  Daten [2] = 0b11100111;  Daten [3] = 0b10110001;  Daten [4] = 0b10101011;  Daten [5] = 0b10101000;  Daten [6] = 0b10101000;  Daten [7] = 0b10101000;  Serial.begin (115200);  } Void loop () {// SWAP DIE URL PLEASE fp = popen ( "curl BITTE HIER EINLEITEN / galileo / picture.txt", "r");  If (fp == NULL) {Serial.println ( "Konnte den curl-Befehl nicht ausführen");  } Else {fgets (input, 10, fp);  } If (pclose (fp)! = 0) {Serial.println ( "fail");  } Daten [0] = (Byte) Eingabe [1];  Daten [1] = (Byte) Eingang [2];  Daten [2] = (Byte) Eingabe [3];  Daten [3] = (Byte) Eingabe [4];  Daten [4] = (Byte) Eingabe [5];  Daten [5] = (Byte) Eingabe [6];  Daten [6] = (Byte) Eingabe [7];  Daten [7] = (Byte) Eingabe [8];  Verzögerung (3000);  } /// -------------------------- /// Benutzerdefinierte ISR-Timer-Routine /// ---------- ---------------- void timerIsr () {if (on == 6) on = 8;  DigitalWrite ((13-last_on), LOW);  DigitalWrite (Latchpin, LOW);  Wenn (auf == 8) shiftOut (datapin, clockpin, MSBFIRST, ~ data [6]);  Sonst shiftOut (datapin, clockpin, MSBFIRST, ~ data [on]);  DigitalWrite (Latchpin, HIGH);  DigitalWrite ((13-on), HIGH);  DigitalWrite ((13-last_on), LOW);  Last_on = on;  Wenn (on == 8) on = 6;  Auf = (auf + 1)% 8;  aufrechtzuerhalten.

Schritt 10: Richten Sie die Serverseite ein und verbinden Sie den Galileo

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Interaktive LED-Matrix von Intel Galileo

Auf dem Server läuft eine einfache PHP-Skript, das eine schöne Zeichnung Schnittstelle bietet. Das Bild wird auf binär konvertiert und in der Datei picture.txt gespeichert, die das Galileo herunterladen.

Sie benötigen eine Art von Webserver-Setup mit PHP installiert. Verwenden Sie einfach eines dieser handlichen Lehrmaterialien, wenn Sie nicht bereits eine haben!

Setzen Sie einfach die Datei index.php auf Ihren Server. (Entfernen Sie zuerst die .txt-Erweiterung.) Vielleicht möchten Sie es auf so etwas wie galileo.php umbenennen, wenn der Ordner bereits eine Index-Datei * hat.

Vergessen Sie nicht, eine leere Textdatei namens "picture.txt" zu erstellen, die der Benutzer "www-data" (oder was auch immer der Benutzer Ihren Webserver betreibt - Achtung: Dies ist normalerweise nicht der gleiche Benutzer, der den Server eingerichtet hat!) Lesen können Und schreiben Sie in. Der einfachste Weg (auf einer Linux-Shell) ist:

  $ Cd /path/to/index.php $ touch picture.txt $ sudo chown www-data picture.txt

Starten Sie den Galileo, führen Sie die Skizze aus und verbinden Sie sie mit dem Internet.

Jetzt nur die php-Datei in Ihrem Web-Browser der Wahl durchsuchen und starten Zeichnung. Es funktioniert sogar auf mobilen Geräten!

Related Reading