1 使用红外传感器构建一个Arduino计数机-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

科技观察员 来源:circuitdigest 作者:Debasis Parida 2022-08-17 15:59 次阅读

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

所需组件

Arduino UNO

红外传感器

面包板

16*2 字母数字液晶屏

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

连接电线

为 Arduino 硬币分拣机制作结构

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

pYYBAGL8n66AabVFAAngVl956X4403.png

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

poYBAGL8n6qAUjPPAAaq4-alb5s159.png

pYYBAGL8n6aAEtFnAAYDm_jCSp0539.png

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

poYBAGL8n6KAQRMJAAc0eu9HXrA070.png

电路原理

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

poYBAGL8n56AHSrpAAG8Jq-GRPY460.png

在这里,红外传感器被放置在硬币分拣机的不同输出路径上以感应硬币。当硬币插入这个 Arduino 硬币计数器时,它会根据机械设计进入专用路径,相应的 IR 传感器会感应硬币并向 Arduino 提供 HIGH 输出值,该值可由 Arduino 的vwin 引脚读取。给出 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 的硬币分拣机的完整设置如下所示:

pYYBAGL8n5qAJ7blAAXmk_9pX8k608.png

对 Arduino 进行编程

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

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

#include 
#include 
LiquidCrystal_I2C lcd(0x27,16,2);

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

液晶显示器();
液晶背光();
lcd.setCursor(0,0);
lcd.print("基于 ARDUINO");
lcd.setCursor(0,1);
lcd.print("硬币排序");
延迟(2000);
lcd.clear();

在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 上检查各个硬币的计数。

poYBAGL8n5OAE_GpAAUM0-j2N9o556.png
#include

#include

LiquidCrystal_I2C lcd(0x27,16,2);

诠释 f1=0,f2=0,f3=0;

诠释 c1=0,c2=0,c3=0;

无效设置()

{

lcd.init();

液晶背光();

lcd.setCursor(0,0);

lcd.print("基于 ARDUINO");

lcd.setCursor(0,1);

lcd.print("硬币排序");

延迟(2000);

lcd.clear();

}

无效循环()

{

int s1=analogRead(A0);

int s2=analogRead(A1);

int s3=analogRead(A2);

lcd.setCursor(0,0);

lcd.print("RS10 RS2 RS5");

如果(s1>=200 && f1==0)

{

f1=1;

}

否则如果(s1<200 && f1==1)

{

f1=0;

c1++;

}

if(s2>=200 && f2==0)

{

f2=1;

}

否则 if(s2<200 && f2==1)

{

f2=0;

c2++;

}

if(s3>=200 && f3==0)

{

f3=1;

}

否则 if(s3<200 && f3==1)

{

f3=0;

c3++;

}

lcd.setCursor(1,1);

lcd.print(c1);

lcd.setCursor(7,1);

lcd.print(c2);

lcd.setCursor(14,1);

lcd.print(c3);

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2256

    浏览量

    94475
  • 红外传感器
    +关注

    关注

    9

    文章

    519

    浏览量

    47557
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186942
收藏 人收藏

    评论

    相关推荐

    【开源资料】基于Arduino红外传感器的汽车速度检测

    `基于Arduino红外传感器的汽车速度检测项目的工作非常简单。 Arduino不断从红外传感器读取输入。 当在设置前移动的汽车到达第
    发表于 10-23 13:59

    红外传感器安装要求及使用注意事项

      红外线传感器是利用红外线来进行数据处理的传感器,有灵敏度高等优点,红外传感器有什么作用,
    发表于 01-18 17:28

    红外传感器的制作原理是什么?红外传感器主要有哪些应用?

    红外传感器的制作原理是什么?红外传感器有哪些核心技术?红外传感器主要有哪些应用?
    发表于 06-18 07:51

    如何利用arduino打孔纸带通过两红外传感器控制步进电机正反转?

    如何利用arduino打孔纸带通过两红外传感器控制步进电机正反转?
    发表于 10-14 08:25

    红外传感器工作原理_红外传感器的应用

    本文首先介绍了红外传感器工作原理,其次介绍了红外传感器的种类,最后介绍了红外传感器的应用。
    发表于 09-17 08:58 2.8w次阅读

    红外传感器的工作原理是怎样的,它的特性是什么

    红外传感器也根据发出方式和能量转换方式分为不同的类型。下面,让我们具体了解下不同红外传感器的工作原理及特性。 根据发出方式不同,红外传感器可分为主动式和被动式两种。
    发表于 11-05 09:11 3.4w次阅读

    红外传感器单片如何链接以及红外传感器的相关要求

    红外传感器与单片之间的连接方法:通过测量引脚电压将大多数红外传感器转换为距离。因此,通常红外线具有三引脚,VCC和GND
    发表于 05-10 16:00 1.1w次阅读

    通过Simulink和Arduino建模和使用Sharp红外传感器

    德赢Vwin官网 网站提供《通过Simulink和Arduino建模和使用Sharp红外传感器.zip》资料免费下载
    发表于 11-15 10:37 2次下载
    通过Simulink和<b class='flag-5'>Arduino</b>建模和使用Sharp<b class='flag-5'>红外传感器</b>

    使用arduino红外传感器的自动开门

    德赢Vwin官网 网站提供《使用arduino红外传感器的自动开门.zip》资料免费下载
    发表于 12-13 14:19 1次下载
    使用<b class='flag-5'>arduino</b>和<b class='flag-5'>红外传感器</b>的自动开门<b class='flag-5'>器</b>

    红外传感器的物体计数器

    德赢Vwin官网 网站提供《带红外传感器的物体计数器.zip》资料免费下载
    发表于 02-06 11:13 14次下载
    带<b class='flag-5'>红外传感器</b>的物体<b class='flag-5'>计数器</b>

    全面搞懂红外传感器红外传感器的原理、分类、构造、应用)

    导读:红外传感器是很常用的传感器,例如检测温度,很多时候就用红外传感器来测量。本内容共113页PPT,包括了红外传感器的原理、分类、构造
    的头像 发表于 06-06 15:27 2.9w次阅读
    全面搞懂<b class='flag-5'>红外传感器</b>(<b class='flag-5'>红外传感器</b>的原理、分类、构造、应用)

    如何在Arduino上使用红外传感器

    德赢Vwin官网 网站提供《如何在Arduino上使用红外传感器.zip》资料免费下载
    发表于 06-25 16:18 1次下载
    如何在<b class='flag-5'>Arduino</b>上使用<b class='flag-5'>红外传感器</b>

    构建简单的红外传感器模块电路

    红外传感器具有广泛的应用,包括机器人和自动化。几十年来,红外传感器在所有这些应用中都做得很好。本文教您构建简单的
    的头像 发表于 06-29 17:36 2277次阅读
    <b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个</b>简单的<b class='flag-5'>红外传感器</b>模块电路

    红外传感器的类型及应用

    红外传感器类常用于检测、测量和感应目标的电子器件,通过接收目标发射的红外辐射来实现各种功能。根据其工作原理和应用领域的不同,红外传感器可以分为几种主要类型。本文将对
    的头像 发表于 11-21 18:12 4246次阅读

    红外传感器种类及功能

    红外传感器种能够感知和测量红外辐射的装置,被广泛应用于各种领域,包括监控、家庭安防、温度测量、遥控、人体检测等等。本文将详细介绍红外传感器的种类和功能。
    的头像 发表于 01-15 16:15 2260次阅读