Handheld Pong & inkräktare på billigt (Arduino kompatibel) (2 / 13 steg)
Steg 2: Design
Mikroprocessor
Nyckeln till utformningen av denna konsol är Atmel ATMega328P mikroprocessor. Detta har varit kärnan i många av mina projekt och det är bra för detta eftersom det kommer att köras i timmar av en enda litiumjonbatteri och även om vi har att släppa ner till 8 MHz på 3v3, det är enkelt nog för några spel på en lågupplöst LCD-display. Vi kan också programmera det från mycket populära Arduino IDE som gör skriva dina egna spel etc så enkla som möjligt.
ATMega328 har även travar av in/ut stiften så vi kan köra displayen, kontrollera bakgrundsbelysning, mäta analoga och digitala ingångar och har fortfarande extra stift för att mäta batteriets spänning, kontrollera klanggeneratorns etc. I själva verket har vi stiften för att skona även ju som så att de är uppdelade i styrelsen om du vill lägga till några extra funktion jag fick tänka på! En ljus-sensing bakgrundsbelysning skulle vara ganska coolt.
Andra viktiga komponenter
Resten av komponenterna drivs också av acceptabla prestanda till låg kostnad. En enda Li-ion cell och USB-laddare styrelsen tillåta oss att undvika att komma åt batteriet, vilket innebär att vi kan använda en billig plast låda. Nokia 5110 LCD-displayen är billigt men har tillräcklig upplösning för att ge en verklig representation av enkel retro spel och stöds av några bra Arduino bibliotek. Slutligen ger den WTV020 äger några mastering men när tämjas ganska bra ljud för sin kostnad och fotavtryck. Du kan undvara WTV020 och kör en högtalare direkt från ATMega, vilket skulle spara ca £2,50 (över 15%) på prislappen- men den modulen var nytt för mig och jag ville behärska det. Jag gillar också, en riktig "piew... krasch!" när du skjuta inkräktarna!
PCB & anslutningar
Genomförandet av detta är centrerad runt en anpassad PCB. Du kunde sätta detta tillsammans perf-ombord men jag verkligen behövde jam saker i att göra det hela gå i rutan så jag förväntar mig att du skulle behöva en större inhägnad utan PCB. I allmänhet, är knapparna skärmen och input och de delar som behövs för re-programmering på toppen av PCB med potentiometrar, ATMega och andra komponenter på botten. Laddaren styrelsen lim ner till botten av kammaren och som, talaren och batteriet koppla till PCB genom hoppare ledningar.
LCD-skärmen styrs från digital stift D8 till D13 (hoppa över D12 som vi bryter ut). Vi använder hårdvara SPI clock och data stift för att köra detta så fort som möjligt med hjälp av utmärkt "PCD8544_SPI" biblioteket av Arthur Liberman (aka "The coolaste" - http://www.alcpu.com). Mer om det finns senare steg. PWM utgångsstiftet D5 ger oss ljusstyrka kontroll inbyggda bakgrundsbelysningen i LCD-modulen. Om du använder D12 för andra saker, måste det nog förbli en ingångsstift. Om du använder det för en utgång kommer det antagligen röra till SPI gränssnitt.
Användarkontroller är från växlar på digital stift D6 och D7 och analoga kontroller med en potentiometer på A0 och A1. Analoga ping A3 används med en 50/50 spänningsavdelare för att mäta batterispänningen mot 3v3 reglerade voltage.* WTV klanggeneratorns rinner av D2-D4 och A2, lämnar A4 & A5 gratis för extra analoga eller digitala sensorer eller lägga till i2c kringutrustning. Likaså, D0 och D1 lämnas fri och kunde användas för ingångar men är användbara för seriell omprogrammering eller lägga till en seriell enhet. Serial output är också användbar för felsökning om du skriver din egen kod.
Bifogade material
De fullständiga Schematisk och styrelsen filer i Eagle 6.x-format är kopplade till detta steg som PDF och image versioner av schematiskt. Styrelsen filen möter design för iteadstudio.com men bör vara fina på mest styrelsen hus. V1.1 versionen i detta steg har ett par frågor fast över den första versionen som jag hade gjort upp så det finns några små skillnader från några av bilderna. Det är samma storlek och bör fungera precis.
* I min v1.0 hade jag spänning senor kretsen ombord så att lades bara med ett par motstånd från reservbatteri connector punkt till breakout punkt A3.