กลับไปหน้ารวมไฟล์
birdie-crash-089e24-en.md

This is the story behind "Birdie Crash". It's a "Flying Tickets / Flappy Tickets" clone I’ve written in Android, but I could never finish this project without making use of an Arduino (I know: the game most probably violates several copyrights, trademarks and patents, but I made this game for my personal enjoyment only).

Since my kids were pretty impressed by the original game in our local arcades, I decided to make my own "table top" version. Not as big as the real stuff - something a bit more portable and only for one player - but still reflecting the original gameplay.

The entire setup is based around a Salora 22LED1500 TV (the cheapest 22" HD TV I could find), a cheap Android 4.4 stick (an MK808B Plus), a big yellow arcade button... and an Arduino Leonardo.

The Leonardo gets its power from a USB port on the HDMI Android stick and acts as a keyboard interface to the Android HDMI stick. The Arduino sends out a keystroke as soon as someone presses the button to make the bird jump. I’ve seen people struggle with the serial interface to do this, but this is a much simpler solution. The LED strip animations on both sides of the screen and the blinking led inside the button are managed by the Arduino as well.

Technical Implementation: Physics Logic and Sprite Buffers

The project reveals the hidden layers of simple sensing-to-flap interaction:

  • Identification layer: The 0.96 inch OLED Display acts as a high-resolution visual eye, measuring every point of the character's X-Y coordinates for collision checks against the pipes.
  • Conversion layer: The system uses the high-speed I2C protocol to receive high-speed data chunks for mission-critical sensing tasks.
  • Visual Interface layer: A 128x64 Pixel Screen provides a high-definition visual data dashboard for your gaming status check (e.g., Current Score, High Score).
  • Control Interface layer: A Tactile Button provides a manual flap-trigger or status check during initial calibration.
  • Processing Logic: The Arduino code follows a "game-loop" (or physics-dispatch) strategy: it interprets button hits and matches gravity and velocity to provide safe and rhythmic gaming motion.
  • Communication Dialogue Loop: Game bits are sent rhythmically to the Serial Monitor during initial calibration for status coordination.

Hardware-Software Infrastructure

  • Arduino Uno: The "brain" of the project, managing multi-directional button sampling and coordinating OLED and buzzer sync.
  • OLED I2C Display: Providing a clear and reliable "Visual Link" for every point of the game.
  • Tactile Switch: Providing a high-capacity and reliable physical interface for your first successful "Flap Mission."
  • Breadboard: A convenient way to prototype your first arcade-electronics circuit and connect all components without soldering.
  • Passive Buzzer: Essential for providing clear and energy-efficient sound for key points in your game level.
  • Micro-USB Cable: Used to program your Arduino and provides the primary interface for the system controller.

Game Automation and Interaction Step-by-Step

The arcade gaming process is designed to be very user-friendly:

  1. Initialize Workspace: Correctly set up your OLED and button on your breadboard and connect them properly to the Arduino pins.
  2. Setup High-Speed Sync: In the Arduino sketch, initialize the display.begin() and define the sprite bitmaps in the setup() function.
  3. Internal Dialogue Loop: The station constantly performs high-performance temporal checks and updates the birdie status in real-time based on your button hits.
  4. Visual and Data Feedback Integration: Watch your gaming dashboard automatically become a rhythmic status signal, pulsing and following your location settings.

Future Expansion

  • OLED Identity Dashboard Integration: Add a small OLED display on the back to show a "Satellite Leaderboard" or "Battery (%)".
  • Multi-sensor Climate Sync Synchronization: Connect a specialized "Bluetooth Module" to perform higher-precision "Global High-Score Sync" wirelessly via the cloud.
  • Cloud Interface Registration Support Synchronization: Add a specialized web-dashboard on a smartphone over WiFi/BT to precisely track and log total arcade history.
  • Advanced Velocity Profile Customization Support: Add specialized "Deep Learning (vCore)" to the code to allow triggers to be changed automatically based on the user height!

Birdie Crash is a perfect project for any science enthusiast looking for a more interactive and engaging gaming tool!

A demo of the setup can be seen on YouTube:

[!IMPORTANT] The OLED Display requires an accurate I2C Address (usually 0x3C or 0x3D) in the code to function correctly; always ensure you have an appropriate Fail-Safe flag in the loop if the serial bus overloads!

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
  - "1x Adafruit_SSD1306 Library"
author: "birdie_dev_team"
category: "Games & Toys, Software & Coding"
components:
  - "1x Arduino UNO"
  - "1x 0.96 inch I2C OLED Display (128x64)"
  - "1x Tactile Pushbutton (Flap control)"
  - "1x Passive Buzzer (for game SFX)"
  - "1x Resistor 10k Ohm (Pull-down)"
  - "10x Jumper wires (generic)"
  - "1x Mini Breadboard"
  - "1x Micro-USB Cable"
description: "A professional and advanced interactive game project that uses an Arduino and specialized sensor logic to build a high-performance Flappy-Bird-inspired arcade game with real-time collision detection."
difficulty: "Easy"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX1+j6/Fbcp0HK27+GP1UdHwX8kM2Mu1L44726zs2Za8jjl9nBluVK3daORsbkkYQGL7frLp3NNkBw8ZJzIGGtnOS9vv1ZI0YY1g="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/birdie-crash-089e24_cover.jpg"
lang: "en"
likes: 2
passwordHash: "2eac53691436db94827c07dedac7492ca9d0c8e7ddae1ae4ca24725c55dd1858"
price: 2450
seoDescription: "An intuitive and simple Birdie-Crash-OLED for beginners interested in Arduino flappy-bird and buttons-to-flap projects."
tags:
  - "birdie-crash-game"
  - "arcade-robotics"
  - "collision-detection"
  - "arduino-uno"
  - "gaming-logic"
  - "easy"
title: "Birdie Crash"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/vngD3e1dBbA"
views: 1451