音乐绘本:跨年龄段的情绪与记忆助推器
组件与物料
| 组件 | 说明 | 数量 |
|---|---|---|
| Arduino UNO | 主控板 | 1 |
所需工具与设备
| 工具 | 说明 |
|---|---|
| 3D 打印机 (通用) | 打印外壳组件 |
项目简介
音乐益处全龄段:从幼儿到老人,音乐能改善情绪、促进健康、刺激记忆。我们曾与患阿尔茨海默症的长者分享儿童音乐绘本,惊讶地发现她听到熟悉旋律时变得警觉且愉悦。若长者能拥有适龄音乐的专属绘本该多好?
Notable Board Books(知音绘本)应运而生:可定制的互动绘本,内含个性化音乐与图片。为鼓励合唱,书籍包含伴奏与人声双轨音频。我们致力于消除所有按钮开关——拿起书即进入“就绪”模式,翻开哪页播放哪页。
硬件组装指南
首先组装电子仓与音箱外壳。取 3D 打印的 “backbase” 与 “speakerhousingb”。

从端面检查两件对应孔位。

用两颗 M3 螺丝连接音箱仓与电子仓。

给 4Ω 音箱焊接约 9 英寸导线。

用两颗 M3 螺丝和螺母将音箱固定在音箱仓。

将音箱线穿过大孔引入电子仓。

将光敏电阻引脚靠近本体弯折。

将光敏电阻插入电子仓圆孔,矩形开口供引脚穿出。

准备约 1/2 英寸热缩管套在光敏电阻一根引脚上,防止短路。


所有光敏电阻同理处理。

电路连接

参照原理图逐步连接:
- 光敏电阻一脚焊包线,剪去多余引脚,套热缩管绝缘
- 所有光敏电阻同理处理
- 另一脚并联接 +5V
- 滚珠倾斜开关装入 3D 打印件 “tilt1”,黄铜端朝上,焊线后用魔术贴固定在电子仓


绘本改造
- 用 3D 打印 “punch jig” 对齐空白绘本右上角,冲孔定位
- 用 7mm 中空钻头钻孔(建议先用普通钻头预钻定位,或用台钻)
- 第一孔穿 5 页,第二孔 4 页,以此类推





内容制作
选定文案照片后用相纸打印(需挺括耐用防皱),用白乳胶均匀涂抹粘贴,待干燥后再做下一页防粘连。



音频导入流程
为开源示范,选用版权过期曲目,家人演奏录制。无专业设备下用 iPhone “备忘录” 录音:
- 打开“实用工具”→“语音备忘录”
- 红键录制,完成后点“完成”→“存储”
- 打开文件,点左侧分享箭头→“邮件”发送给自己
- 收到 m4a 文件,搜索“convert m4a to ogg”免费转换
- Adafruit 音频板有 11 个控制引脚对应 11 个存储槽,槽 5 对应文件名 “T05.ogg”
- 音频板通过 MicroUSB 连电脑显示为 U 盘,拷贝 .ogg 文件后弹出即可





最终组装与测试

9V 电池线穿大孔入电子仓,按原理图连线,烧录草图(项目文件含代码)。

倾斜外壳上电,调节音频放大器旋钮至适宜音量(不失真前提下越大越好)。

验证光敏电阻读数:在模拟输入引脚焊引出线标记 1-5,松放绘本测试。室内光照下“遮暗”约 2V,“翻开”≥3.5V,深层页稍高。对应 ADC 读值约 700,代码阈值设 600 判定翻页。

1 英寸魔术贴切成 1/2 英寸条贴在电子仓凹槽,撕膜对齐绘本孔位与光敏电阻,螺丝固定电池/音箱盖。


绘本现已就绪!
物料清单 (BOM)
- Arduino Uno (1)
- Adafruit Audio FX 声效板 16MB Flash (1)
- 2″ 4Ω 3W 全频扬声器 (Gikfun EK1725) (1)
- 3W 5V 音频放大器 (DROK) (1)
- 5mm 光敏电阻 (5)
- 5V 继电器模块 (1)
- 滚珠倾斜开关 (1)
- 3.3kΩ 1/4W 电阻 (5)
- 9V 电池扣 (1)
- 9V 电池 (1)
- M3×12mm 螺丝 (6)
- M3 螺母 (2)
- 迷你面包板 2″×3.5″ (1)
- 空白硬壳绘本 6″×6″ (1)
- 1″ 宽魔术贴 10″ 长 (1)
- 焊锡、热缩管、导线若干
- 3D 打印件:Back Base、Speaker housingb、Speaker lidb、tilt1、punch jig
项目文件
https://hackaday.io/project/96972/files
控制代码
Notable Board Books Control (Arduino)
int r=200, r1=200, r2=200, r3=200, r4=200;
int a=0, b=0, c=0, d=0, e=0;
int t1=0, t2=0, on=0, td=500;
void setup() {
pinMode(2, OUTPUT); pinMode(4, OUTPUT); pinMode(7, OUTPUT);
pinMode(9, OUTPUT); pinMode(11, OUTPUT); pinMode(3, OUTPUT); // 旁路继电器
digitalWrite(3, HIGH); // 维持供电
digitalWrite(2, HIGH); digitalWrite(4, HIGH); digitalWrite(7, HIGH);
digitalWrite(9, HIGH); digitalWrite(11, HIGH);
delay(1000); // 等待拿起书本稳定
}
void loop() {
r4 = analogRead(A4); r3 = analogRead(A3); r2 = analogRead(A2);
r1 = analogRead(A1); r = analogRead(A0);
if (r4 > 600) a = 1;
if (r3 > 600) b = 2;
if (r2 > 600) c = 4;
if (r1 > 600) d = 8;
if (r > 600) e = 16;
t1 = a + b + c + d + e;
delay(600); // 两次采样间隔
r4 = analogRead(A4); r3 = analogRead(A3); r2 = analogRead(A2);
r1 = analogRead(A1); r = analogRead(A0);
if (r4 > 600) a = 1;
if (r3 > 600) b = 2;
if (r2 > 600) c = 4;
if (r1 > 600) d = 8;
if (r > 600) e = 16;
t2 = a + b + c + d + e;
if (t1 == t2) { // 连续两次读数一致视为有效
if (a == 1) {
digitalWrite(2, LOW); on = 1;
digitalWrite(4, HIGH); digitalWrite(7, HIGH);
digitalWrite(9, HIGH); digitalWrite(11, HIGH);
digitalWrite(3, HIGH); delay(150);
}
if (b == 2 && on == 0) {
digitalWrite(4, LOW); digitalWrite(2, HIGH);
digitalWrite(7, HIGH); digitalWrite(9, HIGH);
digitalWrite(11, HIGH); digitalWrite(3, HIGH);
on = 1; delay(150);
}
if (c == 4 && on == 0) {
digitalWrite(7, LOW); digitalWrite(4, HIGH);
digitalWrite(2, HIGH); digitalWrite(9, HIGH);
digitalWrite(11, HIGH); digitalWrite(3, HIGH);
on = 1; delay(150);
}
if (d == 8 && on == 0) {
digitalWrite(9, LOW); digitalWrite(4, HIGH);
digitalWrite(7, HIGH); digitalWrite(2, HIGH);
digitalWrite(11, HIGH); digitalWrite(3, HIGH);
on = 1; delay(150);
}
if (e == 16 && on == 0) {
digitalWrite(11, LOW); digitalWrite(4, HIGH);
digitalWrite(7, HIGH); digitalWrite(9, HIGH);
digitalWrite(2, HIGH); digitalWrite(3, HIGH);
delay(150);
}
if (t2 == 0) { // 合书关灯
digitalWrite(11, HIGH); digitalWrite(4, HIGH);
digitalWrite(7, HIGH); digitalWrite(9, HIGH);
digitalWrite(1, HIGH); digitalWrite(3, LOW);
}
}
on = 0; a = 0; b = 0; c = 0; d = 0; e = 0;
}
原理图
制造工艺
- 面向老年用户的 UX 设计全攻略:从痛点洞察到无障碍落地
- 熨衣板制造:设计、材料与生产流程
- 经典点唱机的传承与演变
- 乐谱:从中世纪手稿到现代出版——行业全景
- 印制电路板:设计、制造与未来趋势
- 冲浪板构造与设计:从波利尼西亚起源到现代创新
- 现代图书的演变与生产工艺:从泥板到桌面出版
- 基于 Helium 网络的太阳能供电空气质量监测站:设计与部署全指南
- RasPiRobot Board V2:将树莓派扩展为强大机器人控制器
- DIY Arduino单词时钟 – 极简优雅的实时文字显示
- 用 Arduino Mega 制作惊艳的 5×5×5 LED 光立方
- 旧开关面板改造:Arduino 触控智能开关带温度显示