Inhaltsverzeichnis:

Helle Pfade (MST unterrichten) - Gunook
Helle Pfade (MST unterrichten) - Gunook

Video: Helle Pfade (MST unterrichten) - Gunook

Video: Helle Pfade (MST unterrichten) - Gunook
Video: 22 : Zusammenfassung: Datenstrukturen, Algorithmen, Entwurfstechniken, Analysetechniken 2024, Juli
Anonim
Helle Pfade (MST unterrichten)
Helle Pfade (MST unterrichten)

Der Zweck von Bright Paths besteht darin, den Schülern Minimum Spanning Trees (MSTs) zu vermitteln. Knoten A ist die Quelle und alle anderen Knoten haben ein bestimmtes Gewicht (Kosten), um zu ihnen zu gelangen. Diese Lehrhilfe zeigt diese Kosten durch Dimmen jedes Knotens, abhängig von den Kosten für diesen Knoten. Ich plane, über die Knoten zu sprechen, als ob es sich um Geschäfte handelt, die Lieferungen benötigen, und je nach dem eingeschlagenen Weg werden die Kosten für Licht (Gewicht) zu hoch sein. Das Ergebnis ist eine LED, die je nach Gewicht entweder gedimmt oder aus ist. Insgesamt eine großartige Möglichkeit, dieses Problem für Studenten zu vereinfachen. Dieses Problem wird auch als Travelling Salesman Problem bezeichnet.

Schritt 1: Werkzeuge und Zubehör

Werkzeuge und Zubehör
Werkzeuge und Zubehör

Lieferungen

  • Foamcore zum Halten Ihres MST
  • Einige Überbrückungsdrähte zum Verbinden Ihres Beadboards mit dem MST
  • Einige Jumper-Drähte zum Verbinden des Arduino mit dem Steckbrett
  • Acht gleichfarbige LEDs zur Darstellung von Knoten
  • Acht 220 Ohm Widerstände für die LEDs
  • Ein Arduino zur Steuerung der Helligkeiten
  • Ein Schieberegister, um mehr PWM-Ausgänge zu erhalten

Werkzeuge

  • Heißklebepistole zum Halten der LEDs
  • Künstlerbedarf zum Zeichnen des MST
  • Computer zum Programmieren

Schritt 2: Zeichnung und LEDs für den MST

Zeichnung und LEDs für den MST
Zeichnung und LEDs für den MST
Zeichnung und LEDs für den MST
Zeichnung und LEDs für den MST
Zeichnung und LEDs für den MST
Zeichnung und LEDs für den MST
  1. Ich habe eines aus einem alten Lehrbuch von mir ausgedruckt und Löcher durch die Knoten auf dem Druck in den Schaumstoffkern gestochen.
  2. Ich zeichnete die Kanten mit ihren jeweiligen Gewichten auf den Schaumstoffkern und beschriftete auch die Knoten A-H.
  3. Ich schob die LEDs durch die Platine (oben auf den Knoten) und hielt den langen Pin nach oben, damit ich wusste, an welchen Pin ich das Signal später senden sollte. Drücken Sie auch die Stifte nach unten, um sie in Position zu halten.
  4. Heißkleben Sie die LEDs an Ort und Stelle.
  5. Setzen Sie die weiblichen zu männlichen Drähten auf die LED-Pins. Ich habe hellere Drähte an unseren hohen Stiften oder den nach oben zeigenden Drähten gemacht.

Schritt 3: Steckbrett

Steckbrett
Steckbrett
Steckbrett
Steckbrett
Steckbrett
Steckbrett

Sparkfun hat eine großartige Anleitung für das Schieberegister und Sie können diese für die gesamte Verkabelung befolgen. Der einzige Unterschied besteht darin, dass die LEDs durch die langen Jumperkabel verdrahtet werden, nicht direkt auf der Platine. Für meinen Code Pin 0-7 auf der Schieberegisterlinie mit A-H auf dem MST.

Schritt 4: Code

Code
Code
Code
Code

Der Zweck des Codes besteht darin, die Helligkeit der LEDs basierend auf den Gewichten der Knoten zu ändern. Im Bild rechts zeigt es die wgtA bis wgtH. Dies sind die Werte, die Sie ändern können, um das Gewicht einer bestimmten LED anzuzeigen. Die Helligkeitsänderung wird erreicht durch:

sr.set(ledA, 255/wgtA*1.1)

Diese Zeile stellt die LED auf die maximale Helligkeit geteilt durch das Gewicht mal einen Betrag ein, um das Licht sichtbar zu halten. Die Helligkeit kann dann mit zunehmendem Gewicht sinken und dies wird für jede LED durchgeführt.

Schritt 5: Probleme und Zukunft

Probleme und Zukunft
Probleme und Zukunft

Ich begann dieses Projekt mit vier blauen LEDs und vier grünen LEDs, aber beim Versuch, Helligkeiten zu vergleichen, stieß ich auf ein Problem. Ich habe dies behoben, indem ich vier weitere blaue gefunden habe, aber behalte dies bei der Auswahl von LEDs im Hinterkopf. Ich muss auch das Arduino, das Steckbrett und den Laptop separat tragen, so dass ein Gehäuse zum Halten des Arduino und des Steckbretts eine große zukünftige Verbesserung wäre. Es wäre auch cool, den LEDs Animationen hinzuzufügen, um zu visualisieren, welcher Weg eingeschlagen wird. Insgesamt eine großartige Möglichkeit, zu zeigen, wie MSTs funktionieren, und ich freue mich darauf, sie mehr zu verwenden.