agsBOY
Als Basis für Mikrocontroller-Basteleien aller Art haben wir im Frühjahr 2010 diese „tragbare Spielekonsole“ entwickelt.
Features
Liste der Features:
- ATmega32 / ATmega644
- MicroSD Slot, angeschlossen an SPI
- 132×132 Pixel LCD, 4096 Farben, SPI (wie Nokia 6100, Diagonale ca. 3 cm)
- analoger Schiebe-Joystick aus der Playstation Portable 1000
- 3-Achs Beschleunigungssensor, I2C
- Soundausgabe (PWM) über Mini-Lautsprecher oder 3,5mm Klinkenbuchse
- USB mini B Buchse, erlaubt Programmierung über Bootloader, Stromversorgung, Datenaustausch
- wahlweise Stromversorgung über 2 Mignon-Batterien
- diverse Taster, LEDs
Alle diese Features sind auf einer doppelseitigen Platine im Halb-Euro Format (100mmx80mm) vereint, die trotz der feinen Strukturen (6mil) von Hand belichtet und geätzt werden kann. Die endgültige Version wurde professionell gefertigt.
Als PDF: agsboy_uebersicht.pdf
Dokumentation
Die wichtigsten verbauten ICs mit Links zu Datenblatt und Hersteller:
Funktion | Hersteller | Bezeichnung | Interface |
---|---|---|---|
CPU | Atmel | ATmega32 | |
CPU | Atmel | ATmega644 | |
LCD Controller | Epson | S1D15G10 | SPI |
LCD Controller | Epson | S1D15G17 | SPI |
LCD Controller | Philips | PCF8833 | SPI |
Beschleunigungssensor | Freescale | MMA7455 | I2C / (SPI) |
USB Interface | FTDI | FT232RL | seriell |
Spannungsregler | Linear Technology | LT1610 |
Errata für Revision G
Bauteil | Erklärung |
---|---|
R7 | Kollidiert mit für Serie verwendetem Display - nicht bestücken, per Software auf gültigen Pegel setzen |
R11 | Widerstand zwischen MISO und MOSI wurde für alte Display-Ansteuerung gebraucht, stört Initialisierung der SD-Karte - nicht bestücken |
R20 | 604k Widerstand nicht in Standard E24 Reihe enthalten, ggf. durch Reihenschaltung 560k + 47k ersetzen |
X4 | Erweiterungsstecker kollidiert mit C2, ggf. Stecker nicht bestücken oder etwas hochstehen lassen |
X6 | Joystick: Der Betätigungsknopf bricht leicht bei seitlicher Belastung. Ggf. mit Unterlegscheibe verstärken. Zu den Befestigungsbohrungen gibt es keine passenden fertigen Distanzstücke. Diese müssen selbst angefertigt werden. Stattdessen kann der Joystick auch einfach mit der Platine verklebt werden, das hat sich bei den Prototypen als einfachste Lösung gezeigt. |
X8 | Statt der vorgesehen Lumberg Klinkenbuchse (teuer, schwer zu beschaffen) wird Reichelt EBS35 geliefert, ein Pin muss etwas vebogen werden |
Pull-up für MISO fehlt, entweder 10k zwischen Pads von R11 und R6 bestücken oder per Software Pull-up aktivieren |
Dateien
Eagle-Dateien (ZIP), Revision G
AVR Studio Demoprojekt mit Beschleunigungssensor und minimaler Displayansteuerung
Quick & Dirty Music Player spielt Sounddateien (8-Bit unsigned PCM, Mono, RAW) von MicroSD Karte. Basiert auf dem genialen FAT Treiber von Elm Chan.
Erste Ansätze einer Pacman-Implementierung. Bisher funktionieren nur die Sprite-Animationen. Sprites von http://www.google.com/pacman/: