Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:bianca.popa1106:cristian.stefan1712 [2026/05/25 06:13]
cristian.stefan1712
pm:prj2026:bianca.popa1106:cristian.stefan1712 [2026/05/25 07:04] (current)
cristian.stefan1712 [Results Obtained]
Line 85: Line 85:
 | ''​void tone()''​ | Synthesizes retro audio using the Arduino'​s built-in hardware timer commands to generate a square wave PWM signal on the buzzer pin at specific frequencies. | | ''​void tone()''​ | Synthesizes retro audio using the Arduino'​s built-in hardware timer commands to generate a square wave PWM signal on the buzzer pin at specific frequencies. |
 | ''​void checkTetrisLines()''​ | Scans the 10x20 Tetris array for completed rows, shifts the above rows down in memory to simulate gravity, and increments the score multiplier. | | ''​void checkTetrisLines()''​ | Scans the 10x20 Tetris array for completed rows, shifts the above rows down in memory to simulate gravity, and increments the score multiplier. |
 +
 +=== Github Repository ===
 +[[https://​github.com/​itsirc17/​Game-Console]]
 +
 +===== Results Obtained =====
 +Following the hardware and software integration,​ the final result is a fully functional, stable, retro arcade-style game console. I successfully implemented three distinct games (Snake, Tetris, and Space Invaders) on a single Arduino microcontroller.
 +
 +The system runs smoothly with no noticeable latency, thanks to strict memory optimizations (using bitmapped hexadecimal arrays to store graphics) and an internal framebuffer architecture. Logic voltages were successfully stabilized using a bi-directional logic level shifter (TXS0108E), which ensured clean and safe 3.3V SPI communication between the development board and the screen. The audio (PWM) and button debouncing logic run perfectly in parallel with the graphics engine, driven entirely by non-blocking,​ timer-based algorithms rather than ''​delay()''​ functions.
 +
 +{{:​pm:​prj2026:​bianca.popa1106:​consola1.jpeg?​200|}}
 +{{:​pm:​prj2026:​bianca.popa1106:​consola2.jpeg?​200|}}
 +{{:​pm:​prj2026:​bianca.popa1106:​consola4.jpeg?​200|}}
 +{{:​pm:​prj2026:​bianca.popa1106:​consola3.jpeg?​200|}}
 +
 +===== Conclusions =====
 +Building this project was a massive lesson in bare-metal hardware engineering and practical, real-world debugging. The most critical takeaways from this development process are:
 +
 +The Reliability of "​Clone"​ Components: I learned firsthand that mass-produced Nokia 5110 LCD modules are incredibly fragile and highly prone to mechanical defects, specifically regarding the elastomeric connector (Zebra Strip). Even brand-new screens straight out of the box required "​surgical"​ manual intervention—disassembling the metal bezel, carefully cleaning the contacts to eliminate parasitic resistance, and mechanically re-crimping the metal frame to ensure firm, even pressure between the glass and the PCB.
 +
 +Misleading Documentation (Datasheets):​ A crucial lesson is that online tutorials and schematic diagrams cannot always be taken as absolute truth, as underlying hardware revisions frequently change. For example, most standard documentation indicated that the backlight pin (LED/BL) should be connected to VCC (3.3V) through a resistor. In reality, because my specific module utilized a different internal transistor for backlight control, the pin had to be tied to GND for the LEDs to function correctly.
 +
 +The Satisfaction of the Build: Despite the hours spent diagnosing floating pins, SPI initialization timing, and faulty LCD contrast, the final result was entirely worth the effort. The satisfaction of holding a physical console, pressing the mechanical buttons, and playing games programmed entirely from scratch is immense. This project bridged the gap between simply "​writing code" and deeply understanding how software physically manipulates hardware.
  
  
pm/prj2026/bianca.popa1106/cristian.stefan1712.1779678839.txt.gz · Last modified: 2026/05/25 06:13 by cristian.stefan1712
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0