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

古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造

必要な部品と材料

部品数量
SparkFun Arduino Pro Mini 328 - 5V/16MHz1
MP3/WAVトリガーボード1
古い電話機1
ブレッドボード(汎用)1
ジャンパーワイヤ(汰用)1
SparkFun フックアップワイヤ1
microSDカード1

必要な工具と機器

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

古い電話機を宝探し(スキャベンジャーハント)のクルーシステムに変身させる手順を紹介します。

ステップ1: キーパッドの行と列の特定

電話機を分解してキーパッドを取り出します。キーパッドは行と列のマトリックスでキー入力を検出します。このページに、テスターの導通モードを使ってキーと行・列の対応を調べる手順が詳しく載っています。筆者のキーパッドは以下のような構造でした。

古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造
古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造
古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造

キーパッドの基盤パターンが見えていれば、どのピンがどのキーに対応するか簡単にわかります。残念ながら筆者のキーパッドはピンが綺麗な行列になっていなかったため、2枚目の画像のようにマトリックスを作成して整理しました。丸印の数字がキーパッドのピン番号、マトリックス内の数字がキー、枠囲みの「I/O」がArduinoのピン番号です。ピンマッピングをメモし、各キーパッドピンをArduinoピンに割り当てます。このキーパッドは必要以上にピンが多い変わった構造ですが、問題ありません。

3枚目の画像は、実際に使用するキーだけを抜き出した簡略マトリックスです。ここでほぼ行列らしくなっています。コードでは存在しないキーの位置をA、B、C、Dというプレースホルダで埋めています。

ステップ2: キーパッドピンへの配線延長

キーパッドピンをブレッドボードに繋ぎやすくするため、必要なピンに配線をはんだ付けします。このプロジェクトでは全キーを使う必要はないため、以下の画像は使用するピンのみを示しています。4桁のパスコードを使うため、5キー(*キー含む)だけで足ります。

古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造

ステップ3: 音声ファイルの準備

このプロジェクトでは、クルーの音声にNatural Readersの「Peter」という合成音声を使用しました。音声ファイルをダウンロードしてください。次にモールス信号の音声を用意します。オンラインのモールス信号生成ツール(SCPhillips.comのものを使用)で作成し、ダウンロードします。さらにキーパッド押下時のビープ音も用意します。

Audacityは音声編集に最適なツールです。モールス信号と音声ファイルを結合し、ビープ音を短い単一のビープに編集できます。

古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造
古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造

Audacityでプロジェクトを保存し、各トラックを別々にMP3でエクスポートします。Audacityを初めて使う場合は、LAME MP3エンコーダのインストールが必要かもしれません。

重要:このMP3トリガーボードで再生するには、ファイル名とフォルダ構成を正しくする必要があります。各MP3ファイルは001、002...という名前で、MP3ボードのトリガーピン1〜9に対応させます。また、ファイルはSDカード上の01というフォルダ内に配置しなければなりません。 他のMP3トリガーボードならもっと柔軟に扱える場合があります。

ステップ4: ライブラリのダウンロードとコードの準備

このプロジェクトにはKeypadライブラリとPasswordライブラリが必要です。これらをダウンロード・インストールし、プロジェクトのコード(後述)をダウンロードします。パスコードを任意に設定し、キーマトリックスを自分のキー配置に合わせて書き換えてください。

ステップ5: すべてを接続して収納

電話機の内部を空けて、新しい部品を詰め込みます。モバイルバッテリーも一緒に入れられるかもしれません。

古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造
古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造
古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造
古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造
古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造

このプロジェクトが気に入ったら、筆者の他のプロジェクトもチェックしてみてください!

スケッチ

#include <Password.h> //https://www.arduino.cc/playground/uploads/Code/Password.zip
#include <Keypad.h> //https://www.arduino.cc/playground/uploads/Code/Keypad.zip

Password password = Password( "7365" );
const byte ROWS = 4; // 4行
const byte COLS = 3; // 3列

// キーマップ定義
char keys[ROWS][COLS] = {
  {'4','5','6'},
  {'7','8','A'}, // "A"はプレースホルダ。自分のキーパッドにそんなボタンはない
  {'B','2','3'}, // "B"はプレースホルダ
  {'*','C','D'}  // "C"と"D"はプレースホルダ
};

byte rowPins[ROWS] = { 7,5,3,8 }; // キーパッドの行をこれらのArduinoピンに接続
byte colPins[COLS] = { 6,4,2 };   // キーパッドの列をこれらのArduinoピンに接続

const int dial = 13;   // MP3トリガーボードへのデジタルピン
const int morse = 12;  // MP3トリガーボードへのデジタルピン

// キーパッドオブジェクト作成
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  pinMode(dial, OUTPUT);
  pinMode(morse, OUTPUT);
  digitalWrite(dial, HIGH);   // MP3ボードはアクティブローなので、最初はHIGH
  digitalWrite(morse, HIGH);  // MP3ボードはアクティブローなので、最初はHIGH
  Serial.begin(9600);
  keypad.addEventListener(keypadEvent); // キーパッドのイベントリスナー登録
}

void loop(){
  keypad.getKey();
}

// 特殊なイベント処理
void keypadEvent(KeypadEvent eKey){
  switch (keypad.getState()){
    case PRESSED:
      Serial.print("Pressed: ");
      Serial.println(eKey);
      digitalWrite(dial, LOW);  // ダイヤルビープ音声再生(各キー押下時)
      delay(50);
      digitalWrite(dial, HIGH);
      switch (eKey){
        case '*':
          checkPassword();
          break; // *キーをエンターキーとして扱う
        default:
          password.append(eKey);
      }
  }
}

void checkPassword(){
  if (password.evaluate()){
    Serial.println("Success");
    password.reset(); // 入力クリア
    digitalWrite(morse, LOW); // クルー音声再生
    delay(50);
    digitalWrite(morse, HIGH);
  }else{
    Serial.println("Wrong");
    password.reset(); // 次の試行のためにクリア
  }
}

回路図

古い電話機をSparkFun Arduino Pro Miniで宝探しクルーシステムに改造

製造プロセス

  1. Arduino UNOとMAX7219で作るUFOアタックゲーム – レトロなドットマトリクスシューティング
  2. DIYクラウドコスチューム: LEDストリップ、Arduino Nano & SparkFunパーツで光る雲に
  3. 3D RGB アルドゥクロック:Bluetooth対応LED時計(RTC内蔵)
  4. 川の健康を見守る:Arduinoベース水質監視システム「MyRiver」
  5. Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
  6. Arduinoとジョイスティックでインタラクティブゲーム – LEDフィードバック付き
  7. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
  8. DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
  9. Arduinoで作る自律走行ミニローバー
  10. ゲーム用カスタムArduinoジョイスティックハンドルの製作
  11. Arduino 101で作る万歩計:DHT11温湿度センサー&LCD表示付き