0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

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

3天内不再提示

基于Arduino DIY自动糖果售货机

pecron 来源:电路一点通 作者:电路一点通 2023-04-18 09:11 次阅读

只需机器有四种类型的糖果,每种类型都有它的特殊代码,可以使用此特殊代码在获取糖果。实际上,我们打算激励孩子们使用现代技术创造自己的玩具,而不是浪费大量时间玩智能手机或 PC。

回归到项目,

如果你想从第一种口味中得到糖果,你应该在你的文案写 C111。

如果你想从第二种口味中得到糖果,你应该在你的文案写 C112。

如果你想从第三种口味中获得糖果,你应该在你的文案写 C113。

如果你想从第四种口味中获得糖果,你应该在你的文案写 C114。

第1步:你需要什么

这些是该项目所需东西的清单:

工具:

1.螺丝刀

2.钳子

3. 平切刀

4.数字万用表

5. 双面胶带。

6. 铜垫片(6mm 公 - 母)

7. 胶带

材料:

1. 亚克力板 3mm

2.胶合板3mm

3. 螺丝和螺母

组件:

1. 8 x 标准金属伺服电机(7.5 kg.cm)

2. 螺栓 M4 x 10mm

电子元件:

1.ArduinoMEGA 2560 2. 1个Sheel 3.开关电源(5V - 5A) 4.小面包板 5. 跳线(公 - 公) 6. 跳线(公-母)

第 2 步:机构和框架设计

这一切都始于一个适当的设计,在我的例子中,一些草图以获得对尺寸和形状的良好感觉。在草图阶段之后很快就出现了 CAD 模型。(关注公众号 电路一点通)在 SolidWorks 中创建了我的模型。在对所有零件进行建模后,制作技术图纸。我使用这些图纸来加工激光切割机上的所有定制零件。

由于我打算在世界各地的许多活动中随身携带这台机器,因此我将其设计为易于拆卸和安装,因此我使用螺钉和螺母、Martise 和 Tenon 来固定它的所有零件。

第 3 步:机构和框架(制造和组装)

我用激光切割机从胶合板和亚克力板上切割机器零件。然后我用 M4*10mm 螺栓将伺服电机固定到它们的载体上。固定伺服电机后,使用铜垫片将 Arduino Mega 和 1sheeld 固定到它们的载体上,然后固定电源,现在你可以将所有机器零件聚集在一起.

第 4 步:电子和 Arduino 代码

这里最重要的部分是为伺服电机供电,您应该直接从电源为伺服电机供电,以避免使 Arduino 板休息。不要忘记将所有地线相互连接在将电机与 Arduino 和 1Sheeld 连接后,从电源为它们供电,您应该按照以下步骤操作:

第 1 步:将 1Sheeld 放在 Arduino 板上,然后将 Arduino 插入笔记本电脑或 PC。

第 2 步:将 1Sheeld 应用程序下载到您的智能手机上。该应用程序可在 Google Play 商店中获取,网址为http://1sheeld.com/app

第 3 步:下载 1Sheeld 库

第 4 步:解压缩文件夹,将其复制并粘贴到您的 Arduino 库目录中。

第 5 步:打开我的 Arduino Sketch(您将在附件中找到它

第 6 步:上传您的草图 Hesre 是整个教程中最重要的部分,将 1Sheeld 切换到 Uploading-mode(这是板上标有 UART Switch 的开关),然后再将您的草图上传到 Arduino 板,以避免两者之间的串行冲突1Sheeld 和 Arduino,然后在 IDE 中按下 Upload 按钮。

将 UART 开关推离 1Sheeld 徽标时,将打开上传模式。

完成上传后,您需要将 1Sheeld 切换回操作模式。不要忘记!如果您不将 UART 开关切换回操作模式,您的项目将无法正常工作,因为 1Sheeld 和 Arduino 板之间将没有通信

当 UART 开关被推到最靠近 1Sheeld 标志时,操作模式被打开。

第 7 步:使用 1Sheeld 应用程序

在您的 Android 智能手机上打开 1Sheeld 应用程序。该应用程序将首先通过蓝牙扫描您的 1Sheeld,这需要几秒钟,手机会找到它。一旦它在屏幕上显示为 1Sheeld #xxxx,您将需要输入配对码(默认配对码为 1234)并通过蓝牙连接到 1Sheeld。

注意:如果您遇到问题,请确保您的 Android 手机的蓝牙已打开,并且 Android 手机靠近您的 1Sheeld。
第 8 步:访问 Twitter 和 Terminal Shields

从屏蔽列表中选择 Twitter Shield 和 Terminal Shield,然后按应用程序右上角的多个屏蔽图标。

Vending Machine.ino:

#define CUSTOM_SETTINGS
#define INCLUDE_TWITTER_SHIELD
#define INCLUDE_TERMINAL_SHIELD

#include
#include

Servo BlockColoumn1; // create servo object to control a servo
Servo BlockCandy1; // create servo object to control a servo

Servo BlockColoumn2; // create servo object to control a servo
Servo BlockCandy2; // create servo object to control a servo

Servo BlockColoumn3; // create servo object to control a servo
Servo BlockCandy3; // create servo object to control a servo

Servo BlockColoumn4; // create servo object to control a servo
Servo BlockCandy4; // create servo object to control a servo

void setup()
{
OneSheeld.begin();

BlockColoumn1.attach(3); // attaches the servo on pin 3 to the servo object
BlockCandy1.attach(4); // attaches the servo on pin 4 to the servo object

BlockColoumn2.attach(5); // attaches the servo on pin 5 to the servo object
BlockCandy2.attach(6); // attaches the servo on pin 6 to the servo object

BlockColoumn3.attach(7); // attaches the servo on pin 7 to the servo object
BlockCandy3.attach(8); // attaches the servo on pin 8 to the servo object

BlockColoumn4.attach(9); // attaches the servo on pin 9 to the servo object
BlockCandy4.attach(10); // attaches the servo on pin 10 to the servo object

/* Subscribe to setOnSelected event for the Twitter shield. */
Twitter.setOnSelected(&shieldSelection);
/* Subscribe to onNewTweet event. */
Twitter.setOnNewTweet(&myTweet);
}

void loop()
{

}

void shieldSelection()
{
/* Track keyword 1Sheeld on Twitter. */
Twitter.trackKeyword("C111");
Twitter.trackKeyword("C112");
Twitter.trackKeyword("C113");
Twitter.trackKeyword("C114");
}

void myTweet(char * userName , char * userTweet)
{
/* Check if the tweet has 1Sheeld keyword. */
if (strstr(userTweet, "C111") != 0)
{
BlockCandy1.write(90);
OneSheeld.delay(400);
BlockCandy1.write(180);
OneSheeld.delay(20);
BlockColoumn1.write(90);
OneSheeld.delay(400);
BlockColoumn1.write(180);
Terminal.println(" C111 Detected");
}
else if (strstr(userTweet, "C112") != 0)
{
BlockCandy2.write(90);
OneSheeld.delay(400);
BlockCandy2.write(180);
OneSheeld.delay(20);
BlockColoumn2.write(90);
OneSheeld.delay(400);
BlockColoumn2.write(180);
Terminal.println(" C112 Detected");
}
else if (strstr(userTweet, "C113") != 0)
{
BlockCandy3.write(90);
OneSheeld.delay(400);
BlockCandy3.write(180);
OneSheeld.delay(20);
BlockColoumn3.write(90);
OneSheeld.delay(400);
BlockColoumn3.write(180);
Terminal.println(" C113 Detected");
}
else if (strstr(userTweet, "C114") != 0)
{
BlockCandy4.write(90);
OneSheeld.delay(400);
BlockCandy4.write(180);
OneSheeld.delay(20);
BlockColoumn4.write(90);
OneSheeld.delay(400);
BlockColoumn4.write(180);
Terminal.println(" C114 Detected");
}
else
{
BlockCandy1.write(180);
BlockColoumn1.write(180);

BlockCandy2.write(180);
BlockColoumn2.write(180);

BlockCandy3.write(180);
BlockColoumn3.write(180);

BlockCandy4.write(180);
BlockColoumn4.write(180);

Terminal.println(" Nothing Detected");
}
}// void my tweet

审核编辑:汤梓红

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

    关注

    66

    文章

    18069

    浏览量

    177077
  • 伺服电机
    +关注

    关注

    82

    文章

    1838

    浏览量

    56295
  • uart
    +关注

    关注

    22

    文章

    1159

    浏览量

    99981
  • 应用程序
    +关注

    关注

    37

    文章

    3136

    浏览量

    56411
  • Arduino
    +关注

    关注

    184

    文章

    6428

    浏览量

    184852

原文标题:DIY 自动糖果售货机( Arduino 代码)

文章出处:【微信号:电路一点通,微信公众号:电路一点通】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    自动售货机原理图

    自动售货机由七个集成电路和三个显示器构成。如图所示,两个555 CMOS定时集成电路产生脉冲。集成电路用来为整个电子自动售货机产生时钟脉冲。
    发表于 12-26 11:52 3.5w次阅读
    <b class='flag-5'>自动</b><b class='flag-5'>售货机</b>原理图

    【FPGA设计实例】自动售货机VHDL程序与仿真

    本帖最后由 eehome 于 2013-1-5 09:56 编辑 自动售货机VHDL程序与仿真(1)自动售货机VHDL程序如下:--文件名:pl_auto1.vhd。--功能:货
    发表于 03-05 15:03

    无线远程对自动售货机的管理

    现在很多支付商家都在推举1分钱购买自动售货机的饮料,那么这些自动售货机是怎么普及过来的呢? 随时随地可见的自动
    发表于 07-26 09:06

    被无线远程控制管理的自动售货机

    现在很多支付商家都在推举1分钱购买自动售货机的饮料,那么这些自动售货机是怎么普及过来的呢? 随时随地可见的自动
    发表于 07-28 09:23

    4G无线工业路由器自动售货机的应用

    方案需求自动售货机的应用日渐广泛,如城市街头、酒店、机场、居民社区、娱乐公共场所、办公大楼、商场、学校等场所,便捷式的服务和管理渐渐深入工作生活。自动售货机的管理逐步趋于无线管理方式,
    发表于 11-29 23:47

    嵌入式自动售货机能实现什么功能?

    我们知道,智能设备的根本在于嵌入式系统的开发应用(嵌入式系统开发流程),随着电子技术不断的发展,很多智能化设备逐步取代了人工劳动,自动售货机就是其中一种基于嵌入式系统的智能化设备(什么是嵌入式系统
    发表于 04-17 08:14

    基于80C51单片机的自动售货机设计

    自动售货机自动化技术在人们生活中的重要应用。随着人们生活质量的不断提高,对自动售货机的性能要求越来越高。
    发表于 12-02 07:30

    自动售货机短信报警系统

    关键词 ZWG-03A 智能短信设备、自动售货机、短信报警摘 要 本文介绍 ZWG-03A 在自动售货机短信报警系统中的应用
    发表于 11-04 11:18 86次下载

    智能自动售货机售货

    英特尔打造核心技术智能自动售货机售货 .
    发表于 12-28 18:09 0次下载

    一种基于 PLC 的自动售货机系统的设计

    一种基于 PLC 的自动售货机系统的设计王晓丽摘要:设计一种可编程序控制器 PLC 控制的自动售货机控制系统
    的头像 发表于 03-29 10:12 1.3w次阅读

    Arduino制作自动售货机的方法

    自动售货机(Vending Machine,VEM)是能根据投入的钱币自动付货的机器。自动售货机是商业
    的头像 发表于 05-27 06:53 6818次阅读

    自动售货机方案/设计/开发/项目

    厂商轻松实现角色转换。目前国内智能零售设备市场刚刚起步便已热火朝天,指数级的增长绝不只是梦想。目录一、自动售货机方案介绍二、自动售货机方案的优点三、
    发表于 11-10 12:50 43次下载
    <b class='flag-5'>自动</b><b class='flag-5'>售货机</b>方案/设计/开发/项目

    基于Arduino的比特币糖果自动售货机

    电子发烧友网站提供《基于Arduino的比特币糖果自动售货机.zip》资料免费下载
    发表于 11-02 15:18 0次下载
    基于<b class='flag-5'>Arduino</b>的比特币<b class='flag-5'>糖果</b><b class='flag-5'>自动</b><b class='flag-5'>售货机</b>

    DIY自动售货机开源项目

    电子发烧友网站提供《DIY自动售货机开源项目.zip》资料免费下载
    发表于 11-28 10:09 2次下载
    <b class='flag-5'>DIY</b><b class='flag-5'>自动</b><b class='flag-5'>售货机</b>开源项目

    使用Arduino和1Sheeld DIY自动售货机

    电子发烧友网站提供《使用Arduino和1Sheeld DIY自动售货机.zip》资料免费下载
    发表于 12-12 14:16 0次下载
    使用<b class='flag-5'>Arduino</b>和1Sheeld <b class='flag-5'>DIY</b><b class='flag-5'>自动</b><b class='flag-5'>售货机</b>