工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

スネークLEDマトリックスゲーム

コンポーネントと消耗品

>
Arduinoプロトシールド
× 1
Arduino UNO
× 1
アナログジョイスティック(汎用)
これは通常の黒いジョイスティックです
× 1
オス/メスのジャンパー線
× 1
SparkFunLEDアレイ-8x7
これは通常の8 * 8 LEDマトリックスです(RGBマトリックスではありません)
× 1

アプリとオンラインサービス

>
Arduino IDE

このプロジェクトについて

MeccanoidとErectorをフレームとして設定してクールなゲーム機を作り、 Sergey Royz を使用しました。 コード(チェックアウト)と私はそれに余分なものを追加し、それがスムーズに動くように速度を上げました。フレームの作り方については説明しませんが、自分でフレームを作ることをお勧めします。ただし、フレームは必要です。これを楽しんで、あなたがやりたいことをしてください。私はあなたがこのプロジェクトを気に入ってくれることを願っています!質問があればコメントしてください。できるだけ早く答えられるといいのですが、次のプロジェクトについて何かアドバイスがあればコメントして教えてください。また、私のフリッツが機能していなかったので、私はあなたに言うだけです:

回路図:

ブレッドボードを使用せずに、より多くのGNDと5vコンセントを確保できるように、シールドをArduinoUnoに取り付けます。

マトリックス:

  • VCCから5VArduino
  • GNDからGNDArduino
  • Arduinoのデジタルピン10へのDIN
  • Arduinoのデジタルピン9へのCS
  • Arduinoのデジタルピン8へのCLK

ジョイスティック:

  • ArduinoのGndからGndピン
  • Arduinoで+ 5vから5V
  • ArduinoでVRXからA0へ
  • ArduinoでA1にVRY
  • SWからデジタルピン2

コード

  • ヘビ
ヘビ C / C ++
コードをコピーして貼り付けるだけです
 / ** *ヘビ*古典的なヘビゲームの実装*ヘビは絶えず動き、プレイヤーは*自分自身や境界線との交差を避けなければなりません。 *ヘビが食べ物を食べると、成長して少しスピードアップします。 * * 2016年6月23日* SergeyRoyzとハンターBuzzellによる* /#include  / *ジョイスティックPIN * /#define VRX A0#define VRY A1#define SW 2 / *表示PIN * /#define CLK 8#定義CS9#define DIN 10#define SIZE 8#define ADVANCE_DELAY 20int snake [SIZE * SIZE] [2]; int length; int food [2]、v [2]; bool is_game_over =false; long current_time; long prev_advance; int flash_count; const short messageSpeed =5; LedControl lc =LedControl(DIN、CLK、CS、1); void init_game(){prev_advance =current_time =0; flash_count =3; int half =SIZE / 2;長さ=サイズ/ 3; for(int i =0; i  =SIZE){delay(1000); showGameOverMessage(); trueを返します。 } if(head [1] <0 || head [1]> =SIZE){delay(1000); showGameOverMessage(); trueを返します。 } for(int i =0; i  =0; i-){snake [i + 1] [0] =snake [i] [0]; snake [i + 1] [1] =snake [i] [1]; } snake [0] [0] + =v [0]; snake [0] [1] + =v [1]; falseを返します;} void setup(){pinMode(SW、INPUT_PULLUP); pinMode(VRX、INPUT); pinMode(VRY、INPUT); attachInterrupt(digitalPinToInterrupt(SW)、再起動、RISING); lc.shutdown(0、false); lc.setIntensity(0、8); init_game(); render();} void loop(){if(!is_game_over){clearScreen();与える(); if(current_time --prev_advance> ADVANCE_DELAY){is_game_over =Advance(); prev_advance =current_time; }} else {while(blink_count> 0){clearScreen(); delay(300);与える(); delay(300); flash_count--; }} readControls(); current_time ++;} void restart(){init_game(); is_game_over =false;} void readControls(){int dx =map(analogRead(VRX)、0、906、2、-2); int dy =map(analogRead(VRY)、0、906、-2、2); if(dx!=0){dx =dx / abs(dx);} if(dy!=0){dy =dy / abs(dy);} if(dy!=0 &&v [0]!=0 ){v [0] =0; v [1] =dy; } if(dx!=0 &&v [1]!=0){v [0] =dx; v [1] =0; }} const PROGMEM bool gameOverMessage [8] [90] ={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 、0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 、0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 、0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}、{0,0,0 、0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0 、0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0 、1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0 、1,1,0,0,0,0,0,0,0,0,0}、{0,0,0,0,0,0,0,0,1,1,0,0,1 、1,0,0,1,1,0,0,1,1,0,0,1,1,1,0,1,1,1,0,0,1,1,0,0,0 、0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1 、0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0 、0}、{0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0 、0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0 、0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0 、1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0}、{0,0,0,0,0,0,0,0 、1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0 、1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1 、1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0 、0,0,0,0,0,0}、{0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0,1,1 、0,0、 1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0、 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1 1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0}、{0,0,0,0,0、 0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1 1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1 1,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0、 0,0,0,0,0,0,0,0,0}、{0,0,0,0,0,0,0,0,0,1,1,1,1,0,0、 0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,1,0、 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1 1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0}}; void showGameOverMessage(){for(int d =0; d  

製造プロセス

  1. Arduinoゲームコントローラー
  2. MAX7219を搭載した24x16マトリックスのArduinoPongゲーム
  3. 自家製16x8マトリックス上のArduinoNanoTetr​​isゲーム
  4. LEDを制御するBluetoothを搭載したArduino!
  5. LEDマトリックス+モーションセンサードアディスプレイ[ArduinoHoliday]
  6. Arduino Quadruped
  7. ピクセルチェイサーゲーム
  8. シングルLEDマトリックスArduinoフリップクロック
  9. ArduinoRGBカラーミキサー
  10. ArduinoUnoでLEDマトリックスを制御する
  11. WS2812LEDストリップを備えたDIYArduino1Dポンゲーム