Indholdsfortegnelse:

Slange på et brødbræt: 3 trin (med billeder)
Slange på et brødbræt: 3 trin (med billeder)

Video: Slange på et brødbræt: 3 trin (med billeder)

Video: Slange på et brødbræt: 3 trin (med billeder)
Video: Bogen er mit første ArduMikron-kredsløb 2024, November
Anonim
Slange på et brødbræt
Slange på et brødbræt
Slange på et brødbræt
Slange på et brødbræt
Slange på et brødbræt
Slange på et brødbræt

"Har du nogle spil på din telefon?"

"Ikke nøjagtigt."

Intro:

Enkel at kontrollere, let at programmere og udødeliggjort af Nokia 6110, Snake er blevet et yndet projekt blandt ingeniører. Det er blevet implementeret i alt fra LED -matricer, LCD'er, belysning i reoler og endda vinduer i hele bygninger. Vi implementerer Snake på et lille brødbræt og en OLED -skærm. Folk har helt sikkert lavet mindre snakespillere, men dette bruger specifikt et brødbræt, hvilket fjerner behovet for at designe printkort eller loddetin.

(Du kan bare lave en app på din telefon, men vi gør ikke ting, fordi de er lette.)

Forudsætninger:

En grundlæggende forståelse af kredsløb, hvordan man brænder, og et solidt greb om programmering i Arduino.

Forbrugsvarer

  • Arduino Nano
  • 2 rimeligt høje modstande (1 kOhm)
  • Lille brødbræt
  • 2 trykknapper
  • 22 AWG solid kernetråd
  • 128 x 64 OLED

Disse er Amazon -tilknyttede links, så jeg tjener lidt provision ved hvert salg. Hvis du ikke allerede har disse forsyninger og vil støtte mine fremtidige projekter, skal du følge disse links!:)

Trin 1: Brødbræt

Brødbræt
Brødbræt
Brødbræt
Brødbræt
Brødbræt
Brødbræt

For at lave vores endelige produkt skal vi naturligvis samle hardware til at programmere og teste vores projekt på. Systemdiagrammet for dette projekt er ret enkelt, da det kun omfatter i alt 4 komponenter.

1. Læg det ud:

Tag dine komponenter og læg dem på tavlen, og sørg for, at alt passer. Visualiser hvilke ledninger og stifter du vil bruge og til hvilke formål. Sørg for, at dine forventede ledninger ikke krydser hinanden, for det giver et mere rodet brødbræt. Skriv ned, hvilke punkter du skal forbinde! Selvom dette er et simpelt brødbræt, vil det gøre dit liv meget lettere under ledningsføringsprocessen og generelt. På grund af hvor lille vores arbejdsområde er, er dette et utroligt vigtigt trin.

Bemærkninger:

Fordi OLED bruger I2C -bussen, skal benene A4 og A5 bruges. Brødbrettets størrelse tillader ikke en strøm- og jordskinne, så jeg brugte et par tricks til at få alt til at fungere. Den positive spænding for knapperne leveres af benene D13 og A2. Jeg opdagede, at Arduino -stifter ikke kun kan levere strøm, men også synke strøm, og derfor brugte jeg A3 som jord for den rigtige knap. For at maksimere pladsen på brødbrættet, hængte jeg halvdelen af Nano af brættet og understøttede de venstre sidestifter med et stykke skum.

2. Tilslut det:

Med et par wire strippere og en anstændig mængde 22 AWG solid kernetråd kan du pænt koble dine komponenter sammen. Det er vigtigt at bruge solid kerne til fremstilling af semi-permanente brødbrætprojekter, fordi du kan trimme dem i længden i modsætning til jumperwires. Sørg for, at du ikke efterlader meget overskydende længde på dine ledninger, det vil give et rodet bord. Trim ledningerne på pull-down-modstandene, så de passer ind i tavlen.

(Du kan også bare følge, hvad jeg har gjort ovenfor.)

Trin 2: Programmer og test

Program og test
Program og test

For at spare dig selv for hovedpine senere skal du sørge for, at OLED og knapperne fungerer, som de skal ved at lave grundlæggende testprogrammer.

1. Planlæg, planlæg, planlæg:

Bare at hoppe direkte ind i koden er ikke en klog praksis. Tro mig, jeg har prøvet! Derfor bør du skitsere, hvordan dit program vil fungere. Et programflowdiagram er en ret solid måde at planlægge, hvad din kode skal gøre, og vil helt sikkert holde dig på sporet. Tag min for eksempel (ovenfor)

2. Kode, kode, kode:

Helt ærligt er dette projekt en større programmeringsøvelse end det er en hardwareøvelse. Det eneste bibliotek, jeg brugte, var Adafruits OLED -bibliotek, uden at tælle de understøttende GFX- og Wire -biblioteker.

Få dig til at installere Adafruit's OLED -bibliotek via Arduino IDEs bibliotekschef.

Jeg kan ikke dokumentere hver eneste kodelinje, jeg skrev, men her er et par tip:

Tips:

Kommentarer:

- Skriv først og fremmest pæne og nyttige kommentarer, mens du koder. Fremtidens dig og andre, der læser din kode, vil helt sikkert takke dig.

Hukommelse:

- Med mere komplekse projekter som disse bliver SRAM en ret varm vare. I Adafruit -biblioteket fylder 128 x 64 OLED -bufferen 1 kB alene, hvilket er cirka halvdelen af hukommelsen i en ATMega328p. Derfor er smart hukommelsesstyring vigtigere end nogensinde.

- Med store datastrukturer vil de lagrede data akkumulere og tage meget plads. For at reducere hukommelsesaftrykket for mine variabler brugte jeg mindre datatyper (som kort og byte), når jeg kunne.

- Strenge gemmes normalt i SRAM, men brug af F () -funktionen vil sætte dem i PROGMEM i stedet for at spare dyrebar hukommelse.

Millis:

- For at opnå en mere præcis timing af spilcyklusser skal du bruge millis () -funktionen. Der er masser af gode selvstudier og eksempler online.

Foruddefiner:

- Brug #define preprocessor -direktivet som en nem måde at indstille permanente værdier i kode.

Prøve:

- Test din kode, mens du kører. Det vil være meget lettere at rutte fejl.

Trin 3: God fornøjelse

God fornøjelse med dit nye slangespil!

(Jeg ved, at jeg vandt med 20 point i videoen ovenfor, du kan indstille gevinstbetingelsen højere i min kode.)

Ting at udvide på:

  • Et batteri til bærbarhed
  • Mere sikre knapper
  • Et endnu mindre slangespil
  • Endnu flere spil?

Anbefalede: