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

Circuito.io 为圣帕特里克节提供的 Chug Meter

组件和用品

SparkFun 力敏电阻 0.5"
× 1
SparkFun 迷你按钮开关
× 1
Arduino UNO
× 1
SparkFun 7 段串行显示 - 红色
× 1
SparkFun 迷你音箱 - PC 安装 12mm 2.048kHz
× 1

应用和在线服务

circuito.io
Arduino IDE

关于这个项目

构思

让我们一劳永逸地解决 - 谁是他们中跑得最快的人?

圣帕特里克节到了,这给了我们一个在工作中喝啤酒的好借口!为了这个节日,我们为您提供:The Chug 仪表 .现在我们可以一劳永逸地解决了——谁是他们中最快的笨蛋?

*肆无忌惮地喝酒*

首先,我们建议您之后开始饮用 你做柜台。这似乎很明显,但我们只是在这里确定。

如何组装电路

我们在这里对你很轻松。电路很简单:

  • FSR (力敏电阻)
  • 按钮
  • 压电扬声器
  • 7段显示

魔术链接 会将您重定向到 circuito.io,您将在其中找到预选的组件。

修改

与往常一样,您可以更换电子设备。这里只是几个例子:

  • 用液晶屏代替7段
  • 用 IR 二极管代替 FSR
  • 在电路中添加一个 RGB LED

基本上是疯狂的 - 这是圣帕特里克节!

点击生成后 查看回复的 3 个部分:BoM , 分步接线指南代码 .请仔细按照说明进行操作,如果您需要任何帮助,请在下方评论告诉我们。

后续步骤

一切就绪并运行后,您需要:

  • 用本教程中随附的代码替换您在 circuito.io 回复中获得的示例代码 .复制代码并将其粘贴到固件 来自 circuito.io 的示例代码的选项卡。这样,所有的组件库都将保持原样,只有主要功能会发生变化。
  • 粘贴 FSR (力敏电阻)啤酒杯垫下。一旦力被释放(=品脱被提升),计数器开始运行。当一品脱被放回杯垫上时 - 计时器停止,您可以使用按钮将其重置。
  • 3D 打印 7 段式外壳。
  • 开始喝酒。

快乐圣帕特里克节!负责任地喝酒!

代码

  • Chug Meter 代码
Chug Meter 代码Arduino
将您从 circuito.io 获得的代码中的设置和循环功能替换为以下代码
int start_flag =0;bool glassState =0;long finalTime, time0;int timer;/* 此代码设置你的电路工作。每次您的电路通电时,它首先运行。 */void setup() { // 用于调试的设置串行 // 使用串行监视器查看打印的消息 Serial.begin(9600); Serial.println("开始"); pushButton.init(); s7s.clearDisplay(); // 清除显示,重置光标 s7s.setBrightness(255); // 高亮度 s7s.setDecimals(0b00010000); // 设置冒号和撇号,参考 .cpp 文件 s7s.writeInt(0);}/* 这段代码是你电路的主要逻辑。它定义了您选择的组件之间的交互。设置后,它一遍又一遍地运行,在一个永恒的循环中。 */void loop() { // 读取 FSR 电阻值。也尝试 fsr.getResistance() // 有关更多信息,请参阅 Sparkfun 网站 - www.sparkfun.com/products/9375 // 注意,FSR 计算的默认 Vcc 和外部电阻值为 5V 和 3300Okm,如果您不是 //在电路中使用这些默认值转到 FSR.cpp 并更改 FSR 构造函数中的默认值 float fsrForce =fsr.getForce(); //Serial.print(F(" Force:"));串行打印(fsrForce); Serial.println(F(" [g]")); //读取按钮状态。 //如果按钮未被按下,函数将返回低(0)。如果它被推动功能将返回高(1)。 //如果 debounce 不能正常工作,请尝试更改 Button.h 中的“debounceDelay”变量 //也尝试 pushButton.onPress()、.onRelease() 和 .onChange() 以进行 debounce。 bool pushButtonVal =pushButton.onPress(); //Serial.print(F("Val:")); Serial.println(pushButtonVal); //使用按钮重置时间 if (pushButtonVal ==1) { start_flag =0;玻璃状态 =0; //启动定时器 s7s.writeInt(0);时间 0 =毫秒(); } //设置时间状态 if (start_flag ==0) { //如果放置玻璃 if (fsrForce> 50) { glassState =1; //启动定时器 s7s.writeInt(0);时间 0 =毫秒(); } //如果玻璃被捡起 else if (fsrForce <50 &&glassState) { finalTime =millis() - time0;开始标志 =1; } } //玻璃被捡起,运行计时器 else if (start_flag ==1) { //当你喝酒时,在 7 段显示器上显示时间 if (fsrForce <100) { finalTime =(millis() - 时间 0) / 10; s7s.writeInt(finalTime); } //喝完,停止定时器,打印最后的时间,播放万岁的声音 else { start_flag =2; finalTime =(millis() - time0) / 10; s7s.writeInt(finalTime); piezoSpeaker.playMelody(piezoSpeakerHoorayLength, piezoSpeakerHoorayMelody, piezoSpeakerHoorayNoteDurations);延迟(500); } } //始终打印最后一次直到按下重置按钮 else { s7s.writeInt(finalTime); }}

制造工艺

  1. 可制造性设计:指南
  2. Isabellenhütte:用于快速充电站的直流电表
  3. SIGHT:For the Blind
  4. 为 2018 年制造日做准备
  5. 记住那些为我们的自由付出代价的人
  6. 为 2021 年 MFG 日做好准备!
  7. Arduino 游戏控制器
  8. 云服装
  9. 供应材料的工业线跟随器
  10. Arduino 供电的水壶
  11. UltraV:便携式紫外线指数计
  12. 为您的应用选择合适的流量计的万无一失的方法