Sommario:

Percorsi luminosi (insegnamento MST): 5 passaggi
Percorsi luminosi (insegnamento MST): 5 passaggi

Video: Percorsi luminosi (insegnamento MST): 5 passaggi

Video: Percorsi luminosi (insegnamento MST): 5 passaggi
Video: Puntura d’ape 2024, Dicembre
Anonim
Percorsi luminosi (insegnamento MST)
Percorsi luminosi (insegnamento MST)

Lo scopo di Bright Paths è insegnare agli studenti gli alberi di copertura minima (MST). Il nodo A è la sorgente e tutti gli altri nodi hanno un certo peso (costo) per raggiungerli. Questo sussidio didattico mostra quel costo oscurando ogni nodo, a seconda del costo per quel nodo. Ho intenzione di parlare dei nodi come se fossero negozi che necessitano di consegne e a seconda del percorso che si fa, il costo della luce (peso) sarà troppo alto. Il risultato di questo è un LED che è fioco o spento a seconda del peso. Nel complesso, un ottimo modo per semplificare questo problema per gli studenti. Questo problema è anche conosciuto come il problema del commesso viaggiatore.

Passaggio 1: strumenti e forniture

Strumenti e forniture
Strumenti e forniture

Forniture

  • Foamcore per sostenere il tuo MST
  • Alcuni cavi jumper per collegare il tuo beadboard all'MST
  • Alcuni ponticelli per collegare Arduino alla breadboard
  • Otto LED, dello stesso colore, per rappresentare i nodi
  • Otto resistori da 220ohm per i LED
  • Un Arduino per controllare le Luminosità
  • Un registro a scorrimento per ottenere più uscite PWM

Utensili

  • Pistola per colla a caldo per tenere i LED
  • Forniture artistiche per disegnare il MST
  • Computer per la programmazione

Passaggio 2: disegno e LED per l'MST

Disegno e LED per il MST
Disegno e LED per il MST
Disegno e LED per il MST
Disegno e LED per il MST
Disegno e LED per il MST
Disegno e LED per il MST
  1. Ne ho stampato uno da un mio vecchio libro di testo e ho praticato dei buchi, attraverso i nodi sulla stampa, sul nucleo di schiuma.
  2. Ho disegnato i bordi con i rispettivi pesi sul foamcore etichettando anche i nodi A-H.
  3. Ho spinto i LED attraverso la scheda (sopra i nodi) tenendo il pin lungo rivolto verso l'alto in modo da sapere a quale pin inviare il segnale in seguito. Inoltre, spingendo i perni verso il basso per tenerli in posizione.
  4. Incolla a caldo i LED in posizione.
  5. Metti i fili da femmina a maschio sui pin del LED. Ho fatto fili di colore più chiaro sui nostri pin alti, o quelli rivolti verso l'alto.

Passaggio 3: tagliere

tagliere
tagliere
tagliere
tagliere
tagliere
tagliere

Sparkfun ha un'ottima guida per il registro a scorrimento e puoi seguirla per tutto il cablaggio. L'unica differenza è che i LED sono collegati tramite i cavi jumper lunghi, non direttamente alla scheda. Per il mio codice, il pin 0-7 sul registro a scorrimento si allinea con AH sull'MST.

Passaggio 4: codice

Codice
Codice
Codice
Codice

Lo scopo del codice è modificare la luminosità dei LED in base ai pesi dei nodi. Nell'immagine a destra, mostra la wgtA attraverso la wgtH. Questi sono i valori che è possibile modificare per mostrare la quantità di peso su un determinato LED. La variazione di luminosità è ottenuta da:

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

Questa riga imposta il led alla massima luminosità divisa per il peso per una quantità per mantenere la luce visibile. La luminosità può quindi diminuire all'aumentare del peso e questo viene fatto per ogni LED.

Passaggio 5: problemi e futuro

Problemi e futuro
Problemi e futuro

Ho iniziato questo progetto con quattro LED blu e quattro LED verdi, ma ho riscontrato un problema durante il tentativo di confrontare le luminosità. Ho risolto questo problema trovando altri quattro blu, ma tienilo a mente quando scegli i LED. Devo anche portare Arduino, breadboard e laptop separatamente, quindi creare un contenitore per contenere Arduino e breadboard sarebbe un grande miglioramento futuro. Sarebbe anche interessante aggiungere animazioni ai LED per aiutare a visualizzare quale percorso viene preso. Nel complesso, un ottimo modo per mostrare come funzionano gli MST e non vedo l'ora di usarlo di più.

Consigliato: