Innholdsfortegnelse:

Slange på et brødbrett: 3 trinn (med bilder)
Slange på et brødbrett: 3 trinn (med bilder)

Video: Slange på et brødbrett: 3 trinn (med bilder)

Video: Slange på et brødbrett: 3 trinn (med bilder)
Video: ПОЛНАЯ ЗАЧИСТКА БУНКЕРА АЛЬФА НОВИЧКОМ – Last Day on Earth: Survival 2024, November
Anonim
Slange på et brødbrett
Slange på et brødbrett
Slange på et brødbrett
Slange på et brødbrett
Slange på et brødbrett
Slange på et brødbrett

"Har du noen spill på telefonen?"

"Ikke akkurat."

Intro:

Enkel å kontrollere, enkel å programmere og foreviget av Nokia 6110, har Snake blitt et favorittprosjekt blant ingeniører. Den er implementert i alt fra LED -matriser, LCD -skjermer, bokhyllebelysning og til og med vinduer i hele bygninger. Vi skal implementere Snake på et lite brødbrett og en OLED -skjerm. Folk har absolutt laget smalere slangespillere, men dette bruker spesielt et brødbrett, og fjerner behovet for å designe PCB eller loddetinn.

(Du kan bare lage en app på telefonen din, men vi gjør ikke ting fordi de er enkle.)

Forutsetninger:

En grunnleggende forståelse av kretser, hvordan brødbrett og en solid forståelse av programmering i Arduino.

Rekvisita

  • Arduino Nano
  • 2 rimelig høye motstander (1kOhm)
  • Liten brødbrett
  • 2 Trykknapper
  • 22 AWG solid kjernetråd
  • 128 x 64 OLED

Dette er Amazon -tilknyttede lenker, så jeg tjener en liten provisjon for hvert salg. Hvis du ikke allerede har disse forsyningene og vil støtte fremtidige prosjekter av meg, følg disse linkene!:)

Trinn 1: Brødbrett

Brødbrett
Brødbrett
Brødbrett
Brødbrett
Brødbrett
Brødbrett

For å lage vårt endelige produkt må vi selvsagt sette sammen maskinvaren for å programmere og teste prosjektet vårt. Systemdiagrammet for dette prosjektet er ganske enkelt, siden det bare omfatter totalt 4 komponenter.

1. Legg det ut:

Ta komponentene dine og legg dem ut på brettet, og sørg for at alt passer. Visualiser hvilke ledninger og pinner du skal bruke og til hvilke formål. Sørg for at de forventede ledningene ikke krysser hverandre, for det gir et mer rotete brødbrett. Skriv ned hvilke punkter du må koble til! Selv om dette er et enkelt brødbrett, vil det gjøre livet ditt mye lettere under ledningsprosessen og generelt. På grunn av hvor lite arbeidsområdet vårt er, er dette et utrolig viktig skritt.

Merknader:

Fordi OLED bruker I2C -bussen, må pinner A4 og A5 brukes. Størrelsen på brødbrettet tillater ikke strøm- og bakkeskinne, så jeg brukte noen få triks for å få alt til å fungere. Den positive spenningen for knappene er levert av pinnene D13 og A2. Jeg oppdaget at Arduino -pinner ikke bare kan levere strøm, men også synke strøm, og derfor brukte jeg A3 som grunn for den høyre knappen. For å maksimere plassen på brødbrettet, hang jeg halvparten av Nano av brettet og støttet de venstre sidepinnene med et stykke skum.

2. Koble det ut:

Med et par wire strippere og en anstendig mengde 22 AWG solid kjernetråd, koble komponentene pent sammen. Det er viktig å bruke solid kjerne for å lage semi-permanente brødbrettprosjekter, fordi du kan trimme dem til lengde, i motsetning til jumperkabler. Pass på at du ikke legger igjen for mye lengde på ledningene dine, det vil gi et rotete brett. Trim ledningene til nedtrekksmotstandene slik at de passer i flukt med brettet.

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

Trinn 2: Program og test

Program og test
Program og test

For å spare hodepine senere, må du sørge for at OLED og knappene fungerer slik de skal ved å lage grunnleggende testprogrammer.

1. Planlegg, planlegg, planlegg:

Bare å hoppe rett inn i koden er ikke en klok praksis. Stol på meg, jeg har prøvd! Derfor bør du skissere hvordan programmet ditt vil fungere. Et programflytdiagram er en ganske solid måte å planlegge hva koden din trenger å gjøre, og vil definitivt holde deg på sporet. Ta mitt for eksempel (ovenfor)

2. Kode, kode, kode:

Oppriktig er dette prosjektet en større programmeringsøvelse enn det er en maskinvareøvelse. Det eneste biblioteket jeg brukte var Adafruits OLED -bibliotek, uten å telle de støttende GFX- og Wire -bibliotekene.

Få deg til å installere Adafruits OLED -bibliotek via Arduino IDEs biblioteksjef.

Jeg kan ikke dokumentere hver eneste kodelinje jeg skrev, men her er noen tips:

Tips:

Kommentarer:

- Først og fremst skriver du fine og nyttige kommentarer mens du koder. Framtidig deg og andre som leser koden din, vil definitivt takke deg.

Hukommelse:

- Med mer komplekse prosjekter som disse, blir SRAM ganske populær. I Adafruit -biblioteket tar 128 x 64 OLED -bufferen 1 kB alene, som er omtrent halvparten av minnet i en ATMega328p. Derfor er smart minnehåndtering viktigere enn noensinne.

- Med store datastrukturer vil dataene som lagres, akkumulere og ta mye plass. For å redusere minnefotavtrykket til variablene mine, brukte jeg mindre datatyper (som kort og byte) når jeg kunne.

- Strenger lagres vanligvis i SRAM, men bruk av F () -funksjonen vil sette dem i PROGMEM i stedet for å spare dyrebart minne.

Millis:

- For å oppnå mer nøyaktig timing av spillsykluser, bruk millis () -funksjonen. Det er mange gode opplæringsprogrammer og eksempler på nettet.

Forhåndsdefinere:

- Bruk #define preprocessor -direktivet som en enkel måte å angi permanente verdier i kode.

Test:

- Test koden din mens du går. Det blir mye lettere å rutte ut feil.

Trinn 3: Kos deg

Ha det gøy med ditt nye slangespill!

(Jeg vet at jeg vant på 20 poeng i videoen ovenfor, du kan angi gevinstbetingelsen høyere i koden min.)

Ting å utvide:

  • Et batteri for bærbarhet
  • Sikrere knapper
  • Et enda mindre slangespill
  • Enda flere spill?

Anbefalt: