圣帕特里克节“畅饮计时器”——基于 Circuito.io 自制啤酒追踪装置
元器件与物料
- SparkFun 力敏电阻 0.5 英寸 ×1
- SparkFun 迷你按钮开关 ×1
- Arduino UNO ×1
- SparkFun 7 段串口显示屏 - 红色 ×1
- SparkFun 迷你压电蜂鸣器 12mm 2.048kHz ×1
应用与在线服务
- circuito.io(自动生成原理图、BOM、接线指南和代码框架)
- Arduino IDE
项目简介
创意构想
一决高下——谁是最快的“干杯王”?
圣帕特里克节到了,我们有了在工作时喝啤酒的绝佳借口!为这喜庆时刻献上:畅饮计时器。现在可以彻底解决——谁是最快的干杯王?
*请适度饮酒*
首先强烈建议先制作计时器,再开始喝酒。这显而易见,但我们还是要嘱咐一句。
电路组装
电路非常简单:
- FSR(力敏电阻)
- 按钮开关
- 压电蜂鸣器
- 7 段数码管
点击魔法链接跳转 circuito.io,组件已预选好。
可选改进
- 将 7 段数码管替换为 LCD 屏幕
- 用红外二极管替代 FSR
- 增加 RGB LED
尽情发挥创意——毕竟是圣帕特里克节!
点击 Generate 后,仔细阅读回复的三部分:BOM 物料清单、分步接线指南、代码。按说明操作,有问题请留言。
后续步骤
- 将 circuito.io 生成的示例代码中的
setup()和loop()替换为本教程附件提供的代码。这样组件库保持不变,仅主逻辑改变。 - 将 FSR(力敏电阻)粘贴在啤酒垫下。杯子拿起(压力释放)即开始计时,放回垫上停止计时,按按钮复位。
- 3D 打印 7 段数码管外壳。
- 开始畅饮!
圣帕特里克节快乐!请适度饮酒!
代码
int start_flag = 0;
bool glassState = 0;
long finalTime, time0;
int timer;
void setup() {
Serial.begin(9600);
Serial.println("start");
pushButton.init();
s7s.clearDisplay();
s7s.setBrightness(255);
s7s.setDecimals(0b00010000); // 设置冒号和撇号
s7s.writeInt(0);
}
void loop() {
float fsrForce = fsr.getForce(); // 读取力值(克)
Serial.print(" Force: "); Serial.print(fsrForce); Serial.println(" [g]");
bool pushButtonVal = pushButton.onPress(); // 读取按钮按下事件
Serial.println(pushButtonVal);
// 按钮复位
if (pushButtonVal == 1) {
start_flag = 0;
glassState = 0;
s7s.writeInt(0);
time0 = millis();
}
if (start_flag == 0) {
if (fsrForce > 50) { // 杯子放下
glassState = 1;
s7s.writeInt(0);
time0 = millis();
} else if (fsrForce < 50 && glassState) { // 杯子拿起
finalTime = millis() - time0;
start_flag = 1;
}
} else if (start_flag == 1) {
if (fsrForce < 100) { // 正在喝
finalTime = (millis() - time0) / 10;
s7s.writeInt(finalTime);
} else { // 喝完放回
start_flag = 2;
finalTime = (millis() - time0) / 10;
s7s.writeInt(finalTime);
piezoSpeaker.playMelody(piezoSpeakerHoorayLength, piezoSpeakerHoorayMelody, piezoSpeakerHoorayNoteDurations);
delay(500);
}
} else {
s7s.writeInt(finalTime); // 显示最终时间直到复位
}
}
制造工艺
- 纪念日:缅怀为自由献身的英雄,致敬退伍军人企业初心
- 可制造性设计 (DFM) 实战指南:工程师与设计师的必修课
- SIGHT:助盲智能眼镜 — 树莓派 + TensorFlow + Android Things
- DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
- DIY 云朵发光服装 — LED 灯带 + Arduino Nano + SparkFun 元件
- 工业级循线搬运机器人 — 物料自动化传输方案
- 智能 Arduino 水杯:实时监测饮水量与智能提醒
- UltraV:便携式紫外线指数仪,守护阳光下的安全
- 迎接 2018 制造日:庆祝创新与职业机遇
- MFG Day 2021:探索制造业盛会的邀请函
- 流量计选型避坑指南:关键因素与实操建议
- Isabellenhütte 推出 IEM-DCC:校准直流电表,实现快充精准计费