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

Arduinoとジョイスティックでインタラクティブゲーム – LEDフィードバック付き

必要な部品

プロジェクト概要

汎用アナログジョイスティックのX/Y軸値(+X, -X, +Y, -Y)とボタン入力をArduinoで読み取り、5つのLEDで方向を表示するシンプルなゲームです。ジョイスティックを倒した方向のLEDが点灯し、ボタン押下で別のLEDが点灯します。

コード

#define joyX A0
#define joyY A1
int button = 2;
int buttonState = 0;
int buttonState1 = 0;

void setup() {
  pinMode(7, OUTPUT);   // ボタン押下時のLED
  pinMode(button, INPUT);
  digitalWrite(button, HIGH); // 内部プルアップ有効化
  Serial.begin(9600);
  pinMode(8, OUTPUT);   // 上
  pinMode(9, OUTPUT);   // 右
  pinMode(10, OUTPUT);  // 左
  pinMode(11, OUTPUT);  // 下
}

void loop() {
  int xValue = analogRead(joyX);
  int yValue = analogRead(joyY);
  Serial.print(xValue);
  Serial.print("\t");
  Serial.println(yValue);

  buttonState = digitalRead(button);
  Serial.println(buttonState);

  // 左
  if (xValue >= 0 && yValue <= 10) {
    digitalWrite(10, HIGH);
  } else {
    digitalWrite(10, LOW);
  }
  // 上
  if (xValue <= 10 && yValue >= 500) {
    digitalWrite(11, HIGH);
  } else {
    digitalWrite(11, LOW);
  }
  // 右
  if (xValue >= 1020 && yValue >= 500) {
    digitalWrite(9, HIGH);
  } else {
    digitalWrite(9, LOW);
  }
  // 下
  if (xValue >= 500 && yValue >= 1020) {
    digitalWrite(8, HIGH);
  } else {
    digitalWrite(8, LOW);
  }
  // 中央付近(右・下消灯)
  if (xValue >= 1020 && yValue >= 1020) {
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
  }

  // ボタン押下(LOWアクティブ)
  if (buttonState == LOW) {
    Serial.println("Switch = High");
    digitalWrite(7, HIGH);
  } else {
    digitalWrite(7, LOW);
  }

  buttonState1 = digitalRead(7);
  Serial.println(buttonState1);
  delay(100);
}

回路図

配線が複雑なため、回路図で確認してください。

Arduinoとジョイスティックでインタラクティブゲーム – LEDフィードバック付き

※ ジョイスティックのセンター値は約512付近です。しきい値(10, 500, 1020等)は実機で調整してください。

製造プロセス

  1. チェス:古代起源から現代製造まで——専門家の概観
  2. ピンボール:歴史、設計、製造——クラシックアーケードゲームの全貌
  3. サッカーボール:古代ゲームから現代イノベーションへ
  4. アメリカンフットボールの進化と職人技:古代競技から現代NFL基準まで
  5. Arduino NanoとMPU-6050で作るリアルタイムジャイロスコープゲーム
  6. Arduino UNOとMAX7219で作るUFOアタックゲーム – レトロなドットマトリクスシューティング
  7. Arduino Nanoで37LEDルーレットゲームを自作:ヨーロピアンスタイル完全再現
  8. 3D RGB アルドゥクロック:Bluetooth対応LED時計(RTC内蔵)
  9. 川の健康を見守る:Arduinoベース水質監視システム「MyRiver」
  10. Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
  11. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」