Indholdsfortegnelse:
- Trin 1: Have de ting, du har brug for
- Trin 2: Hent og download koden
- Trin 3: Afspilning
- Trin 4: Valgfri eksperimenter med eksterne komponenter
Video: Test Bare Arduino, med spilsoftware ved hjælp af kapacitiv input og LED: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
"Push-It" interaktivt spil ved hjælp af et bar Arduino-bord, ingen eksterne dele eller ledninger nødvendig (bruger en kapacitiv 'touch' input). Vist ovenfor viser, at det kører på to forskellige tavler.
Push-It har to formål.
- For hurtigt at demonstrere/kontrollere, at dit Arduino -kort fungerer, og at du er konfigureret korrekt til at downloade en ny kodeskitse til det. Du vil kunne se, at den udfører input og output (registrer digitalt inputniveau, output til indbygget LED); gemme og gendanne en værdi fra den ikke-flygtige EEPROM-hukommelse. Alt sammen uden at tilslutte ledninger eller enheder.
- Giv et underholdende og udfordrende spil, der interagerer med et Arduino -bord.
Denne instruktive forudsætter, at du allerede har installeret en Arduino IDE og i det mindste er minimalt bekendt med dens brug. Hvis ikke henviser jeg dig til disse links:
Kom godt i gang med Arduino
Tilføjelse af Digispark (med bootloader) support til eksisterende Arduino 1.6.x IDE
Push-It fungerer med de fleste Arduino-plader, f.eks. et Nano, Uno eller DigiSpark Attiny85 board. I har testet det med en Nano 3.1 og en DigiSpark. I teksten når jeg refererer til pins navne/numre vil de være som brugt på Nano boardet (i modsætning til DigiSpark).
Trin 1: Have de ting, du har brug for
Hvilket simpelthen er ethvert Arduino eller lignende bord.
Hvis du ikke allerede har en, anbefaler jeg at komme i gang med en DigiSpark Pro (~ $ 12) eller en Nano 3.0 fra eBay til ~ $ 3 (men du har en ekstra uge eller to til at vente på, at den kommer fra Kina; og du skal installere en CH340 USB -driver). DigiSpark ~ $ 10 (ikke Pro) er meget velegnet til dette enkelt bit 'videospil' (Denne fjernede enhed, der kun har 6 I/Os, er lidt vanskeligere at uploade til)
Links til den hardware, der bruges her:
Nano V3.0 Atmega328P på eBay
Digispark USB Development Board
Trin 2: Hent og download koden
Kopier koden herunder til en arduino -skitsefil (f.eks. …/Push_It/Push_It.ino) Jeg har forsøgt at kommentere den ret godt. Jeg håber, at du finder koden let forståelig. Logikken til at bestemme, hvornår man skal øge, reducere og hvornår man ikke skal, er noget kompliceret, men den del er også specialiseret kode og er ikke af generel nytte. For flere detaljer om opsætning af en ny 'skitse' (kodeprojekt), der skal bruges med Arduino IDE se:
Oprettelse af en ny Arduino -skitse
Download skitsen 'Push_It' til vores mikrokontroller i henhold til Arduino IDE instruktionerne til dit bord.
Trin 3: Afspilning
Målet med spillet er at få LED'en (ombord) til at blinke så mange gange som muligt i et sæt blink, der derefter gentages
At spille spillet:
Push-It starter med en enkelt flash, som derefter gentages. Hvis du rører din finger i nærheden af indgangsstiften, mens LED'en er tændt, blinker LED'en to gange i den næste cyklus.
Hver gang du trykker på pseudoknappen under den første blitz i et sæt blink, tilføjes endnu en blitz til dette sæt. Det gør generelt ikke noget, når du løfter/fjerner din finger.
Men hvis du 'skubber' før eller efter den første blitz, reduceres antallet af blink i et sæt.
Hvis du ikke gør mere, bevares antallet af blink i et sæt. Når tællingen endvidere forbliver uændret i en hel cyklus, tælles nummeret i EEPROM -hukommelse.
Hver gang du formår at øge flashtællingen, øges timingen lidt, hvilket gør det sværere og sværere at nå op til høje flashtællinger. Når du laver en slip op, og antallet af blink bliver reduceret, vil der være en længere pause, før startblinket i den næste cyklus. Dette giver en ekstra udfordring, da det kan øge sandsynligheden for, at du hopper med pistolen. Så vær opmærksom.
Når du har fået din enhed op til et højt flashtal, kan du tage den (eller sende den, som DigiSpark er god til) til en ven, hvor de ved tilslutning vil se, hvor højt et flashtælling du har fået din op til. Jeg har oplevet, at det er en udfordring at få det op på mere end 8. Med en egentlig knap vedhæftet har jeg formået at få det op på over et dusin. For at vende tilbage til et lavere antal kan du gentagne gange trykke på det når som helst før eller efter den første flash. Hvis du også springer inputstiften til jorden under en opstart, tælles nulstillingen til 1.
Bemærk, at det originale DigiSpark-kort har en forsinkelse på 10 sekunder efter tænding, før det begynder at udføre 'Push-It' -koden og spille spillet. Det bruger denne tid til at prøve at tale gennem USB -stifterne for at modtage en mulig ny downloadkodeopdatering.
Hvis det Arduino -kort, du bruger, har en USB TX -lysdiode på, vil denne LED have en lille lille flash, når du effektivt har 'trykket på knappen'. Der vil blinke mere betydeligt af denne LED, når tællerværdien i EEPROM nogensinde opdateres med en ny værdi. Denne feedback kan hjælpe dig meget med at vide, hvornår eller sikre, at du effektivt har udløst en 'trykknap' -begivenhed. Du skal muligvis sikre, at du ikke rører kredsløbets jord (som metallet omkring et mikro-USB-stik), så din figur faktisk fremkalder støj til den åbne indgangsstift. Der vil blive tilføjet og lidt uforudsigelige udfordringer på grund af det faktum, at indgangsstiften flyder (ikke trukket op eller ned af en ledende/resistiv belastning) og den variable signalstøj, der kommer gennem din finger.
En firkantbølge på 250 Hz udsendes til en pin ved siden af inputstiften, hvilket i høj grad forbedrer sikkerheden for et injiceret indgangssignal, når din finger dækker begge stifter.
Jeg har fundet DigiSpark-tavlens svar til at være nogenlunde konsekvent forudsigeligt til et lille klem af fingrene til hjørnet af brættet, hvor D3-D5 er.
Når jeg spiller 'Push-It', gør jeg det gerne med kortet tilsluttet et USB 5v mobilbatteri (se fotos). Disse kan generelt findes billigt i skraldespande ved siden af USB AC og 12v auto adaptere; i de fleste stormagasiner elektronik afdeling.
Trin 4: Valgfri eksperimenter med eksterne komponenter
Bemærk: Hvis du vedhæfter en rigtig knap, er der en kodelinje, der skal kommenteres, som angivet i koden.
Med en højttaler, den ene side til jorden, hvis du rører den anden ledning til D4, hører du lyden af en 250 Hz firkantbølge. Ved D3 er der en 500Hz firkantbølge. Hvis du tilslutter højttaleren mellem D3 og D4, hører du en sammensat af de to signaler.
Tilslutning af en LED i stedet for en højttaler som ovenfor er meget interessant. Der er ingen grund til at bekymre sig om spænding, strømniveauer, modstandere eller endda polaritet for den sags skyld (værre tilfælde lyser det ikke, så drej det bare om). Prøv først og fremmest med den negative (katode) ledning forbundet til jorden og den anden til enten D3 eller D4. LED'en lyser 'halvt' på grund af de firkantede bølger. Desuden kræves der ingen resister, da output fra MicroControllerUnits er strømbegrænset. Jeg foretog aktuelle målinger, hvilket resulterede i 15ma og 20ma for henholdsvis Attiny85 og Atmega328 MCU'erne. Disse niveauer er cirka halvdelen af den nuværende begrænsede værdi for disse dele på grund af 50% driftscyklus karakter af de drivende firkantbølgesignaler. Målerens aflæsninger er faktisk et gennemsnit af strømmen gennem det testede kredsløb.
Interessant nok, hvis du bygger bro mellem D3 & D4 med LED'en (se billedet ovenfor og til venstre), lyser den begge veje, og med cirka ½ lysstyrken, som den gjorde med den ene side forbundet til jorden. Jeg inviterer dig til at overveje hvorfor.
Anbefalede:
Spil med 4 knapper ved hjælp af et analogt input: 6 trin (med billeder)
4-knapsspil ved hjælp af en analog indgang: Denne instrukser fokuserer på at bruge en analog indgangslinje til flere knapper, som kan detekteres uafhængigt af hinanden.Og for at fremhæve brugen af disse knapper er software til at spille fire forskellige 4-knapsspil. Alle spil (8 i t
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores
ESP32 kapacitiv berøringsindgang ved hjælp af "metalliske hulpropper" til knapper: 5 trin (med billeder)
ESP32 kapacitiv berøringsindgang ved hjælp af "Metallic Hole Plugs" til knapper: Da jeg var ved at færdiggøre designbeslutninger til et kommende ESP32 WiFi Kit 32 -baseret projekt, der kræver input af tre knapper, var et mærkbart problem, at WiFi Kit 32 ikke har en enkelt mekanisk trykknap, alligevel alene tre mekaniske knapper, f