Innholdsfortegnelse:

Voyager 1: 5 trinn (med bilder)
Voyager 1: 5 trinn (med bilder)

Video: Voyager 1: 5 trinn (med bilder)

Video: Voyager 1: 5 trinn (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juli
Anonim
Voyager 1
Voyager 1

I 1977 lanserte NASA romskipet Voyager 1 i tomrommet. Noen omstendelige planetariske justeringer betydde at sonden var slyngskytende forbi solsystemet vårt, satt i gang med interstellar leting. Førti år senere markerer Voyager 1 -oppdraget nå det ytterste punktet for menneskehetens rekkevidde inn i universet vårt. Voyager 1 overfører fortsatt data tilbake til jorden og skyver grensene for menneskelig utforskning for hvert sekund som går.

Jeg har en personlig fascinasjon for Voyager -oppdragene, og ønsket å lage en visning som fanget deres ånd.

Når displayet blinker med et tall, representerer det avstanden i miles mellom Voyager 1 og jorden, en objektiv måling for mulighetene for menneskelig fantasi.

Displayet stopper et øyeblikk og oppdaterer deretter.

Trinn 1: Materialer

Materialer
Materialer

Kroppen:

(3) x 4 Digit 7 Segment Display ($ 30)

Siden voyager for tiden svever på over 13 milliarder miles, er det nødvendig med 11 sifre for å representere dette tallet i desimal / kjørelengde. Avhengig av hvordan du vil representere avstanden, kan antall sifre som trengs endres. Siden Voyager fremdeles er på reise, og disse Adafruit -skjermene kommer i firesifrede seksjoner, var en 12 -sifret skjerm mest fornuftig. En ekstra fordel med de koblede skjermene er at de på ingen måte er rene 7 segmenter og faktisk har mye innebygd i modulen for å tillate kommunikasjon av data gjennom I2C -protokollen. Dette betyr at for å faktisk kontrollere skjermen, har du bare to pinner, SDA og SCL på mikrokontrolleren. Med en mindre sofistikert modul kan tallpinnene som trengs stige raskt.

(1) Brødbrett

Sørg for at du har et brødbrett eller en eller annen måte å fint koble ledninger på. Jeg, men både hjernen og brettet på samme brødbrett, så mitt var anstendig stort.

(Noen) Wire

Sørg for å ha litt ledning for hånden for å gjøre de nødvendige tilkoblingene! Det er ikke mye ledninger involvert, men fargekoding kan definitivt være nyttig.

The Brains: ($ 9,00)

Jeg hadde en NodeMcu V 1.0 liggende som bruker espressif esp8266 -brikken som gir enkel wifi -tilkobling. Disse sjetongene er flotte fordi de er små og billige!

Ulike Arduino -brett, eller en bringebær -pi ville også fungere godt. Bare husk at for dette prosjektet, uansett hvilket kort du velger, må kunne snakke I2C -protokollen og ha pinner tilgjengelig for SDA (seriell data) og SCL (seriell klokke).

Også kildekoden jeg skrev brukte Arduino IDE, men å overføre koden til forskjellige enheter burde ikke være for vanskelig. Grunnen til at jeg skrev med Arduino IDE var at jeg kunne bruke Adafruit sitt praktiske bibliotek for de 7 segmentmodulene.

Trinn 2: Få NodeMcu til å snakke med datamaskin

Få NodeMcu til å snakke med datamaskinen
Få NodeMcu til å snakke med datamaskinen

Uansett hvilken mikrokontroller du ender med, vil du ha en annen metode for å koble deg til din spesifikke datamaskin, men for NodeMcu som jeg brukte, ser du hvordan du kobler den til arbeidskonfigurasjon med programmering i Arduino.

Først må du få den relevante driveren til datamaskinen din …

Her er en lenke:

Når driveren er installert, skal datamaskinen din kunne gjenkjenne utviklingskortet.

Nå som kortet er tilkoblet, er du klar til å begynne å programmere kortet og koble til skjermene !!

Her er en veldig god instruksjon for å laste ned de nødvendige libaries som Arduino IDE trenger for å programmere esp8266 -brikken! Når du har fulgt disse instruksjonene, kan du prøve å kjøre det blinkende lyseksemplet som følger med biblioteket!

Trinn 3: Koble alt opp

Tråd alt opp!
Tråd alt opp!

Når du har lykkes med å snakke med brettet, er du klar til å koble til skjermkomponentene på en måte du velger (jeg brukte et brødbrett).

Siden adafruit buildpacks gjør de tunge løftene, er det heldigvis ikke så ille i ledningen!

Alt du har er en positiv og negativ ledning for hver skjerm som må kobles til henholdsvis jord og 3,3V på brettet.

Det vil også være en SCL- og SDATA -kabel for hver skjerm, og alle må kobles til SCL- og SDATA -ledningen på kortet. Siden displayene faktisk kommuniserer over I2C -meldingsprotokollen, kan styret spare på ledninger og kommunisere gjennom adresser i stedet. Hvis du bruker de samme buildpacks som jeg gjorde, gjøres forskjellige adresser på en skjerm gjennom en loddehopper på baksiden av skjermen og er godt dokumentert her.

Det er det! Nå er du klar til å laste programmet på tavlen!

Trinn 4: Kjør programvaren

Vedlagt er Arduino Sketch som ble brukt til å fylle ut skjermen !!

Ting å endre:

- Skriv inn riktig wifi -ssid og passord i den relevante delen. Helt ærlig er jeg ikke sikker på sikkerhetsimplikasjonene av dette, men opererer under antagelsen om at wifi -legitimasjon er i ren tekst.

- Avhengig av hvordan du velger displaymoduladressene dine, kan gjeldende verdier som er hardt kodet inn endres. Hvis du ikke får noe fra en bestemt skjerm eller hvis tallene dine vises i feil rekkefølge, dobbeltsjekk du at hver adresse er hardt kodet med hoppere og referert til riktig i koden.

Andre poeng:

- Kjernekoden på displayet er manipulering og passende forplantning med 0s. Dette er gjort med Arduino -biblioteket som adafruit skrev for sine skjermer! Sørg for at du har installert det relevante biblioteket på https://github.com/adafruit/Adafruit_LED_Backpack, så vel som Adafruits store GFX -bibliotek.

- Den andre koden er en HTTP GET -forespørsel til en Heroku -webserver. Den webserveren er en nettskraper jeg skrev som henter relevant informasjon fra NASAs JPL -nettsted. Bare en rettferdig advarsel om at skrapen er litt treg og en liten endring på JPLs ende har potensial til å forårsake problemer med den. Her er en lenke til kilden.

Trinn 5: Ferdig

Når du har endret den relevante koden og dobbeltsjekket at ledningene er riktige, laster du opp programmet til brettet. Hvis du er heldig, bør du se Voyagers avstand begynne å blinke/oppdatere på displayet! Jeg har funnet ut at brettet noen ganger har problemer med å koble til wifi, hvis du får tull på skjermen, kan det være nyttig å åpne den serielle skjermen og sørge for at wifi kobles til på riktig måte. Forespørsler til serveren kan også ta ut tid. Hvis ting virkelig sliter, kan det noen ganger løse problemet ved å trykke på den første knappen på tavlen.

Legger ved en video av det ferdige produktet !!

Anbefalt: