Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Scopul Căilor strălucitoare este de a învăța elevii despre copacii minimi (MST). Nodul A este sursa și toate celelalte noduri au o anumită greutate (cost) pentru a ajunge la ele. Acest ajutor didactic arată acest cost prin diminuarea fiecărui nod, în funcție de costul pentru acel nod. Plănuiesc să vorbesc despre noduri ca și cum ar fi niște magazine care au nevoie de livrări și, în funcție de calea parcursă, costul luminii (greutatea) va fi prea mare. Rezultatul este un LED care este fie slab, fie stins, în funcție din nou de greutate. În general, o modalitate excelentă de a simplifica această problemă pentru studenți. Această problemă este, de asemenea, cunoscută sub numele de Problema vânzătorului călător.
Pasul 1: Instrumente și consumabile
Provizii
- Foamcore pentru a vă menține MST-ul
- Câteva fire Jumper pentru a vă conecta placa de bordură la MST
- Câteva fire Jumper pentru a conecta Arduino la panoul de măsurare
- Opt LED-uri, de aceeași culoare, pentru a reprezenta noduri
- Opt rezistențe de 220ohm pentru LED-uri
- Un Arduino pentru a controla luminozitățile
- Un registru Shift pentru a obține mai multe ieșiri PWM
Instrumente
- Hot Glue Gun pentru a ține LED-urile
- Art Supplies pentru a desena MST
- Calculator pentru programare
Pasul 2: Desen și LED-uri pentru MST
- Am imprimat unul dintr-un manual vechi al meu și am scos găuri, prin nodurile de pe imprimare, pe miezul din spumă.
- Am desenat marginile cu greutățile lor respective pe foamcore, etichetând și nodurile A-H.
- Am împins LED-urile prin placă (deasupra nodurilor) ținând pinul lung orientat în sus, așa că am știut la ce pin să trimit semnalul mai târziu. De asemenea, împingând știfturile în jos pentru a le menține în poziție.
- Lipiți LED-urile la locul lor.
- Puneți firele feminine la cele masculine pe pinii LED. Am făcut fire de culoare mai deschisă pe pinii noștri înalți sau pe cei cu fața în sus.
Pasul 3: Breadboard
Sparkfun are un ghid excelent pentru registrul de schimbare și puteți urmări acest lucru pentru toate cablurile. Singura diferență este că LED-urile sunt conectate de cablurile jumper lungi, nu direct la placă. Pentru codul meu, pinul 0-7 pe linia registrului de schimbare se aliniază cu A-H pe MST.
Pasul 4: Cod
Scopul codului este de a modifica luminozitatea LED-urilor pe baza greutăților nodurilor. În imaginea din dreapta, arată wgtA prin wgtH. Acestea sunt valorile pe care le puteți modifica pentru a arăta greutatea pe un anumit LED. Schimbarea luminozității se realizează prin:
sr.set (ledA, 255 / wgtA * 1.1)
Această linie stabilește ledul la luminozitatea maximă împărțit la greutate ori de o cantitate pentru a menține lumina vizibilă. Luminozitatea poate scădea atunci când greutatea crește și acest lucru se face pentru fiecare LED.
Pasul 5: Probleme și viitor
Am început acest proiect cu patru LED-uri albastre și patru LED-uri verzi, dar am întâmpinat o problemă când încercam să compar luminozitățile. Am remediat acest lucru găsind încă patru albastre, dar țin cont de acest lucru când alegi LED-uri. De asemenea, trebuie să port Arduino, panoul de calcul și laptopul separat, astfel încât crearea unei carcase pentru a ține Arduino și panoul de calcul ar fi o mare îmbunătățire viitoare. Ar fi, de asemenea, extraordinar să adăugați animații la LED-uri pentru a ajuta la vizualizarea căii pe care se iau. În general, o modalitate excelentă de a arăta cum funcționează MST-urile și aștept cu nerăbdare să îl folosesc mai mult.