====== Arduino-Gamer ====== ** Eine Handheld-Spielekonsole\\ Projekt-Workshop zum Arduino-Day 2016**\\ ** Kontakt:** [[mailto:thomas.hirsch@fablab-bayreuth.de|Thomas Hirsch]], [[mailto:stephan.messlinger@fablab-bayreuth.de|Stephan Messlinger]] Foto ===== Software ===== Github-Repository: [[https://github.com/fablab-bayreuth/arduino-gamer]] \\ Download: [[https://github.com/fablab-bayreuth/arduino-gamer/archive/master.zip]] Arduino-IDE: [[https://www.arduino.cc/en/Main/Software]]\\ Com-Port-Treiber (CH340): * Windows <10: {{ :projekte:arduino-gamer:ch341ser.zip |}} * Windows 10: {{ :projekte:arduino-gamer:ch340_win10.zip |}} * macOS 10.12: [[https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver]] * Mac OS X (bis 10.12): [[http://www.wch.cn/download/CH341SER_MAC_ZIP.html]] ==== Spiele: ==== * Pong (analog control) * Space Invaders * Tetris * Breakout (Arkanoid clone) Die Spiele befinden sich im Ordner games/ im Github-Repository. Einige Spiele benötigen die Adafruit GFX library. Diese kann am einfachsten über den Library-manager der Arduino IDE installiert werden (Sketch -> Include Libray -> Manage Libraries -> Search: Adafruit GFX Library) ==== Arduboy-library ==== Der [[https://arduboy.com|Arduboy]] ist eine Arduino-basierte tragbare Spielekonsole, ähnlich dem Arduino-Gamer. Insbesondere besitzt der Arduboy ein zu unserem Gamer kompatibles Display. Für den Arduboy entwickelte Spiele können daher ohne Änderung der Grafik auf den Gamer portiert werden. Um die Portierung zu vereinfachen, stellen wir modifizierte Versionen einiger offizieller Arduboy-libraries zur Verfügung. (Zur Zeit: Arduboy, Arduboy2, ArduboyPlayTunes und ArduboyTones.) Viele Arduboy-Spiele, welche diese libraries verwenden, sind ohne weitere Modifikationen auf dem Gamer lauffähig. Liste von Spielen für den Arduboy: [[https://community.arduboy.com/t/semi-official-game-list-for-the-arduboy/783|“Semi-Official” Game List for the Arduboy]] Auf dem Gamer getestete Arduboy-Spiele (lauffähig ohne weiter Anpassungen): * [[https://github.com/Mre64/BattleForZuthsrah | Battle for Zuthsrah]] * [[https://github.com/MLXXXp/FlappyBall | Flappy Ball]] * [[https://community.arduboy.com/t/hollow-seeker-a-simple-action-game/ | Hollow Seeker]] * [[http://www.team-arg.org/rmh-manual.html | Reverse Mermaid Hockey]] * [[http://www.team-arg.org/ecomd-manual.html | Epic Crates Of Mass destruction]] * [[http://www.team-arg.org/fish-manual.htm | Trolly Fish]] * [[https://community.arduboy.com/t/robododge-dodge-the-rockets/ | RoboDodge]] * [[https://github.com/Jezzamonn/TeenyTank/ | TeenyTank]] * [[https://github.com/boochow/picovaders | picovaders (another Space Invaders clone)]] * [[https://community.arduboy.com/t/ardu-man-inspired-by-pac-man/1550 | Ardu-Man]] (a pacman clone). Use the arduboylib11-version. * [[https://community.arduboy.com/t/squario-the-ultimate-adventure/1257 | Squario]] (Super Mario-like Jump'n'Run) * [[http://www.team-arg.org/srn-manual.html | Sirène]] * [[http://www.team-arg.org/shrun-manual.html | Shadow Runner]] * [[http://www.team-arg.org/vlqp-manual.html | Virus LQP-79]] * [[http://www.team-arg.org/mybl-manual.html | Mystic Balloon]] (Balloon-Kid clone) * [[https://community.arduboy.com/t/bangi-destroy-all-the-balloons/ | Bangi]] Auf dem Gamer (noch) nicht lauffähige Arduboy-Spiele: * [[http://www.team-arg.org/blba-manual.html | Blob Attack]] * [[https://drive.google.com/file/d/0B5NlFQiQmxogdV8yc1BSWm83QjA/view?usp=sharing | Atomic Puzzle pack]] * [[https://github.com/gnargle/Stellar_Impact | Stellar Impact]] (glitches, low memory?) ===== Bauanleitung ===== {{ :projekte:arduino-gamer:pong_montage_offiziell.pdf | pong_montage_offiziell.pdf}} ===== Hardware ===== * Arduino Uno * OLED-Display: 128x64 px, 0.96'', SSD1306 via SPI * Piezo-Lautsprecher * Funduino Joystick shield: * Analog Joystick (X, Y + push button) * 4 Buttons (A,B,C,D) * 2 Analoge Potentimeter (L, R) {{:projekte:arduino-gamer:gamer-block-schem.png?400|}} ==== Pinbelegung ==== ^OLED (SSD1306) ^Uno ^ATmega328 ^ | CLK | 13 | PB5/SCL | | MOSI | 11 | PB3/MOSI | | RESET | 12 | PB4/MISO | | DC | 10 | PB2 | | CS | 9 | PB1 | ^Buttons ^Uno ^ATmega328 ^ | A | 2 | PD2 | | B | 3 | PD3 | | C | 4 | PD4 | | D | 5 | PD5 | | E | 6 (shared with Piezo) | PD6 | | F | 7 (shared with Piezo) | PD7 | | Stick | 8 | PB0 | ^Joystick ^Uno ^ATmega328 ^ | X | A0 | PC0/ADC0 | | Y | A1 | PC1/ADC1 | ^Poti ^Uno ^ATmega328 ^ | L | A2 | PC2/ADC2 | | R | A3 | PC3/ADC3 | ^Piezo ^Uno ^ATmega328 ^ | PWM | 6 | PD6 | | GND | 7 | PD7 |