Indholdsfortegnelse:

Voyager 1: 5 trin (med billeder)
Voyager 1: 5 trin (med billeder)

Video: Voyager 1: 5 trin (med billeder)

Video: Voyager 1: 5 trin (med billeder)
Video: Топ 5 скрытых полезных программ Windows 10 2024, November
Anonim
Voyager 1
Voyager 1

I 1977 lancerede NASA rumskibet Voyager 1 i tomrummet. En vis omstændig planetarisk justering betød, at sonden var slyngeskud forbi vores solsystem, sat på et forløb af interstellar udforskning. Fyrre år senere markerer Voyager 1 -missionen nu det yderste punkt for menneskehedens rækkevidde ind i vores univers. Stadig overfører data tilbage til jorden, skubber Voyager 1 grænserne for menneskelig udforskning med hvert sekund, der går.

Jeg har en personlig fascination for Voyager -missionerne og ville lave et display, der fangede deres ånd.

Når displayet blinker med et tal, repræsenterer det afstanden i miles mellem Voyager 1 og jorden, en objektiv måling for mulighederne for menneskelig fantasi.

Displayet standser et kort øjeblik og opdaterer derefter.

Trin 1: Materialer

Materialer
Materialer

Kroppen:

(3) x 4 ciffer 7 segmenters display ($ 30)

Da voyager i øjeblikket svæver over 13 milliarder miles, er 11 cifre nødvendige for at repræsentere dette tal i decimal / kilometertal. Afhængigt af hvordan du vil repræsentere afstanden, kan antallet af nødvendige cifre ændre sig. Da Voyager stadig er på rejse, og disse Adafruit -skærme findes i 4 -cifrede sektioner, gav et 12 -cifret display mest mening. En ekstra fordel ved de sammenkædede displays er, at de på ingen måde er rene 7 segmenter og faktisk har masser indbygget i modulet for at muliggøre kommunikation af data gennem I2C -protokollen. Dette betyder, at for faktisk at styre displayet kun du to pins, SDA og SCL på din mikrokontroller. Med et mindre sofistikeret modul kunne de nødvendige numre stige hurtigt.

(1) Brødbræt

Sørg for at have et brødbræt eller en eller anden måde til pænt at forbinde ledninger. Jeg, men både hjernen og brættet på det samme brødbræt, så mit var anstændigt stort.

(Nogle) Wire

Sørg for at have en ledning ved hånden for at foretage de nødvendige forbindelser! Der er ikke mange ledninger involveret, men farvekodning kan bestemt være nyttig.

Hjernen: ($ 9,00)

Jeg havde en NodeMcu V 1.0 liggende, der anvender espressif esp8266 -chippen, der giver mulighed for let wifi -forbindelse. Disse chips er gode, fordi de er små og billige!

Forskellige Arduino -tavler eller en hindbærpi ville også fungere godt. Bare husk på, at for dette projekt, uanset hvilket board du vælger, skal kunne tale I2C -protokollen og have stifter til rådighed for SDA (serielle data) og SCL (serielt ur).

Også kildekoden, jeg skrev, brugte Arduino IDE, men at overføre denne kode til forskellige enheder burde ikke være for hård. Grunden til at jeg skrev med Arduino IDE var, så jeg kunne bruge Adafruit's praktiske bibliotek til de 7 segmentmoduler.

Trin 2: Få NodeMcu til at tale med computeren

Få NodeMcu til at tale med computeren
Få NodeMcu til at tale med computeren

Uanset hvilken mikrokontroller, du ender med, vil du have en anden metode til at oprette forbindelse til din specifikke computer, men for NodeMcu, som jeg brugte, kan du se, hvordan du forbinder den til arbejdet med programmering i Arduino.

Først skal du få den relevante driver videre til din computer …

Her er et link:

Når driveren er installeret, skal din computer kunne genkende udviklingskortet.

Nu hvor tavlen er tilsluttet, er du klar til at begynde at programmere tavlen og tilslutte skærmene !!

Her er en rigtig god instruktion til at downloade de nødvendige libaries, som Arduino IDE har brug for for at programmere esp8266 -chippen! Når du har fulgt disse instruktioner, kan du prøve at køre det blinkende lyseksempel, der følger med biblioteket!

Trin 3: Tilslut alt

Tråd alt op!
Tråd alt op!

Når du med succes kan tale med tavlen, er du klar til at forbinde skærmkomponenterne på en måde du vælger (jeg brugte et brødbræt).

Da adafruit buildpacks gør de tunge løft, er ledningen heldigvis slet ikke så slem!

Alt du har er en positiv og negativ ledning for hver skærm, der skal forbindes til henholdsvis jord og 3,3V på kortet.

Der vil også være en SCL- og SDATA -ledning til hver skærm, og dem skal alle forbindes til SCL- og SDATA -ledningen på kortet. Da skærmene faktisk kommunikerer over I2C -meddelelsesprotokollen, er kortet i stand til at spare på ledninger og i stedet kommunikere via adresser. Hvis du bruger de samme buildpacks, som jeg gjorde, foretages indstilling af forskellige adresser på et display gennem en loddejumper på bagsiden af displayet og er pænt dokumenteret her.

Det er det! Nu er du klar til at indlæse programmet på tavlen!

Trin 4: Kør softwaren

Vedhæftet er Arduino Sketch, der bruges til at udfylde displayet !!

Ting at ændre:

- Indtast den relevante wifi -ssid og adgangskode i det relevante afsnit. Helt ærligt er jeg ikke sikker på sikkerhedsmæssige konsekvenser af dette, men opererer under den antagelse, at wifi -legitimationsoplysninger er i ren tekst.

- Afhængigt af hvordan du vælger dine displaymoduladresser, kan de aktuelle værdier, der er hårdt kodet ind, ændre sig. Hvis du ikke får noget fra en bestemt skærm, eller dine numre viser sig ude af drift, skal du dobbelttjekke, at hver adresse er hårdt kodet med jumpere og korrekt refereret i koden.

Andre punkter:

- Displayets kernekode er manipulation og passende udbredelse med 0s. Dette er alt sammen gjort med Arduino -biblioteket, som adafruit skrev til deres displays! Sørg for, at du har installeret det relevante bibliotek på https://github.com/adafruit/Adafruit_LED_Backpack samt Adafruit's store GFX -bibliotek.

- Det andet stykke kode er en HTTP GET -anmodning til en Heroku -webserver. Denne webserver er en webskraber, jeg skrev, der henter de relevante oplysninger fra NASAs JPL -websted. Bare en rimelig advarsel om, at skraberen er lidt langsom, og en lille ændring i JPL's ende har potentiale til at forårsage problemer med den. Her er et link til kilden.

Trin 5: Færdig

Når du har ændret den relevante kode og dobbelttjekket, at ledningerne er korrekte, skal du uploade programmet til kortet. Med held og lykke skulle du se Voyagers afstand begynde at blinke/opdatere på displayet! Jeg har fundet ud af, at brættet undertiden har problemer med at oprette forbindelse til wifi, hvis du får gris på skærmen, kan det være nyttigt at åbne den serielle skærm og sikre, at wifi tilsluttes korrekt. Anmodninger til serveren kan også timeout. Hvis tingene virkelig kæmper, kan det nogle gange løse problemet ved at trykke på den første knap på tavlen.

Vedhæftet er en video af det færdige produkt !!

Anbefalede: