智能存钱罐

来自Microduino Wikipedia
Fengfeng讨论 | 贡献2016年11月4日 (五) 05:22的版本 编程思路
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

概述

Anywhere piggy bank.jpg

做一个智能存钱罐,可以记录存钱数并在OLED屏幕上显示,每次有硬币投入存钱罐时会发出“叮”声。
适合套件:mCookie302


模块清单

模块

模块 数量 功能
mCookie-Core 1 核心板
电池盒 1 程序下载和供电模块
mCookie-Hub 1 传感器转接板
mCookie-OLED 1 显示
蜂鸣器 1 发声
红外反射传感器 1 检测物体

其他设备

  • USB数据线*1
  • 传感器连接线*2
  • 传感器外壳
  • 乐高或其它固定结构
Anywhere piggy bank-module.jpg

模块搭建

搭建

Anywhere piggy bank-step.jpg
  • 将模块和传感器组装起来:
    • 将红色的核心模块,电池底座、OLED与绿色的扩展模块吸在一起;
    • 将红外反射传感器连接在Hub的A0/A1管脚;
    • 将蜂鸣器连接在Hub的6/7管脚。。
    • 将USB连接线一端插入电池底座,另一端连接电脑;

编程

使用的程序块


编程思路

判断红外反射距离是否小于180,若小于180则表示有币投入(根据硬币材质不同,判断值可适当调节),蜂鸣器发出叮的一声,硬币数加1,再在OLED上显示出来,最后等待红外反射传感器的距离大于220。

Mixly-ctrl-piggy bank.jpg

开始编程

判断有硬币
声明一个名叫coin的变量,用来存储硬币数量。如果红外反射传感器测得距离值小于180,则证明传感器面前有硬币。
蜂鸣器响、钱计数、屏幕显示钱数
蜂鸣器发出“叮”的一声。变量coin加1。注意根据安装方向调整屏幕的显示方向。将coin值(硬币数)显示在屏幕上。等待红外反射传感器的距离值大于220(硬币落入存钱罐)。

Mixly-ctrl-piggy bank-code.jpg



测试结果
上传成功后,用硬币靠近红外反射传感器,可以听到蜂鸣器“叮”一声,显示屏上计数一次,显示目前钱数。

Anywhere piggy bank.jpg



Q:如果我把存钱罐中的硬币都取出来,如何清除之前的存钱记录呢?
A:增加一个触摸传感器,用“如果-执行”程序块判断触摸传感器是否被按下,若被按下则将变量“coin”的值清零。

如果“清零”键按下则执行清零程序。蜂鸣器发出“叮”的一声。将变量coin的值变为0。重新显示硬币数量。

Mixly-ctrl-piggy bank-code2.jpg

技术规范


相关案例


Q&A