Stap 2: ontwerp
Microprocessor
De sleutel tot het ontwerp van deze console is de Atmel ATMega328P microprocessor. Dit is de kern van veel van mijn projecten en het is geweldig voor dit, omdat het voor uren uit een interne lithium-ionenbatterij lopen zal en hoewel we moeten dalen tot 8 MHz aan 3v3, dat is gemakkelijk genoeg voor een paar spelletjes op een lage resolutie LCD display. We kunnen het ook programmeren van de zeer populaire Arduino IDE die maakt het schrijven van je eigen games enz zo eenvoudig mogelijk.
De ATMega328 heeft ook stapels in/out pinnen, zodat we kunnen het display rijden, controle van de achtergrondverlichting, maatregel analoge en digitale ingangen en nog vrije pinnen voor het meten van de accuspanning, beheersen de klankmodule enz. In feite, hebben we de pinnen te sparen zelfs na al die dus die op het bord zijn uitgebroken in het geval dat u wilt toevoegen van een extra functie die ik niet denken aan! Een licht-sensing backlight zou wel heel gaaf.
Andere kerncomponenten
De rest van de componenten worden ook gedreven door aanvaardbare prestaties tegen lage kosten. Een eencellige Li-ion en USB lader bestuur ons in staat stellen om te voorkomen dat nodig voor toegang tot de batterij, wat betekent dat we kunnen gebruiken een goedkope plastic doos. De display van de Nokia 5110 is goedkoop maar heeft voldoende resolutie om een echte vertegenwoordiging van eenvoudige retro games en wordt ondersteund door enkele grote bibliotheken van de Arduino. Ten slotte geeft de WTV020 neemt enkele beheersen maar eenmaal getemd vrij goed geluid voor de kosten en de voetafdruk. Je zou kunnen afzien van de WTV020 en rijden een spreker direct van de ATMega, die ongeveer £2,50 (meer dan 15%) op het prijskaartje zou besparen maar die module was nieuw voor mij en ik wilde te beheersen. Ook ik graag de juiste "piew... crash!" wanneer je schiet de indringers!
PCB & aansluitingen
De uitvoering van dit is gecentreerd rond een aangepaste PCB. U kon samen te stellen dit op première-bord, maar ik echt nodig om dingen in jam te maken het allemaal gaan in het vak, dus ik verwachten zou dat u een grotere behuizing zonder de PCB moeten zou. In het algemeen, zijn de knoppen scherm en input en de onderdelen die nodig zijn voor het opnieuw programmering op de bovenkant van de PCB met de potentiometers, ATMega en andere onderdelen op de bodem. De lader bestuur lijm neer aan de onderkant van de behuizing en dat, de spreker en de batterij hechten aan de PCB door jumper draden.
Het LCD-scherm wordt gecontroleerd van digitale pins D8 naar D13 (overslaan D12 die we uit te breken). We gebruiken de hardware SPI clock en data pinnen om te rijden dit zo snel mogelijk met behulp van het uitstekende "PCD8544_SPI"-bibliotheek door Arthur Liberman (aka "The Coolest' - http://www.alcpu.com). Zie latere stappen voor meer informatie over die. PWM uitgang pins D5 geeft ons helderheid controle van de ingebouwde verlichting op de LCD-module. Als u D12 voor andere dingen gebruikt, moet het waarschijnlijk blijven een invoer pin. Als je het gebruiken voor een output zal het waarschijnlijk de SPI interface verknoeien.
Gebruikersbesturingselementen zijn geboden door schakelaars op digitale pinnen D6 en D7 en analoge besturingselementen met een potentiometer op A0 en A1. Analoge ping A3 wordt gebruikt met een 50/50 spanning-verdeler voor het meten van de batterijspanning tegen de voltage.* van de 3v3 geregeld die de WTV-klankmodule uit D2-D4 loopt en A2, verlaten A4 & A5 gratis voor extra analoge of digitale sensoren of toe te voegen i2c randapparatuur. Evenzo D0 en D1 zijn vrij gelaten en kan worden gebruikt voor ingangen maar zijn nuttig voor seriële herprogrammering of een seriële apparaat toevoegen. Uitgang voor seriële is ook nuttig voor debugging als u uw eigen code schrijft.
Bijgevoegde materialen
Het volledige schema en bestuur bestanden in Eagle 6.x-indeling zijn gekoppeld aan deze stap, evenals de .pdf en beeld versies van het schema. De Raad van bestuur bestand voldoet aan het ontwerp regels voor iteadstudio.com maar moet fijn hooguit bestuur huizen. De v1.1 versie in deze stap heeft een paar fouten die worden verholpen via de eerste versie die ik had opgebouwd dus er een paar kleine verschillen van enkele van de foto's zijn. Het is van dezelfde grootte en net hetzelfde zou moeten werken.
* In mijn v1.0 heb ik niet de spanning senor circuit aan boord zodat is alleen toegevoegd met een paar weerstanden vanaf het punt van de connector reservebatterij aan de breakout punt van A3.