Dit project is nog van voor de zomervakantie, maar wel de moeite waard om nog te laten zien. Ik studeer aan de Hogeschool Rotterdam (MBO doorstroom toen nog 1e jaar). daar hadden we met een groep van vijf personen gekozen om als project een opvallende versie van Tetris te bouwen voor de open dag van school.
Het project moest in acht weken af zijn met alle bijbehorende documentatie (PVA, Requirements document, test document, planning, design document). Wij hebben er voor gekozen om met PIC microcontrollers te werken, met de software mikroC(als 'main' microcontroller de 16F887). Het display bestaat uit 200 LED's en wordt aangedreven door ULN2003's voor de lijnen en een Johnson counter die darlinton's laat sourcen voor de rijen. Zo sturen we de 200 LED's aan met 22 uitgangen.
edit: de Johnson sourced
Het scoredisplay wordt aangestuurd door een MAX7219 via SPI. We hebben een draadloze afstandbediening gemaakt met een draadloos verzend / ontvang circuit dat werkt met UART. De afstandsbediening werkt op twee batterijen en heeft een boost schakeling, zodat de batterijen zo efficiënt mogelijk gebruikt worden. Ook hiet zit een microcontroller in om de knoppen uit te lezen en de data te versturen via de draadloze verzend module.
Verder hebben we een geluidsmodule gebouwd, waar we de Tetris soundtrack in 8 bit in hebben geprogrammeerd. Deze speelt ook een game-over tune af, wanneer iemand game-over is. In stand-by gaat het geluidsniveau omhoog om de aandacht te trekken. Wanneer er tien lijnen zijn weggespeeld vallen niet alleen de blokjes sneller naar beneden, maar gaat ook het geluid sneller spelen.
We hebben alles zelf geprogrammeerd en gebouwd (op de draadloze modules na). Zo wordt de highscore opgeslagen in het EEPROM en wordt deze afgebeeld, wanneer het spel in stand-by staat. Het spel start, zodra de afstandsbediening uit de houder wordt gehaald (reedcontact). En stopt weer, wanneer deze wordt terug gezet. Er zijn zes knoppen: draaien, naar link, naar rechts, snel naar beneden, pauze en blokje laten vallen. Wanneer er meer dan één lijn wordt weggespeeld krijg je automatisch ook meer punten.
We hebben het project binnen de tijd afgekregen, we heb met het project in de Metro gestaan en het afgerond met een 10.