Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Dette er en kopi lim inn fra 13.04.2019 fra GitHub, med det formål å delta i Instructables LED -konkurransen! Hvis noen har problemer, kan du slippe et problem på GitHub!
Fullstendige prosjektfiler på
Dette er et prosjekt om lys. Jeg bygde et arduino -basert racingspill som involverte knusing av en knapp og racing til enden av en LED -stripe. Det er lagt til mekanikk som tyngdekraften for å gjøre spillet mer spennende.
Rop til inspirasjonen til dette prosjektet, [Open LED Race] (https://create.arduino.cc/projecthub/gbarbarov/open-led-race-a0331a).
Rekvisita
## Rekvisita
- Arduino Mega- 5V Relé- 5V 2.5A Strømforsyning- WS2813 Led Strip 60 LED/5 Meter- DF Player Mini- RJ45 4-Port Breakout Board- RJ45 Keystone (1)- RJ45 Breakout (2)- 1000 uF Kondensator- 470 uF kondensator- 470 ohm motstand (5)- 1000 ohm motstand- 10 k ohm motstand (3)- pappboks- 3 watt høyttaler- Pringles kan- tom pilleflaske (2)- 22 AWG solid ledning- Ethernet-kabel- RJ45-kontakter hann- Breadboard- Arcade Button (3)- Micro SD
### Andre ting du trenger
- Micro SD Reader- Wire Stripper- RJ45 Crimper- Loddejern- Lodde- Shrinktube
Trinn 1: Arduino og LED
### 1.1 Oppsettboks
#### 1.1.1
Fest til esken din: Arduino Mega, brødbrett, relé, RJ45 -plugg, strømforsyningsplugg
#### 1.1.2
Koble Arduino til brødbrettet (se ledningsskjemaet).
#### 1.1.3
Koble reléet til brødbrettet (se ledningsskjemaet).
#### 1.1.4
RJ45 til brødbrettet, legg til motstander
Grønn = Sikkerhetsdatalinje Blå = Datalinje Oransje = 5V Brun = Jord
Legg til en 470 Ohm motstand på begge datalinjen (se ledningsskjema).
#### 1.1.5
Koble strømforsyningen til brødbrettet, legg til 1000 uF kondensator.
### 1.2 Sett opp LED -stripe
#### 1.2.1 Bygg LED -skjøteledning
Ca 6-9 fot lang.
Loddetrådstilkoblinger.
Rød (5V) = Oransje Svart (Bakken) = Brun Gul (Data) = Blå Grønn (Sikkerhetsdata) = Grønn
Bruk varmekrymping.
! (./ images/ledextensionwire.jpg)
#### 1.2.2 Tape LED -ledninger
! (./ images/ledWire.jpg)
#### 1.2.3 Koble LED -stripen til RJ45 keystone.
### 1.3 Programvare: Slå på lysene
Se [`./code/step1-turnOnLights.ino`](./code/step1-turnOnLights.ino)
Trinn 2: Startknapp
### 2.1
Sagen kan være en halv tomme større enn boksen din.
! (./ images/startButtonInBox.jpg)
### 2.2
Skjær et hull for arkadeknappen.
Loddeledere til startknapp.
! (./ images/startButtonHole.jpg)
### 2.3
Koble startknappens ledninger til brødbrettet, og koble brødbrettet til Arduino.
Legg til 470 oHm motstand for LED. Legg til 10k motstand for knappen.
! (./ images/startButtonWires.jpg)
### 2.4 Programvare: Moving Lights
Se [`./code/step2-movingLights.ino`](./code/step2-movingLights.ino)
Trinn 3: Kontrollere
### 3.1 Koble utbryterbrettet til kontrolleren til arduino
#### 3.1.1 Første kontroller
Dette er konfigurasjonen for den første spillerkontrolleren. Alle ledninger skal være koblet til breakout board port `D`.
Konfigurasjon av kontrollerbruddsportledning:
- Wire 1: +5 volt retur fra bryterens ben 2 - Koble til en tilgjengelig rekkeklemme på brødbrettet - Koble en 10k ohm motstand fra denne rekkeklemmen til bakken. Denne bakkereferansen bidrar til å unngå falske positive avlesninger. - Ledning 2: +5 volt går til etappe 1 på bryteren - Koble til +5 volt strømskinne på brødbrett- Ledning 3: Jord for knapp LED - Koble til -5 volt strømskinne på brødbrett - Wire 4: +5 volt signal for knapp LED - Koble til en tilgjengelig rekkeklemme på brødbrett - Koble arduino til den motsatte rekkeklemmen - Koble de to klemmelistene med en 470 ohm motstand
Knapp for spiller 1 = pinne 26 Spiller 1 LED = pinne 27
#### 3.1.2 Andre kontroller
Følg trinnene for den første kontrolleren, bortsett fra denne gangen ved å bruke breakout -porten `C`.
Knapp for spiller 2 = pinne 22 Spiller 2 LED = pinne 23
### 3.2 Lag en ethernet -kabel
Ca 6-9 fot lang.
! (./ images/controllerWire.jpg)
### 3.2
Bor et hull i bunnen av pillebeholderen.
! (./ images/controllerBottomHole.jpg)
### 3.3 Kontrollenhetens toppmontering
! (./ images/controllerInside.jpg)
#### 3.3.1
Skjær et hull i lokket på pillebeholderen for arkadeknappen.
#### 3.3.2
Loddekabler for arkadeknappen.
#### 3.3.3
Sett arkadeknappen inn i lokket på pillebeholderen.
#### 3.3.4
Fest RJ45 Female breakout på den andre siden av lokket.
### 3.4 Kontrollerens bunnmontering
! (./ images/controllerAlmostFinished.jpg)
Sett ethernetledningen inn i bunnen av pillebeholderen, og bind deretter en løs knute rett under enden av ethernetledningen.
### 3.5 Kontrollerens sluttmontering
! (./ images/controllerFinished.jpg)
Koble ethernet til RJ45 Female breakout. Vær forsiktig når du lukker beholderen for ikke å bøye knappestifter.
### 3.6 Gjenta for andre kontroller
! (./ images/secondController.jpg)
### 3.7 Programvare: Spillerkontroller
Se [`./code/step3-playerControls.ino`](./code/step3-playerControls.ino)
Trinn 4: Lyd
### 4.1 Koble DF Player til brødbrettet
Legg til kondensator og motstand.
! (./ images/audioCloser.jpg)
### 4.2 Koble 3 watts høyttaler til brødbrettet
### 4.3 Last ned lyder til Micro SD
Mappenavnet må være mp3, plassert under SD -kortets rotkatalog, og mp3 -filnavnet må være fire sifre, for eksempel "0001.mp3", plassert under mp3 -mappen. Hvis du vil gi den et navn både på engelsk og kinesisk, kan du legge den til etter nummeret, for eksempel "0001hello.mp3" eller "0001 后来.mp3".
Se [`./audio/] (./ audio).
### 4.4 Koble Micro SD til DF Player
### 4.5 Programvare: Lyd
Se [`./code/step4-audio.ino`](./code/step4-audio.ino)
Trinn 5: Tyngdekraften
### 5.1 Mål
! (./ images/lightsOnWall.jpg)
Heng LED -stripen din opp på en vegg eller noe. Velg et sted som er fornuftig for tyngdekraften å begynne, for eksempel der lysstrimmelen begynner å reise vertikalt.
Mål hvor langt fra enden av LED -stripen denne plasseringen er. Beregn indeksen til lysdioden i denne posisjonen ved å bruke den målte lengden, stripens totale lengde og avstanden mellom lysdiodene.
### 5.2 Programvare: Tyngdekraftstid
Se [`./code/step5-gravity.ino`](./code/step5-gravity.ino)
Trinn 6: Sluttprogramvare
Legg til en vinner i spillet.
! (./ images/horse.jpg)
Se [`./code/step6-final.ino`](./code/step6-final.ino)