只需机器有四种类型的糖果,每种类型都有它的特殊代码,可以使用此特殊代码在获取糖果。实际上,我们打算激励孩子们使用现代技术创造自己的玩具,而不是浪费大量时间玩智能手机或 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. Arduino MEGA 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 商店中获取,网址为https://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
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
这里还没有内容,您有什么问题吗?
电子电路资源推荐
- 是德两分钟导师系列课程第一季

来源:大学堂
- 常用芯片的AD封装库(带3D)sop,tssop,tqfp等等

来源:下载中心
- 单片机C语言程序设计实训100例.pdf

来源:下载中心
- 零基础电路学

来源:大学堂
- 基尔霍夫定律:支路、节点、回路和网孔

来源:电路图
- 电路的基本物理量:电流,电压,电位,电动势,电功率

来源:电路图
推荐帖子 最新更新时间:2026-03-20 11:04
- 【召集帖】LaunchPad大学堂
- LaunchPad大讲堂的所规划的活动大纲内容已经收集齐了前4个内容的文章, 感谢坛友们的踊跃分享。 我们的目标是打造目前最全面的中午LaunchPad教程( 没吓到你吧! )有没有想过,其中有个章节就是你的作品, 诱惑了吧, 活动结束的时候还有礼品相送哦! 现在
wstt
微控制器 MCU
- 为何iPhone 4S采用蓝牙4.0而非NFC
- 之前有国外科技媒体声称,如果苹果的 iPhone 不支持 NFC ,那么 NFC 出头之日或会延迟。事实也正是如此,在美国 Apple 公司 10 月 14 日推出的 iPhone 4S 中采用的是蓝牙 4.0 ,而非 NFC 。 蓝牙 4.0 标准的推出时间为 2010
michael200800
无线连接
- STC单片机PWM波频率计算
- STC单片机,我用11.0592MHz的晶振,定时器0作为PCA的输入源,定时器0设置为1T模式和自动重装载模式,如果要产生1KHz的PWM波,则定时器0的初值应设为多少?是否是TH0=TL0=2的8次方-11.0592MHz/256/1KHz=256-43=213?谢谢各位大侠
whwshiyuan1984
单片机
- 【51征文】活动结果公布啦!
- 提及51,相信大家都有很多话说,所以文章个个都很出彩,为此,我们费了很大劲儿才做出了这个艰难的选择。 希望获奖的朋友继续加油,再创佳作;希望没获奖的朋友也别灰心,下次还有更多精彩的活动。 由于本人刚刚加入论坛没多久,也是第一次组织活动,有细节处理不妥当,还请大家多多
小小白
51单片机
- 哪里可以买到1MHZ的超声波换能器
- 现在急需1MHz的超声波换能器,谁能告诉我哪里有呀???也就是超声波发射与接收器了! 我的邮箱是: xinyuanwanli@163.com 哪里可以买到1MHZ的超声波换能器 哈,没听说1MHz也叫超声波的,一般是从20KHz--50KHz叫超声波,1MHz应该属于电磁波范围之
xinyuanwanli
淘e淘
- LaunchPad能烧写二进制文件么?怎么操作?用CCS
- LaunchPad能烧写二进制文件么?怎么操作?用CCS LaunchPad能烧写二进制文件么?怎么操作?用CCS MSP430肯定是可以烧写.HEX文件的,CCS还没用过 用MSPFET可以 用MSPFET可以 我整理了一些资料,你试试看 https://bbs.eeworl
wangfuchong
微控制器 MCU
- 基于LabVIEW图形界面的TI LM3S8962的开发--开箱照片
- 还是VMProcessPageFault Error的问题
- 【项目外包】单片机通过压力传感器获取压力变化数据
- 电压变化检测分析
- flash
- 急求TI公司的TMS320C6713DSP芯片的ibis模型,多谢了~
- MSP430+DS1302,在1602上显示
- 【Labview】推荐学习Labview的书
- C/C++的64位整数[原]by 赤兔
- 2012 电子设计大赛 B题 频率补偿电路 交流群!
- 烧程序求助
- 德州仪器高性能单片机和模拟器件在高校中的应用-培训.pdf
- 浴室代码(增加ZIGBEE串口通信模块)
- MSP430在执行时间中断时,计数器还在工作吗(比如增加OR减少)?
- 用51做的4004语音,碰到小问题,前辈请进
- 哪位前辈用MSP430做过绝对式光电编码器的测试?
- g2553定时器的使用问题
- 熟悉 LM3S 的朋友,请抓紧时间过渡到 LM4F
- 关于stm32 flash问题。
- 板子焊好了,点亮了GPIO,用的是JLINK调试器,蛮方便。
- 使用 Richtek Technology Corporation 的 RT6586BGQW 的参考设计
- 使用 Infineon Technologies AG 的 IRU1117-25 的参考设计
- 使用 Microchip Technology 的 MIC2772-M2M3YML 的参考设计
- 用于微处理器复位电路的 NCP300LSN46T1 4.6V 电压检测器的典型应用
- LTC3622HDE 5V/3.3V 串联输出、突发模式操作中的降压稳压器的典型应用电路
- AD8602ARZ 高端运算放大器电流监控器的典型应用
- LTM8054EY 24Vout 的典型应用电路从 7.5V 到 36Vin 具有 1.2A 准确电流限制
- LTC3630AEMSE 5V 至 76V 输入至 5V 输出、150mA 稳压器和 20kHz 最小突发频率的典型应用电路
- EVAL-AD7667CB,用于 AD7667、16 位、1 Msps PulSAR 模数转换器的评估板
- RDR-805 - 100 W USB PD 3.0,采用 3.3 V-21 V PPS 电源,使用 InnoSwitch3-Pro 和 VIA Labs VP302 控制器







京公网安备
11010802033920号