Innehållsförteckning:

Handhållet Arduino Paper Rock saxspel med 20x4 LCD -skärm med I2C: 7 steg
Handhållet Arduino Paper Rock saxspel med 20x4 LCD -skärm med I2C: 7 steg

Video: Handhållet Arduino Paper Rock saxspel med 20x4 LCD -skärm med I2C: 7 steg

Video: Handhållet Arduino Paper Rock saxspel med 20x4 LCD -skärm med I2C: 7 steg
Video: OPTIMERA STHLM! Daniel Stenberg 2024, Juli
Anonim
Handhållet Arduino Paper Rock saxspel med 20x4 LCD -skärm med I2C
Handhållet Arduino Paper Rock saxspel med 20x4 LCD -skärm med I2C
Handhållet Arduino Paper Rock saxspel med 20x4 LCD -skärm med I2C
Handhållet Arduino Paper Rock saxspel med 20x4 LCD -skärm med I2C
Handhållet Arduino Paper Rock saxspel med 20x4 LCD -skärm med I2C
Handhållet Arduino Paper Rock saxspel med 20x4 LCD -skärm med I2C

Hej alla eller kanske jag borde säga "Hej världen!"

Det skulle vara ett stort nöje att dela ett projekt med dig som har varit mitt inträde till många saker Arduino. Detta är ett handhållet Arduino Paper Rock saxspel med en I2C 20x4 LCD -skärm. Jag vet att du kanske tänker, "Ett annat Paper Rock Scissors -spel?" Men de flesta Arduino Paper Rock saxspel använder enkla lysdioder och jag såg också en som använde papperssymboler som lyfts av servon. De är coola. Detta projekt använder 20x4 LCD -skärm och gjorde en med I2C och en utan den (visas inte här). Ville ha ett billigt fodral med ett färdigt utseende, inte bara en brödbräda. Alla har inte tillgång till en 3D -skrivare och vill betala någon som gör det. Och jag ville att det skulle vara enkelt att göra så att jag kunde dela idéerna med andra. Eftersom mina programmeringskunskaper är nybörjarnivå är skissen ganska enkel och lätt att förstå och redigera. Detta var min personliga utbildning i att skapa en skiss. Du hittar många anteckningar i skissen och det har gått igenom många, många (20+?) Iterationer tills jag tror att det är helt rätt. Projektet kostar mindre än $ 20 att göra (icke I2C).

Kom igång med Arduino 2018 och gick igenom deras hemsida och läste allt jag kunde. Byggde och experimenterade med de exempelprojekt som den kommer med och läste en hel del instruktioner så många av er har delat genom åren. Uppskattar dem verkligen och har lärt mig så mycket av er alla. Tack. Nu vill jag dela med mig av lite av det jag har lärt mig lägga till min egen kreativitet. Innan kommentarsfältet hopar sig med massor av frågor om hur man gör detta och det, kom ihåg att jag började med detta utan erfarenhet av Arduino. Jag lärde mig genom att bygga exempelprojekten på Arduino- och Instructables -webbplatserna. Jag lärde mig av er. När du fastnar kan det vara det snabbaste sättet för dig att hitta en lösning.

Steg 1: Projektintroduktion

Projekt introduktion
Projekt introduktion
Projekt introduktion
Projekt introduktion

Valde LCD -skärmen från Amazon och valde I2C 20x4 LCD på grund av låg kostnad (cirka $ 12 - $ 18) och enkel kabeldragning och programmering. Om du vill kan du använda en utan I2C och kan få en så billig som $ 7. Men du måste använda ett annat bibliotek och kabeldragning och använda fler Arduino -stift. Oroa dig inte, det är nog att gå åt båda hållen. Seriell I2C 20x4 skulle vara lättare att bygga, färre ledningar är mindre förvirrande. Men parallell 20x4 LCD är cirka $ 5 billigare. Jag ritade scheman för båda ledningarna. De flesta andra delarna köpte jag från Amazon och några lokala butiker. Min låda är en tom låda med cappuccino -drink. Jag gillar att locket lätt tar av för att slå på/stänga av strömmen, arbeta med komponenter eller byta batteri. Och "Hej!" lådan var gratis och jag gillar cappuccino. Återvinning av plast är bra för miljön. Du kan använda vilken låda du vill att allt passar in i eller till och med hoppa över rutan eller brödbrädet i projektet. Jag ville ha en "färdig projektlook" på det billiga. Jag slår vad om att någon skapar en 3D -tryckt version. Arduino spelar Paper Rock Scissors -spelet med dig på LCD -skärmen, håller poäng, du kan mata in med knapparna, och om du väljer finns det ett alternativ som låter dig fuska. Ursprungligen skrevs fuskfunktionen för felsökningsändamål och när jag var klar med det kommenterade jag det. Bara för skojs skull lägger jag in den igen.

Steg 2: Brödbräda

Bakbord
Bakbord
Bakbord
Bakbord

Jag brödade mina kretsar med Arduino Uno men när jag satte ihop allting använde jag Arduino Nano eftersom det passar bättre i lådan. Så du kan bygga detta med endera. Men kom ihåg att ändra ett par inställningar i IDE. Nano installeras på baksidan av LCD-skärmen med kommandoremsor eller dubbelsidig tejp. Placera Arduino Nano bredvid I2C piggyback -kortet så att USB -kontakten kommer att vända utåt (till höger om LCD -skärmen). Du kan använda en 9v eller 4x AA (vilket ger dig 6v) batterilåda med SPST -skjutbrytare för kraftmonterad inuti lådan också med Command Strips. Byggd på båda sätten, Arduino har en inbyggd spänningsregulator som tar den ner till de 5 volt den behöver. Om du tänker efter kan det här spelet faktiskt återvinna "mestadels döda 9V -batterier" för kraft och fungera bra. (Du byter rökdetektorbatterier två gånger om året, eller hur?) Andra enheter som använder ett 9v -batteri kan säga att det är dött med 6-8 volt; men det är inte dött förrän det är "Arduino Dead!"

När jag designade projektet använde jag 4 SPST -knappar för inmatning. Men när jag byggde det färdiga spelet i rutan använde jag 5 SPST -knappar för att tänka i framtiden, jag kanske skulle försöka skapa ett spel som behövde fler knappar. Kanske ett labyrintspel? En motståndsspänningsdelare för knapparna monteras tillsammans på en skrotbit av proto -bräda som också kan monteras med Command Strips.

Steg 3: Montering

hopsättning
hopsättning
hopsättning
hopsättning
hopsättning
hopsättning

Hopsättning:

De 4 huvudsakliga enheterna är LCD -skärmen med tillvalet I2C -piggyback -kort, Arduino Nano, motstånden och switcharna som är kedjade till det sammankopplade proto -kortet och batterilådan med på/av -omkopplare.

Du bör börja med att bröda ombord på kretsen eller hårda kabeln till proto-kortet enligt schemat. Jag gillar att förvara LCD -skärmen med framsidan nedåt i lådans lock så att den inte repas. Jag använde en rubrik på endast den ena sidan av Arduino som har 5v för att ansluta den till proto board. Jag gjorde en bro med 3 sidhuvuden (massor av lödarbete) från Arduino till proto-kortet så att de låg platt på baksidan av LCD-skärmen med kommandoremsor eller dubbelsidig tejp. Men egentligen kan brädorna anslutas bara genom att lödkablar från den ena till den andra. Använde en kvinnlig rubrik för att ansluta proto -kortet till LCD I2C. Proto board motståndsbenen kan användas för att göra de 5 lödpunkterna för knapparna. Det andra benet på varje knapp går till Arduino pin A0. Varje knapp behöver 2 trådar lödda. Använd en Ohm -mätare för att avgöra vilka knappben som ska användas, men i allmänhet kan du inte gå fel med icke -angränsande ben (diagonalt från varandra).

Välj dina inställningar för din Arduino i IDE. Ladda ner skissen och ladda den på Arduino och testa / felsöka.

Redo att lägga den i en låda? Tog bort etiketten för cappuccino, tvättade och torkade min låda. Mät noggrant och skär ut hålet i lådan för LCD -skärmen som du kan se och den är monterad med 3 pluggar skruvade på tre LCD -hörnhål (2 till botten av lådan, 1 nära locket) precis tillräckligt länge för att nå bak på lådan och håll den på plats med friktion. Skruvhålet på LCD -skärmen kan vara för nära terminalen, så jag utelämnar det. Användte en Exacto -kniv för att borra pilothål för skruvar i pluggarna så att de inte splittras (var försiktig, glid inte och stick dig själv, håll pluggar med tång). Var tvungen att böja / krossa lådan lite för den sista installationen, men den snäpper tillbaka till rätt form. Hålen för knapparna "borras" genom att placera dem (dra linjer med rak kant) och värma upp terminalerna med ett lödkolv tills de "smälter igenom" lådan. Ta sedan bort knapparna efter att de svalnat och lödda på 6 " - 9" CAT 5e trådrester eller 18ga till 22ga tråd till knapparna. Sätt tillbaka knapparna först i hålen och löd sedan fast mot motorkortet. En prick med superlim, varmt lim eller till och med bara friktion håller knapparna på plats. På en byggnad använde jag några telefonkabelskärare (de röda cirklarna i de klara plastblocken) för att underlätta den sista handfull anslutningarna mellan batterilådan, motståndskortet och LCD / Arduino-enheten. Om du vill kan du använda lod och värmekrymp istället. Skjut sedan försiktigt och långsamt in alla trådar och komponenter i lådan och stäng locket. Har du installerat ett batteri och laddat upp Arduino -skissen innan du gjorde allt detta? Du behöver också biblioteket för en 20x4 LCD -skärm med eller utan I2C (vilket du än väljer) som du kan ladda ner gratis på Github. Slå på den, prova den och se om den fungerar. Senare redigerade jag min skiss med pauser för att göra den lättare att läsa, lade till "blinkande prickar -effekten" och några andra saker tillsammans med massor av kommentarer. Försök att placera Arduino så att USB fortfarande kan anslutas och en ny skiss laddas upp. Använde naturligtvis ett flödesschema när jag skapade skissen. Du hittar kommentarerna ganska definiera var varje block av flödesschema var.

Du kommer att upptäcka att knapparna finns i en serie / parallell krets som låter dig använda en Arduino -ingångsstift för så många knappar du vill. Kretsen fungerar som en spänningsdelare för att mata ett värde till den analoga stiftet och ändra värdet som läses av varje knapp som trycks. Du kan använda den seriella monitorn för att räkna ut dina kretsvärden baserat på dina motstånd och ändra de "accepterade värdena" i din skiss.

Hoppas du har kul att bygga ditt eget! Om du gör en eller till och med gör några mods av detta, dela med oss andra. Tack för att du läste.

Steg 4: Programmering och inställningar

Programmering och inställningar
Programmering och inställningar
Programmering och inställningar
Programmering och inställningar

Nu för skojs skull med IDE. Jag hoppas att du har druckit lite cappuccino. Du kan behöva det för att hjälpa dig att hålla dig vaken.

Du kanske kommer att behöva konfigurera några bibliotek. Du behöver Wire.h För I2C, LCD.h för LCD, LiquidCrystal_I2C.h för I2C kontrollerad LCD. Du kommer också att behöva använda kommandot lcd.begin (20, 4) för att berätta för Arduino att du använder en LCD -skärm med 20 tecken och det kan finnas andra inställningar.

För information om installation av bibliotek, se:

I Arduino IDE kanske du kommer att behöva ställa in ditt kort och porten du har den ansluten till. Porten finns på datorns kontrollpanel/enhetshanterare/Universal Serial Bus -styrenheter. Du måste ta reda på vilken Arduino du använder. Jag använder Arduino Nano men Uno fungerar också för detta. Välj dina inställningar noggrant.

Du kan behöva räkna ut din I2C -adress. Du borde kunna läsa den direkt från brädhopparna. Du kan också ladda ner en I2C -skanner från Arduino.cc eller även https://www.gammon.com.au/forum/?id=10896 och andra platser.

Någonstans runt denna punkt bör du kunna ladda programmet till Arduino och testa för funktionalitet. Lyser LCD -skärmen? Kan du läsa karaktärer? En gång jag byggde kretsen testade den bakgrundsbelysningen men tecken var oläsliga. Tillbringade timmar (det stämmer, HOURS) med att försöka med inställningar och toningsanslutningar för att se till att den byggdes rätt. Gav upp i ett par dagar. Kom tillbaka till det senare och insåg att det variabla motståndet på piggyback -kortet var inställt på minimum. Slog upp det och karaktärerna var synliga. Bang huvud på skrivbordet. En annan anledning att slå huvudet på skrivbordet? Om du behöver byta batteri kan du behöva justera detta variabla motstånd igen. När detta hände skar jag ett litet hål på baksidan av lådan för åtkomst.

Du kan behöva ställa in dina egna knappvärden i det här programmet baserat på motstånden du använder för dina knappar. Du kan använda den här praktiska lilla skissen för det och kom ihåg att aktivera den seriella bildskärmen. Kör skissen och tryck på varje knapp och skriv ner varje värde. Redigera sedan skissen för att återspegla dina knappvärden. Ladda sedan upp den redigerade skissen till ditt bräde och se om det fungerar.

Det finns många små variabler som alla måste vara precis rätt och din kan vara annorlunda än min. Att vara tålmodig och prova olika saker hjälper dig att få dina att fungera. Kom också ihåg att när du har ställt in dina Arduino-variabler (som kortnamn, com 3, 5 eller vad som helst, processor och programmerare [allt under verktyg]) kan du ha dem alla rätt men det fungerar inte eftersom du måste starta om. Koppla ur Arduino och anslut den till datorn. Du kanske också måste spara och starta om datorn igen.

Ladda upp den här skissen, kör bildskärmen, tryck på knapparna och spela in värdena, redigera sedan Paper Rock Scissors -skissen och ersätt mina motståndsvärden med dina. Kör Paper Rock Scissors -skissen och se om det fungerar rätt. Åh ja, installerade du dina knappar i fel ordning? Du kan behöva installera om dem om du vill ha dem i en viss ordning.

Ha så kul!

Steg 5: Knappläsningsskiss hjälper dig att hitta dina motståndarvärden för att redigera i huvudskissen. Tryck på varje knapp och registrera dina motståndsvärden för att komma in i huvudskissen

// knappläsningsskiss

void setup () {

// lägg din installationskod här för att köra en gång:

Serial.begin (9600);

}

void loop () {

// lägg din huvudkod här för att köra upprepade gånger:

int buTTon; // För läsknappar

buTTon = 0; // För läsknappar

buTTon = analogRead (A0); // Kommando som används för att läsa knapparna

fördröjning (100);

Serial.println (buTTon);

Steg 6: Reservdelar och verktyg du kan behöva

Reservdelar från Amazon:

Arduino Uno eller Arduino Nano

20x4 LCD -skärm med eller utan I2C

9v eller 6v batterilåda med SPST -skjutbrytare (eller få skjutreglaget separat)

5x SPST -knappar

1x uppdragningsmotstånd 1k - 5k

5x motstånd mindre än 1k, 200 - 500 ohm är bra

Reservdelar Andra platser eller butiker:

9v eller 4x 1,5-volts batteri (9v-alternativet låter dig återvinna "oftast döda" batterier)

Command Strips (använde påfyllningspaket) eller dubbelsidig tejp

Telefonkabelskärare (tillval men gör det enkelt att ansluta ledningar)

Några centimeter 1/4 plugg

Små träskruvar för montering av pluggar på LCD

Löda

Värmekrympning för 18 ga ledningar

Skrot eller återvinningsdelar:

Tom blandningslåda för cappuccino -drinkar (inte alla har en 3D -skrivare, har lite cappuccino och återvinner lite plast)

Cirka 1 "x 2" Proto board skrot även om jag använde protoboard från Amazon

Olika längder på 18ga till 22ga tråd eller Cat 5e solid kärna

Verktyg du kan behöva:

Liten Philips skruvmejsel

Liten platt skruvmejsel

Exacto Kniv

Lödkolv och löd

Kraftig sax

Nåltång

Linjal

Steg 7: Lite mer information och huvudskissen

Tack för att du läste. Jag vet att det är mycket. Detta är min första Intructable och det här ensamma var lite lärorikt för mig. När jag ser tillbaka ser jag att jag är ordrig på vissa ställen och för kort på andra. Jag borde ha delat upp monteringen mer i steg. Och eftersom jag byggde det här projektet ungefär ett dussin gånger tills det var lagom är några av bilderna från en eller annan modell. Jag måste gå tillbaka och ta bilder av bara en modell. Jag vill också inkludera en video eller två. Så ja, jag kommer att komma tillbaka och fixa det här. Men nu lägger jag det i dina händer. Jag hoppas att du gillar att bygga det lika mycket som jag gjorde. Tack igen för att du läste.

Rekommenderad: