Innehållsförteckning:

Orm på en brödbräda: 3 steg (med bilder)
Orm på en brödbräda: 3 steg (med bilder)

Video: Orm på en brödbräda: 3 steg (med bilder)

Video: Orm på en brödbräda: 3 steg (med bilder)
Video: ESP32 Tutorial 3 - Resistor, LED, Bredboard and First Project: Hello LED -ESP32 IoT Learnig kit 2024, December
Anonim
Orm på en brödbräda
Orm på en brödbräda
Orm på en brödbräda
Orm på en brödbräda
Orm på en brödbräda
Orm på en brödbräda

"Har du några spel på din telefon?"

"Inte exakt."

Introduktion:

Enkel att styra, lätt att programmera och förevigad av Nokia 6110 har Snake blivit ett favoritprojekt bland ingenjörer. Den har implementerats i allt från LED -matriser, LCD -skärmar, bokhyllbelysning och till och med fönster i hela byggnader. Vi kommer att implementera Snake på en liten brödbräda och en OLED -skärm. Människor har säkert gjort tunnare ormspelare, men detta använder specifikt en brödbräda, vilket tar bort behovet av att designa PCB eller löd.

(Du kan bara skapa en app på din telefon, men vi gör inte saker för att de är enkla.)

Förkunskaper:

En grundläggande förståelse för kretsar, hur man brödbräda och ett gediget grepp om programmering i Arduino.

Tillbehör

  • Arduino Nano
  • 2 lagom höga motstånd (1 kOhm)
  • Litet brödbräda
  • 2 tryckknappar
  • 22 AWG solid core wire
  • 128 x 64 OLED

Det här är Amazon -länkar så jag tjänar lite provision för varje försäljning. Om du inte redan har dessa förnödenheter och vill stödja mina framtida projekt, följ dessa länkar!:)

Steg 1: Brödbräda

Bakbord
Bakbord
Bakbord
Bakbord
Bakbord
Bakbord

För att göra vår slutprodukt måste vi självklart montera hårdvaran för att programmera och testa vårt projekt på. Systemdiagrammet för detta projekt är ganska enkelt, eftersom det bara omfattar totalt 4 komponenter.

1. Lägg upp det:

Ta dina komponenter och lägg dem på tavlan, se till att allt passar. Visualisera vilka ledningar och stift du kommer att använda och för vilka ändamål. Se till att dina förväntade trådar inte korsas, eftersom det ger en rörigare brödbräda. Skriv ner vilka punkter du behöver ansluta! Även om detta är en enkel brödbräda, kommer det att göra ditt liv mycket enklare under ledningsprocessen och i allmänhet. På grund av hur liten vår arbetsyta är är detta ett otroligt viktigt steg.

Anmärkningar:

Eftersom OLED använder I2C -bussen måste stiften A4 och A5 användas. Storleken på brödbrädan tillåter inte en kraft- och markskena, så jag använde några knep för att få allt att fungera. Den positiva spänningen för knapparna levereras av stiften D13 och A2. Jag upptäckte att Arduino -stift inte bara kan leverera ström, utan också sjunka ström, så jag använde A3 som jord för den högra knappen. För att maximera utrymmet på brödbrädan, hängde jag upp hälften av Nano på brädet och stödde de vänstra sidnålarna med en skumbit.

2. Koppla bort det:

Med ett par trådavlägsnare och en anständig mängd 22 AWG solid kärntråd kan du snyggt koppla ihop dina komponenter. Att använda fast kärna för att göra halvpermanenta projekt för brödbrädor är nyckeln, eftersom du kan trimma dem till längd, till skillnad från bygelkablar. Se till att du inte lämnar mycket överskottslängd på dina trådar, det kommer att göra en stökig bräda. Trimma ledningarna på neddragningsmotstånden så att de passar i linje med brädet.

(Du kan också bara följa vad jag har gjort ovan.)

Steg 2: Programmera och testa

Program och test
Program och test

För att spara dig huvudvärk senare, se till att OLED och knapparna fungerar som de ska genom att göra grundläggande testprogram.

1. Planera, planera, planera:

Att bara hoppa rätt in i koden är inte en klok övning. Lita på mig, jag har försökt! Det är därför du bör beskriva hur ditt program kommer att fungera. Ett programflödesschema är ett ganska gediget sätt att planera vad din kod behöver göra och kommer definitivt att hålla dig på rätt spår. Ta min till exempel (ovan)

2. Kod, kod, kod:

Ärligt talat är detta projekt en större programmeringsövning än en hårdvara. Det enda biblioteket jag använde var Adafruits OLED -bibliotek, utan att räkna med de stödjande GFX- och Wire -biblioteken.

Få dig att installera Adafruits OLED -bibliotek via Arduino IDEs bibliotekschef.

Jag kan inte dokumentera varje kodrad jag skrev, men här är några tips:

Tips:

Kommentarer:

- Skriv först och främst snygga och användbara kommentarer medan du kodar. Framtida du och andra som läser din kod kommer definitivt att tacka dig.

Minne:

- Med mer komplexa projekt som dessa blir SRAM en ganska het vara. I Adafruit -biblioteket tar 128 x 64 OLED -bufferten 1 kB ensam, vilket är ungefär hälften av minnet i en ATMega328p. Därför är smart minneshantering viktigare än någonsin.

- Med stora datastrukturer kommer data som lagras att ackumuleras och ta mycket plats. För att minska minnesavtrycket för mina variabler använde jag mindre datatyper (som kort och byte) när jag kunde.

- Strängar lagras vanligtvis i SRAM, men med hjälp av F () -funktionen kommer de att placeras i PROGMEM istället, vilket sparar värdefullt minne.

Millis:

- För att uppnå mer exakt timing av spelcykler, använd millis () -funktionen. Det finns gott om bra handledning och exempel online.

Fördefiniera:

- Använd #define preprocessor -direktivet som ett enkelt sätt att ställa in permanenta värden i kod.

Testa:

- Testa din kod när du går. Det blir mycket lättare att ta bort buggar.

Steg 3: Njut

Ha kul med ditt nya ormspel!

(Jag vet att jag vann med 20 poäng i videon ovan, du kan ställa in vinstvillkoret högre i min kod.)

Saker att expandera på:

  • Ett batteri för bärbarhet
  • Mer säkra knappar
  • Ett ännu mindre ormspel
  • Ännu fler spel?

Rekommenderad: