Innholdsfortegnelse:

Håndholdt Arduino Paper Rock -saksespill ved bruk av 20x4 LCD -skjerm med I2C: 7 trinn
Håndholdt Arduino Paper Rock -saksespill ved bruk av 20x4 LCD -skjerm med I2C: 7 trinn

Video: Håndholdt Arduino Paper Rock -saksespill ved bruk av 20x4 LCD -skjerm med I2C: 7 trinn

Video: Håndholdt Arduino Paper Rock -saksespill ved bruk av 20x4 LCD -skjerm med I2C: 7 trinn
Video: Pwnagotchi - The Open Source Wi-Fi Hand Shake Hacker 2024, Desember
Anonim
Håndholdt Arduino Paper Rock -saksespill ved bruk av 20x4 LCD -skjerm med I2C
Håndholdt Arduino Paper Rock -saksespill ved bruk av 20x4 LCD -skjerm med I2C
Håndholdt Arduino Paper Rock -saksespill ved bruk av 20x4 LCD -skjerm med I2C
Håndholdt Arduino Paper Rock -saksespill ved bruk av 20x4 LCD -skjerm med I2C
Håndholdt Arduino Paper Rock -saksespill ved bruk av 20x4 LCD -skjerm med I2C
Håndholdt Arduino Paper Rock -saksespill ved bruk av 20x4 LCD -skjerm med I2C

Hei alle sammen, eller kanskje jeg burde si "Hei verden!"

Det ville være en stor glede å dele et prosjekt med deg som har vært min inngang til mange ting Arduino. Dette er et håndholdt Arduino Paper Rock Scissors -spill som bruker en I2C 20x4 LCD -skjerm. Jeg vet at du kanskje tenker, "Nok et Paper Rock Scissors -spill?" Men de fleste Arduino Paper Rock Scissors -spill bruker enkle lysdioder, og jeg så også en som brukte papirsymboler løftet av servoer. De er kule. Dette prosjektet bruker 20x4 LCD -skjerm og gjorde en med I2C og en uten den (ikke vist her). Ønsket en billig koffert med et ferdig utseende, ikke bare et brødbrett-rot. Ikke alle har tilgang til en 3D -skriver og ønsker å betale noen som gjør det. Og jeg ville at den skulle være enkel å lage, slik at jeg kunne dele ideene med andre. Siden programmeringskunnskapene mine er på nybegynnernivå, er skissen ganske enkel og lett å forstå og redigere. Dette var min personlige utdannelse til å lage en skisse. Du finner mange notater i skissen, og den har gått gjennom mange, mange (20+?) Iterasjoner til jeg tror det er helt riktig. Prosjektet koster mindre enn $ 20 å lage (ikke I2C).

Kom i gang med Arduino i 2018 og gikk gjennom nettstedet deres og leste alt jeg kunne. Bygget og eksperimentert med eksempelprosjektene det følger med og lest mange instrukser så mange av dere har delt gjennom årene. Setter virkelig pris på dem og har lært så mye av dere alle. Takk skal du ha. Nå vil jeg dele noe av det jeg har lært og legge til min egen kreativitet. Før kommentarfeltet hopper opp med mange spørsmål om hvordan du gjør dette og det må du huske på, jeg startet dette uten erfaring fra Arduino. Jeg lærte ved å bygge eksempelprosjektene på Arduino- og Instructables -nettstedene. Jeg lærte av dere. Når du sitter fast kan det være den raskeste måten for deg å finne en løsning.

Trinn 1: Prosjektinnføring

Prosjekt introduksjon
Prosjekt introduksjon
Prosjekt introduksjon
Prosjekt introduksjon

Valgte LCD -skjermen fra Amazon og valgte I2C 20x4 LCD på grunn av lave kostnader (omtrent $ 12 - $ 18) og enkel kabling og programmering. Hvis du vil, kan du bruke en uten I2C og kan få en så billig som $ 7. Men du må bruke et annet bibliotek og ledningsopplegg og bruke flere Arduino -pinner. Ikke bekymre deg, det er nok til å gå begge veier. Seriell I2C 20x4 ville være enklere å bygge, færre ledninger er mindre forvirrende. Men parallell 20x4 LCD er omtrent $ 5 billigere. Jeg tegnet skjemaer for begge ledningsskjemaene. De fleste andre delene kjøpte jeg fra Amazon og et par lokale butikker. Boksen min er en tom blandingsboks for cappuccino. Jeg liker at lokket lett spretter av for å slå strømmen på/av, arbeide med komponenter eller bytte batteri. Og "Hei!" esken var gratis og jeg liker cappuccino. Resirkulering av plast er bra for miljøet. Du kan bruke hvilken boks du liker som alt passer inn i eller til og med hoppe over esken eller brødbrettet i prosjektet. Jeg ønsket en "ferdig prosjektlook" på det billige. Jeg vedder på at noen lager en 3D -trykt versjon. Arduino spiller Paper Rock Scissors -spillet med deg på LCD -skjermen, beholder poengsummen, du kan legge inn med knappene, og hvis du velger det er et alternativ som lar deg jukse. Opprinnelig ble juksefunksjonen skrevet for feilsøkingsformål, og da jeg var ferdig med den, kommenterte jeg den. Bare for moro skyld satte jeg den inn igjen.

Trinn 2: Brødbrett

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

Jeg brødbrettet kretsene mine ved å bruke Arduino Uno, men da jeg satte alt sammen brukte jeg Arduino Nano fordi det passer bedre i esken. Så du kan bygge dette med begge. Men husk å endre et par innstillinger i IDE. Nano er installert på baksiden av LCD-skjermen ved hjelp av kommandostrimler eller dobbeltsidig klebebånd. Plasser Arduino Nano ved siden av I2C piggyback -kortet slik at USB -kontakten vender utover (til høyre for LCD -skjermen). Du kan bruke en 9v eller 4x AA (som gir deg 6v) batteriboks med SPST skyvebryter for strøm montert inne i esken også med Command Strips. Arduino er bygd begge veier og har en innebygd spenningsregulator som bringer den ned til de 5 volt den trenger. Hvis du tenker over det, kan dette spillet faktisk resirkulere "stort sett døde 9V -batterier" for strøm og fungere fint. (Du bytter røykvarslerbatterier to ganger i året? men den er ikke død før den er "Arduino Dead!"

Mens jeg utformet prosjektet brukte jeg 4 SPST -knapper for innspill. Men å bygge det ferdige spillet i boksen brukte 5 SPST -knapper for å tenke i fremtiden, jeg kan prøve å lage et spill som trengte flere knapper. Kanskje et labyrintspill? En motstandsspenningsdeler for knappene er montert sammen på et stykke prototavle som også kan monteres med Command Strips.

Trinn 3: Montering

montering
montering
montering
montering
montering
montering

Montering:

De 4 hovedsamlingene er LCD -skjermen med valgfritt I2C -piggyback -kort, Arduino Nano, motstandene og bryterne daisy lenket til det sammenkoblede proto -kortet og batteriboksen med av/på -bryter.

Du bør begynne med å brød-gå ombord på kretsen eller hardt koble til proto-kortet etter skjemaet. Jeg liker å lagre LCD -skjermen med forsiden ned i esken for å unngå å skrape den. Jeg brukte bare en topptekst på den ene siden av Arduino som har 5v for å koble den til proto board. Jeg lagde en bro med 3 overskrifter (mye loddearbeid) fra Arduino til proto-brettet, så de lå flatt på baksiden av LCD-skjermen med kommandostrimler eller dobbeltsidig klebebånd. Men egentlig kan platene bare kobles sammen med loddetråder fra den ene til den andre. Brukte en kvinnelig topptekst for å koble proto -kortet til LCD I2C. Proto -bordets motstandsben kan brukes til å lage de 5 loddepunktene for knappene. Det andre benet på hver knapp går til Arduino pin A0. Hver knapp trenger to ledninger loddet. Bruk en Ohm -måler for å bestemme hvilke knappben som skal brukes, men generelt kan du ikke gå galt med ikke -tilstøtende ben (diagonalt fra hverandre).

Velg innstillingene for Arduino i IDE. Last ned skissen og last den på Arduino og test / feilsøk.

Klar til å legge den i en eske? Fjernet etiketten for cappuccino, vasket og tørket esken min. Mål nøye og kutt ut hullet i esken for LCD -skjermen som du kan se, og den er montert med 3 plugger skrudd til tre LCD -hjørnehull (2 til bunnen av esken, 1 nær lokket) akkurat så lenge at den når bak på esken og hold den på plass med friksjon. Skruehullet på LCD -tavlen kan være for nær terminalen, så jeg utelater det. Brukte en Exacto -kniv til å bore styrehull for skruer i pluggene slik at de ikke splittes (forsiktig, ikke skli og stikk deg selv, hold plugger med tang). Måtte bøye / moske esken litt for siste installasjon, men den klikker tilbake til riktig form. Hullene til knappene "bores" ved å plassere dem (tegne linjer med rett kant) og varme opp terminalene med et loddejern til de "smelter gjennom" boksen. Deretter fjernet du knappene etter at de var avkjølt og loddet på 6 " - 9" CAT 5e wire rester eller 18ga til 22ga wire til knappene. Installer knappene tråd-først tilbake i hullene, og lodd deretter til prototavlen til motstanden. En prikk med superlim, varmt lim eller til og med bare friksjon holder knappene på plass. På et bygg brukte du noen telefonkabelskjøtere (de røde sirklene i de klare plastblokkene) for å gjøre den siste håndfull tilkoblinger enklere mellom batteriboksen, motstandskortet og LCD / Arduino-enheten. Hvis du vil kan du bruke loddetinn og varmekrymping i stedet. Skyv deretter forsiktig og sakte alle ledningene og komponentene inn i esken og lukk lokket. Har du installert et batteri og lastet opp Arduino -skissen før du gjorde alt dette? Du trenger også biblioteket for en 20x4 LCD -skjerm med eller uten I2C (alt du velger) som du kan laste ned gratis på Github. Slå på den, prøv den og se om den fungerer. Senere redigerte jeg skissen min med pauser for å gjøre den lettere å lese, la til "blinkende prikker -effekten" og noen andre ting sammen med mange kommentarer. Prøv å plassere Arduino slik at USB fortsatt kan kobles til og en ny skisse lastes opp. Brukte selvfølgelig et flytdiagram når du laget skissen. Du finner kommentarene ganske definere hvor hver blokk med flytdiagram var.

Du vil oppdage at knappene er i en serie / parallell krets som lar deg bruke en Arduino -inngangspinne for så mange knapper du vil. Kretsen fungerer som en spenningsdeler for å mate en verdi til den analoge pinnen og endre verdien som leses av hver knapp som trykkes. Du kan bruke den serielle skjermen til å finne ut kretsverdiene basert på motstandene dine og endre de "aksepterte verdiene" i skissen din.

Håper du koser deg med å bygge din egen! Hvis du lager en eller til og med gjør noen mods av dette, vennligst del med oss andre. Takk for at du leser.

Trinn 4: Programmering og innstillinger

Programmering og innstillinger
Programmering og innstillinger
Programmering og innstillinger
Programmering og innstillinger

Nå for moro skyld med IDE. Jeg håper du har drukket litt cappuccino. Du kan trenge det for å hjelpe deg med å holde deg våken.

Det kan hende du må sette opp noen biblioteker. Du trenger Wire.h For I2C, LCD.h for LCD, LiquidCrystal_I2C.h for I2C kontrollert LCD. Du må også bruke kommandoen lcd.begin (20, 4) for å fortelle Arduino at du bruker en 20 tegn 4 -linjers LCD, og det kan være andre innstillinger.

For informasjon om installering av biblioteker, se:

I Arduino IDE finner du kanskje ut at du må stille inn brettet og porten du har det koblet til. Porten finnes i datamaskinens kontrollpanel/enhetsbehandling/Universal Serial Bus -kontrollere. Du må finne ut hvilken Arduino du bruker. Jeg bruker Arduino Nano, men Uno fungerer også for dette. Velg innstillingene nøye.

Du må kanskje finne ut I2C -adressen din. Du bør kunne lese den direkte fra bretthopperne. Du kan også laste ned en I2C -skanner fra Arduino.cc eller https://www.gammon.com.au/forum/?id=10896 og andre steder.

Et sted rundt dette punktet bør du kunne laste programmet til Arduino og teste for funksjonalitet. Lyser LCD -skjermen? Kan du lese karakterer? En gang jeg bygde kretsen testet jeg bakgrunnsbelysningen, men tegn var uleselige. Brukte timer (det er riktig, HOURS) på å prøve innstillinger og toningstilkoblinger for å sikre at den ble bygget riktig. Ga opp i et par dager. Kom tilbake til det senere og innså at den variable motstanden på piggyback -brettet var satt til minimum. Skru opp det og karakterene var synlige. Knallhodet på skrivebordet. En annen grunn til å slå hodet på skrivebordet? Hvis du trenger å bytte batteri, må du kanskje justere denne variable motstanden igjen. Da dette skjedde, skar jeg et lite hull på baksiden av esken for tilgang.

Du må kanskje angi dine egne knappverdier i dette programmet basert på motstandene du bruker for knappene dine. Du kan bruke denne praktiske lille skissen til det og husk å aktivere den serielle skjermen. Kjør skissen og trykk på hver knapp og skriv ned hver verdi. Rediger deretter skissen for å gjenspeile knappens verdier. Last deretter opp den redigerte skissen til brettet ditt og se om det fungerer.

Det er mange små variabler som alle må være helt riktige, og din kan være annerledes enn min. Å være tålmodig og prøve forskjellige ting vil hjelpe deg med å få dine til å fungere. Husk også at etter at du har angitt Arduino-variablene (Som brettnavn, com 3, 5 eller hva som helst, prosessor og programmerer [alt under verktøy]) kan det hende du har satt dem alle riktig, men det fungerer ikke fordi du må starte på nytt. Koble fra Arduino og koble den til datamaskinen igjen. Du må kanskje lagre og starte datamaskinen på nytt også.

Last opp denne skissen, kjør skjermen, trykk på knappene og registrer verdiene, rediger deretter Paper Rock Scissors -skissen og erstatt mine motstandsverdier med dine. Kjør Paper Rock Scissors -skissen og se om den fungerer riktig. Å ja, installerte du knappene i feil rekkefølge? Du må kanskje installere dem på nytt hvis du vil ha dem i en bestemt rekkefølge.

Ha det gøy!

Trinn 5: Knappeleseskisse hjelper deg med å finne dine motstandsverdier for å redigere i hovedskissen. Trykk på hver knapp og registrer dine motstandsverdier for å komme inn i hovedskissen

// knappeskisse

ugyldig oppsett () {

// legg oppsettskoden her for å kjøre en gang:

Serial.begin (9600);

}

void loop () {

// legg hovedkoden her for å kjøre gjentatte ganger:

int buTTon; // For lesingsknapper

buTTon = 0; // For lesingsknapper

buTTon = analogRead (A0); // Kommando pleide å lese knappene

forsinkelse (100);

Serial.println (buTTon);

Trinn 6: Delelister og verktøy du kan trenge

Deleliste fra Amazon:

Arduino Uno eller Arduino Nano

20x4 LCD -skjerm med eller uten I2C

9v eller 6v batteriboks med SPST skyvebryter (eller få glidebryteren separat)

5x SPST -trykknapper

1x opptrekksmotstand 1k - 5k

5x motstander mindre enn 1k, 200 - 500 ohm er bra

Delelister Andre steder eller butikker:

9v eller 4x 1,5-volts batteri (9v-alternativet lar deg resirkulere "stort sett døde" batterier)

Command Strips (brukte påfyllingspakke) eller dobbeltsidig klebrig tape

Telefonkabelskjøter (valgfritt, men gjør det enkelt å koble til ledninger)

Noen få centimeter 1/4 plugg

Små treskruer for montering av plugger på LCD

Lodding

Heat Shrink for 18 ga ledninger

Utklipp eller gjenvinningsdeler:

Tom blandingsboks for cappuccino -drikke (ikke alle har en 3D -skriver, ha litt cappuccino og resirkuler litt plast)

Omtrent 1 "x 2" Proto board -skrap, selv om jeg brukte protoboard fra Amazon

Ulike lengder på 18ga til 22ga wire eller Cat 5e solid kjerne

Verktøy du kan trenge:

Liten Philips skrutrekker

Liten flat skrutrekker

Exacto Knife

Loddejern og loddetinn

Kraftig saks

Nål nesetang

Hersker

Trinn 7: Litt mer informasjon og hovedskissen

Takk for at du leser. Jeg vet det er mye. Dette er min første Intructable, og dette alene var litt lærerikt for meg. Når jeg ser tilbake, ser jeg at jeg er ordrik noen steder og for kort andre steder. Jeg burde ha brutt monteringen ned mer i trinn. Og siden jeg bygde dette prosjektet omtrent et dusin ganger til det var helt riktig, er noen av bildene fra en eller annen modell. Jeg må gå tilbake og ta bilder av bare en modell. Jeg vil også inkludere en video eller to. Så ja, jeg kommer tilbake og fikser dette. Men for nå legger jeg det i hendene dine. Jeg håper du liker å bygge det like mye som jeg gjorde. Takk igjen for at du leste.

Anbefalt: