Arduinoで作る本格ピンボールマシン: 木工・機構・電子・プログラミングの融合
必要なパーツと材料
| パーツ | 数量 | 備考 |
|---|---|---|
| Arduino Mega 2560 | 1 | I/Oポート多数必要なため |
| 2ピンLCDディスプレイ (Adafruit等、シリアル接続) | 1 | スコア/ボール数表示用 |
| 24V電源装置 | 1 | フリッパー/バンパー駆動用 |
| フォースセンサー (圧力検知) | 1 | ボール落下検知用 |
| ポップバンパーアセンブリ | 1 | 市販ピンボールパーツ |
| ポップバンパースイッチ | 1 | |
| ターゲットスイッチ | 1 | |
| ロールオーバースイッチ | 1 | |
| フリッパーアセンブリ | 1 | 左右2セット必要 |
| LEDランプ (ピンボール用) | 複数 | 各ターゲット/バンパー/ロールオーバー用 |
プロジェクト概要
Arduino Mega 2560 1台で制御する自作ピンボールマシンの製作記です。木工、機械加工、電子工作、プログラミングが融合した半年間のプロジェクトで、情報が少なく試行錯誤の連続でした。本記事が後続の製作者の助けになれば幸いです。すべての部品を予めベニヤ板でプロトタイピングし、実機に組み込む前に動作確認することを強く推奨します。
筐体 (キャビネット)
- 材質: オーク突板合板 (ホームセンター入手)
- 寸法: 前後パネル 20″H × 23″W、側面 20″H × 47″L
- 接合: バイスケットジョイナー + 木工用ボンド (ポケットスクリュー+ボンドでも可)
- 底板: 1″上に3/4″ダゾ溝を切り、棚板をフロートさせ (膨張収縮対策)、電源ユニットを設置
- プレイフィールド: 22″W × 42″L、前方に3″スペース確保 (フリッパーボタン配線、プランジャー機構用)
- 脚部: 木製テーブル脚 + 12″深穴 + 3/8″ねじロッド + レベリングフット で角度調整可変 (1-7°)
- 電源: 背面に電源タップ内蔵、全機器一括ON/OFF。USBケーブルも引き出し、プレイフィールド外さずArduino再書き込み可能。
蓋 (バックグラス/トップガラス)
- オーク材フレーム、内周にダゾ溝でアクリル板 (プレキシガラス) 保持。ガラスより軽量・安全・加工容易。
- ポケットスクリュー組み立て (分解修理考慮)。内側に装飾用LEDテープ。ピアノヒンジでキャビネットに取付 (埋め込み)。
Arduino制御の役割
- スイッチ入力検知 (ターゲット、ロールオーバー、バンパー等)
- 対応するランプ点灯/消灯
- スコア計算とボールカウント管理
- LCDへのスコア/ボール数表示
基本配線: スイッチを INPUT_PULLUP 入力とGND間に接続。Low検知でヒット判定。ポップバンパーのみ24V駆動のため、スイッチ出力を分圧回路で5Vレベルに降圧し、アナログ入力で閾値判定 (ノイズ対策)。
スコアリング・ゲームロジック
- 同種デバイス (ターゲット8個、ロールオーバー3個、バンパー4個) を全てヒットさせると、該当ランプ点滅後消灯、スコア倍率アップ (ターゲット×5、ロールオーバー×2でスコア2倍、バンパー×2)
- フォースセンサーでボール損失検知 → ボールカウント増、5球でゲームオーバー (全ランプ点滅演出)
- プランジャー (ボールシューター) レーンの上下スイッチで新球検知
主要機構パーツと調達先
- フリッパー: Pinball Life (配線図同梱)
- スリングショット: 同サイトでフルアセンブリ入手可。ピン、ゴムバンドも必要。16AWG配線で24V接続。
- ポップバンパー: 3穴開け (支持ロッド×2、スイッチ軸×1)。ボールがディスク押下 → リーフスイッチ → ソレノイド → リング引下げでボール弾き返し。
- ターゲット/ロールオーバー/ランプ: Marco Specialties, Action Pinball 等で現行品入手可。
- レール: 市販品見つからず、クロム鋼線 (芝生標識用) を曲げ加工しエポキシ固定で自作。
プレイフィールド意匠
6mm桐合板にコンタクト接着剤でNASAポスター (ハッブル望遠鏡画像等) をラミネート、裏返してトリミング。
電源配線
24V電源からバスバー (ホームセンター電気コーナー入手) へ幹線配線、各機器をバスバーから分岐。配線整理とメンテナンス性向上。
ソースコード
単一スケッチで全制御。SoftwareSerial で2ピンLCD制御。メインループで各スイッチポーリング (ターゲット8、ロールオーバー3、バンパー4アナログ)、ヒット時スコア加算・ランプ点灯・短ディレイでチャタリング防止。全ヒット検知で点滅演出・倍率更新。フォースセンサー (アナログ) でボール損失判定。LCD更新はスコア変化時のみ。
回路図
代表的な1セット分の配線図 (全表示だと複雑すぎるため) が提供されています。
製造プロセス
- Raspberry PiとHologramでSMS制御スマートAC電源スイッチを構築
- Bluetooth 制御 Raspberry Pi ロボットに音声フィードバックを追加して構築
- ジェスチャー制御 RGB テーブルランプ – インタラクティブなハンズフリー照明
- Arduinoで超音波レベーション(浮遊)装置を自作:ステップバイステップガイド
- ラズベリーパイとNode-REDでAlexaからLEDを制御する - 簡単ステップバイステップガイド
- 古いラジコンカーをXboxコントローラーで操作可能に - ArduinoとUSBホストシールドで実現
- Arduinoベースのヌンチャク操作6自由度ロボットアームキット
- スマートワイヤレス照明スイッチコントローラー:Arduinoで物理スイッチを遠隔操作
- Arduino Nanoで音声制御ロボットを自作
- DIY Arduino スマートウォッチ — Apple Watch 風腕時計を自作
- PiBot:Arduino駆動の精密ピアノ演奏ロボット