亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

旧电话机改装寻宝游戏提示系统 — 基于 SparkFun Arduino Pro Mini

元件与材料

SparkFun Arduino Pro Mini 328 - 5V/16MHz×1
MP3/WAV 触发板×1
旧电话机 (含键盘)×1
面包板 (通用)×1
跳线 (通用)×1
SparkFun 连接线×1
microSD 卡×1

所需工具

项目步骤

步骤 1:分析键盘行列

拆解电话机取出键盘。键盘采用行列扫描,用万用表通断档测量引脚对应关系。本项目键盘引脚不规则,需手动建立矩阵映射 (见原文图片)。最终简化为 4 行 3 列矩阵,空位用 A/B/C/D 占位。

步骤 2:焊接引脚延长线

仅使用所需按键 (本例 4 位密码需 5 个键含 *),给对应引脚焊接延长线便于接面包板。

步骤 3:准备音频文件

使用 Natural Readers 文字转语音生成提示语,SCPhillips.com 生成摩斯密码音频,另准备按键提示音。用 Audacity 合并编辑,导出为 MP3。文件命名必须为 001, 002... 对应触发板引脚 1-9,并置于 SD 卡 01 文件夹内。

步骤 4:安装库与准备代码

需安装 Keypad 和 Password 库。下载代码,修改密码 (默认 "7365") 及按键矩阵映射。

步骤 5:组装所有模块

掏空电话机内部,塞入电路板、电源库。键盘、MP3 板、Arduino Pro Mini 紧凑布局。

完整代码

#include <Password.h>
#include <Keypad.h>

Password password = Password("7365");
const byte ROWS = 4;
const byte COLS = 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};
byte colPins[COLS] = {6,4,2};
const int dial = 13;   // 接 MP3 板触发脚 1 (按键音)
const int morse = 12;  // 接 MP3 板触发脚 2 (提示语+摩斯)

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup() {
  pinMode(dial, OUTPUT);
  pinMode(morse, OUTPUT);
  digitalWrite(dial, HIGH);   // MP3 板低电平触发,初始拉高
  digitalWrite(morse, 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);
      }
      break;
  }
}

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 Arduclock — 蓝牙控制全彩LED时钟带RTC与闹钟
  4. MyRiver:基于 Arduino MKR FOX 1200 的河流水质远程监测系统
  5. DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
  6. Arduino + 模拟摇杆互动游戏:五向 LED 反馈
  7. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  8. DIY Arduino 加湿器控制器:继电器安全控制高压电路
  9. Arduino 驱动的迷你漫游车:自制避障机器人
  10. DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
  11. Arduino 101 计步器:集成 DHT11 温湿度 + LCD 显示步数/距离/卡路里
  12. LED 光影塔:可编程 RGB 圆柱体艺术装置