Innehållsförteckning:
- Steg 1: Funktioner
- Steg 2: Börja spela
- Steg 3: AutoPowerOff -funktioner
- Steg 4: Låt oss börja bygga
- Steg 5: AutoPowerOff -version
- Steg 6: Skissen
- Steg 7: Ändringar
- Steg 8: Avsluta
Video: BrainGame: 8 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Hej i denna instruktion kommer jag att visa hur man bygger ett litet spel som används för övning matematik, med en Arduino Uno och en Oled display.
Allt började när jag hjälpte min son med hans skolarbete.
Jag kom på idén för att använda en enhet för att träna den analoga klockan och grundläggande aritmetik.
Om du har läst min andra instruktion, "OLEDDICE" känner du förmodligen rutan och andra saker från det projektet.
När jag gjorde designen för tärningsprojektet köpte jag flera skräddarsydda kretskort och designade dem för en specifik låda, därför kommer jag att återanvända den för många bärbara projekt.
På grund av ovanstående visar videon det slutliga anpassade hjärnspelet och hur man använder det, men i denna instruktion kommer jag att beskriva hur man bygger det på ett brödbräda.
Det finns två versioner tillgängliga.
1. Standardversion
2. AutoPowerOff -version
AutoPowerOff -versionen har några extra komponenter tillagda för att stänga av strömmen automatiskt för att spara batterier.
Det är det perfekta valet om du, som jag gör en för att vara bärbar.
Steg 1: Funktioner
Funktionerna som beskrivs nedan är desamma för båda versionerna förutom AutoPowerOff -funktionen.
Spelet har tre standard momentana PCB -switchar för kontrollen.
Välj, OK och Tillbaka
Så här spelar du.
När du först startar spelet kommer du att uppmanas att välja spel från spelmenyn.
Du kan välja mellan 2 sidor.
Första sidan:
- tillägg
- subtraktion
- multiplikation
- division
Andra sidan:
- binär konvertering
- hex -omvandling
- Analoga klockavläsningar
- Slumpmässigt läge går genom den grundläggande matematiken.
När du har bestämt vilket spel du vill spela, tryck på OK så går du till nästa meny för att välja
nivå från 1-4
Om du slår tillbaka -knappen kommer du tillbaka till föregående meny.
Steg 2: Börja spela
Tryck på ok för att starta uppspelningen.
Spel 1-4
Om du har valt spel från den första menyn kommer du att ha en fråga och en växande tidsrad längst ner på displayen. När tiden är slut visar spelet rätt svar.
Att slå OK igen kommer att ge dig en ny uppgift.
Spel 5-8
Om du väljer konvertering från den andra sidan är beteendet liknande, men här måste du slumpmässigt konvertera, från eller till, mellan decimal, binär eller hex.
När du spelar det här spelet har du inte tidsfältet, tryck bara på ok när du är redo att visa svaret.
Det sista spelet är de analoga klockavläsningarna. När du klickar på ok börjar klockan att snurra och sakta ner ett slumpmässigt antal gånger innan den stannar, och du kommer då att bli ombedd att svara på vad klockan är.
För att göra det enklare stannar klockan alltid med 5 minuters mellanrum.
För alla spel kommer du att ha en ljudsignal när du spelar om ljudet är aktiverat.
För att aktivera eller inaktivera ljudet, håll ned back -knappen i mer än 1 sek. Om ljudet är inaktiverat finns en liten tyst symbol i det övre högra hörnet.
Steg 3: AutoPowerOff -funktioner
Om du bygger AutoPowerOff -versionen finns det några ytterligare funktioner.
Du startar enheten genom att hålla ok -knappen intryckt en sekund. Spelet körs i cirka 60 sekunder innan du får en varning för automatisk avstängning om du inte spelar något spel.
Om du inte trycker på någon knapp stängs strömmen av. Detta säkerställer att du aldrig kommer att glömma att stänga av spelet.
Om du trycker på valfri knapp återställs timern.
Håller du tillbaka -knappen i mer än tre sekunder och släpper den kommer det att tvinga spelet att stängas av.
Skissen använder EEPROM -biblioteket som levereras med Arduino IDE för att lagra data.
Strax innan strömmen går av sparar mikrokontrollern det senaste tillståndet och återkallar dem vid nästa omstart, spel, nivå och ljudläge.
Steg 4: Låt oss börja bygga
Det här är vad du behöver.
Båda versionerna:
1 Arduino Uno
1 0,96 i2c Oled display Oled display
3 korta tryckknappar PCB -switch
3 motstånd 10K
1 Piezo -element
1 lödfritt brödbräda
några bygelkablar.
AutoPowerOff -version:
För AutoPowerOff -versionen behöver du också.
1 Pfet Transistor IRF9640 eller liknande
1 NPN Transitor BC547 eller liknande
2 dioder 1N4148
1 Spänningsregulator 7805
2 motstånd 100K
2 kondensatorer 10uF
1 kondensator 0, 1uF
1 9 Volt batteri
Att bygga standardversionen handlar bara om att ansluta oled -displayen, piezoen, knapparna och pullup -motstånden. se fritzing bilden ovan.
SCL på displayen är ansluten till Analog5 och SDA är ansluten till Analog4 på Arduino.
Steg 5: AutoPowerOff -version
Om du bygger Autopoweroff -versionen måste du lägga till de extra komponenterna från listan på din brödbräda.
Observera att du måste flytta 10K pullup -motståndet för Ok -knappen till effektstyrkretsen och lägga till extra ledning från digital utgång 8.
Se också till att driva din Arduino genom 5 Volt -stiftet på ovansidan (inte genom DC -uttaget på sidan).
Du måste också ta bort din USB -kabel när skissen laddas, annars fungerar inte funktionen för automatisk avstängning beroende på att Arduino drivs av USB även om kretsen är avstängd.
Så här fungerar den automatiska avstängningskretsen.
När du trycker på ok -knappen kommer spänningsfallet på PFet: s Gate att låta batteriet strömma genom transistorn till spänningsregulatorn som stabiliserar spänningen till 5 Volt.
När Arduino drivs är den digitala stift 8 inställd på logik HÖG och stiftet är anslutet till basen på BC547 som låser kretsen så länge den digitala stift 8 är HÖG.
Ok -knappen styr också den digitala ingången 7 på Arduino genom dioden D2.
Steg 6: Skissen
Skissen använder U8g2 -biblioteket för visningen, du hittar den här.
Ladda ner och installera innan du sammanställer koden.
Behöver du hjälp med att installera bibliotekets? Https: //www.arduino.cc/en/guide/Libraries
VIKTIG:
Du använder samma skiss för båda versionerna, men du måste utesluta "#define AUTOPOWER" i början av skissen om du bygger standardversionen.
Steg 7: Ändringar
Det finns några parametrar i skissen som användaren kanske vill ändra för att bättre passa spelarens referenser.
- Dags att tänka på olika nivåer.
- Slumpmässigt utbud för olika spel och nivåer.
Slumpmässiga nummerintervall lagras i en 2dim -array för varje spel och varje nivå.
Om du använder en oled med annan I2c -adress än standard kan du enkelt ändra det så att det passar din skärm.
Steg 8: Avsluta
Du är färdig.
Jag hoppas att du gillar projektet och spelet.
Ha så kul.
Tomas
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Tre högtalarkretsar -- Steg-för-steg handledning: 3 steg
Tre högtalarkretsar || Steg-för-steg-handledning: Högtalarkretsen förstärker ljudsignalerna som tas emot från miljön till MIC och skickar den till högtalaren varifrån förstärkt ljud produceras. Här visar jag dig tre olika sätt att göra denna högtalarkrets med:
Steg-för-steg-utbildning i robotik med ett kit: 6 steg
Steg-för-steg-utbildning i robotik med ett kit: Efter ganska många månader av att bygga min egen robot (se alla dessa), och efter att två gånger ha misslyckats med delar, bestämde jag mig för att ta ett steg tillbaka och tänka om min strategi och riktning. De flera månaders erfarenhet var ibland mycket givande och
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)