首页 > 微机单片机 >单片机制作 > 使用红外传感器构建一个Arduino计数机

使用红外传感器构建一个Arduino计数机

来源:互联网发布者:zht24 关键词: 计数器 红外传感器 Arduino 更新时间: 2024/03/06

在这个项目中,我们正在使用红外传感器构建一个Arduino 计数机。这台机器在红外传感器的帮助下对不同部分的硬币进行计数和分类。在这里,布置了红外传感器以感应不同的硬币,Arduino UNO 用于处理数据并在16x2 LCD上显示总计数值。

所需组件

Arduino UNO

红外传感器

面包板

16*2 字母数字液晶屏

用于 16x2 (1602) 字母数字 LCD 的 I2C 模块

连接电线

为 Arduino 硬币分拣机制作结构

步骤 1:取一张纸板并标记不同的硬币尺寸,如下图所示。然后小心地切割标记的部分。这些部分的切割必须准确;否则,该项目可能无法完美运行。

第 2 步:按照下图所示,将上述装置放置在斜坡结构中。布置好后,通过在斜坡上插入不同的硬币来检查它,以确保布置完美无缺。如果硬币没有正确插入,则根据硬币稍微增加孔的大小并重新检查直到成功操作。

第 3 步:将 IR 传感器放置在单个硬币的输出路径附近。正确放置传感器并使用电位计校准它们非常重要。然后再次插入硬币以检查传感器操作。在此处了解有关IR 传感器电路的更多信息。

电路原理图

下面是Arduino计数机的电路图:

在这里,红外传感器被放置在硬币分拣机的不同输出路径上以感应硬币。当硬币插入这个 Arduino 硬币计数器时,它会根据机械设计进入专用路径,相应的 IR 传感器会感应硬币并向 Arduino 提供 HIGH 输出值,该值可由 Arduino 的模拟引脚读取。给出 HIGH 值的 IR 传感器决定硬币的价值,如卢比 2/5/10。

这里一个 16x2 字母数字 LCD 使用 I2C 模块与 Arduino 连接,以显示放入盒子中的硬币数量。此LCD 也可以不使用 I2C 模块直接连接到 Arduino,但这需要更多的连接数。所以为了更简单,I2C 模块与 LCD 一起使用,它只使用 2 个引脚,即 SCL、SDA 来连接 LCD 和 Arduino。为 Arduino 供电,使用 12VDC,1 AMP AC-DC 适配器,可直接连接到 Arduino 的电源插孔。

稍作修改后,基于 Arduino 的硬币分拣机的完整设置如下所示:

对 Arduino 进行编程

硬件连接成功后,现在是时候对 Arduino 进行编程了。Arduino 的完整代码在本教程的底部给出。代码的逐步解释如下:

在程序中要做的第一件事是包含所有必需的库。在我的例子中,我包含了用于使用 LCD 的 I2C 接口的“LiquidCrystal_I2C.h”库和用于在 Arduino 上使用 I2C 功能的“Wire.h ”。

#include

在setup() 中,编写了 LCD 命令用于在 LCD 上显示欢迎消息。

液晶显示器();
液晶背光();
lcd.setCu

在loop() 内部,analogRead函数用于从 Arduino 的不同模拟通道读取红外传感器值并将它们存储在不同的变量中。

int s1=analogRead(A0);
int s2=analogRead(A1);
int s3=analogRead(A2);

然后,编写下面的代码来检测硬币并增加硬币计数器的值。这里使用标志值 f1 来避免多次计数硬币。

如果(s1>=200 && f1==0)
{
  f1=1;
}
否则如果(s1<200 && f1==1)
{
  f1=0;
  c1++;
}

最后,使用以下命令将计数值显示在 LCD 上。

lcd.setCursor(0,0);
lcd.print("RS10 RS2 RS5");
lcd.setCursor(1,1);
lcd.print(c1);
lcd.setCursor(7,1);
lcd.print(c2);
lcd.setCursor(14,1);
lcd.print(c3);

Arduino硬币计数器的操作

完成设置并上传代码后,打开 12V 直流电源。首先,欢迎信息将显示在 LCD 上,几秒钟后,LCD 上将显示所有可用硬币数量的屏幕。一开始,它会显示为零,因为我们还没有插入任何硬币。

接下来,在写有“ Insert Coin ”的机器顶部插入任何硬币(Rs. 2/5/10)。现在您将看到必须在 LCD 上更新硬币计数的值。然后插入多个不同价值的硬币,并在 LCD 上检查各个硬币的计数。


#include

提问/讨论

这里还没有内容,您有什么问题吗?

我要提问/讨论

推荐帖子 最新更新时间:2024-11-13 09:12

嗨,那个谁:ARM已经成苹果座上宾了
北京时间5月26日消息,科技博客9to5mac援引法国网站MacBidouille的消息称,苹果目前正在测试基于ARM架构芯片的新款Mac电脑,并为iMac配备了一个整合更大Magic trackpad触摸板的键盘。而且,苹果还将为ARM架构电脑开发新版OS X系统。 消息称,苹
 azhiking单片机
温度传感器
SmartNode WTS01无线温度传感器 SmartNode WTS01无线温度传感器基于SmartNode无线通信网络,具有低功耗,传输距离远,支持路由组网等优点。可设置采样周期(50ms-60min),上报周期(1-65535s),同时具备上下限温度报警、温
 seany123331RF/无线
分享LM2576电路的几个问题
一,LM2576hv-15参照手册中负压输出电路有问题 问题: 实际电路参照此手册中的电路进行设计,已经确定器件没有问题,没有连接错误,PCB正确,外部供电电压为24V直流,上电后,输出不正常,不是负压而是一个正6V的值,且外部输入24V被拉低到4V左右,芯片发热。确定
 qwqwqw2088模拟与混合信号
七行代码实现一个超声波测距仪(Oled屏显示)
一、前言 shineblink core 开发板(简称Core)的库函数支持US-015超声波测距传感器,所以只需要调用两个API,即可实现超声波测距功能。 PS:Core 仅用五、六行代码即可实现Wifi/Ble/NB/Lora/ThreadMesh/RFID/Eth/
 wadewade单片机
一周好资源(PCB类)——五月第一周
FPM_0.080封装生成器 35个经典模拟电路仿真 精彩贴片集成电路的焊接图文教程 CADENCE高速电路板设计与仿真(原理图与PCB设计-第4版) 常用PCB封装库.rar 手把手教你开关电源PCB排版+19页+0.2M.pdf TOP系列编程器软件 (支持TOP
 okhxyyoPCB设计
DSPF28335开发板,互补对称的PWM波
请问大家一个问题,我用DSPF28335开发板,如果要产生两路互补对称的PWM波,是用图中1脚和2脚吗? DSPF28335开发板,互补对称的PWM波 你这样问问题不对,每个板子的设计和名称不一样,一样的是28335的管脚。ePWMxA跟ePWMxB是同一个epwm模块的输出引
 韬沉哈哈DSP 与 ARM 处理器

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD 电路图 站点相关: 下载中心 Datasheet 参考设计

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved