6-Shooter:Arduino 饮料混合站
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 7 | ||||
| × | 8 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
|
关于这个项目
简介
想通过按一下按钮来混合饮料吗? 6-Shooter 可以用一个泵混合和匹配 6 种不同饮料的组合!只需从列表中选择您的饮料,按下按钮,它就会倒出您的饮料并为您提供灯光秀,不少于!在本教程中,我们将制作类似于 Somabar 的东西。 请注意,这是一个相当昂贵的项目 ,但它确实在聚会上大吃一惊。想自己做吗?让我们开始吧!
第 1 步:接线 图> 图> 图> 图>
这看起来像是一些非常密集的布线,有点混乱,但它实际上只是重复几次相同的过程。
将您的电磁阀连接到继电器:
- 准备好继电器、电磁阀、直流母插孔尾纤和螺母
- 将一根电线从电磁阀连接到继电器的中心端子
- 将地线从 DC 插孔连接到继电器上的 NO 或常开
- 通过使用线螺母或焊接连接,将电磁阀的另一根导线连接到 DC 插孔的电压线。我们使用线螺母是因为我们喜欢快速和肮脏,但您可以通过焊接获得更好的电气连接。
上面列出的相同过程适用于泵,注意负极(黑色,接地)引线连接到继电器的中心端子,正极(红色,电压)引线连接到 DC 插孔的电压线。
建立你的 液晶控制面板 和 RobotGeek Drink Station 接线前。
将您的组件连接到 Sensor Shield:
第二步:组装 图> 图> 图>
安排您的组件,以便电线不受压力并且电子设备没有液体危险。另一个考虑因素是保持两个工作台板之间的电线混乱。查看图片以获取有关布置组件的灵感,并查看精彩图表(MS Paint 中的一万小时)以确保您以正确的方向运行液体管线以与泵配合使用。
第 3 步:编程和测试
您需要获取 RobotGeek 库和工具。包括用于 6-Shooter 的所有库,以及让您运行的演示代码。把它放在你的 Arduino 文件夹中,打开 IDE,然后加载:
robotsGeekLibrariesAndtools-master.zip文件 → Sketchbook → RobotGeekSketches → Demos → DrinkStation
让我们来看看代码:
// SelectionsString selectionLine[14] ={ " ", //缓冲线。离开这里或体验恐怖。 "1.红","2.绿","3.蓝","4.黄","5.白","6.黑","7.红&黄","8.绿&蓝", "9. Black &White ", "10. Black &Yellow ", " ", //缓冲线。离开这里或体验恐怖。 " ", //缓冲线。离开这里或体验恐怖。 "End of List " //缓冲线。离开这里或体验恐怖。 };
这是饮料清单。这些名称将显示在 LCD 屏幕上,可以滚动选择。您可以更改此设置以准确反映可用的饮料和混合物。
int PUMP_TIME =2500; //泵站运行时间以毫秒为单位
这是默认的泵运行时间。默认情况下,您可以更改此设置以提供更大的镜头。
LiquidCrystal_I2C lcd(0x27, 20, 4); //I2C 4 行 20 列 LCD 屏幕在 0x27 //LiquidCrystal_I2C lcd(0x3F, 20, 4); //I2C 4 行 20 列 LCD 屏幕在 0x3F
这就是我们称之为屏幕的地方。某些屏幕的地址与其他屏幕不同,因此如果加载草图时屏幕未显示列表,请在此处更改地址。
if ( debounce[2].fell() ) { switch (drinkSelectCounter) { case 1:// Red lcd.setCursor(0, 0); lcd.print(promptLine[2]); colorWipe(strip.Color(255, 0, 0), 50); // 红色digitalWrite(PUMP_RELAY_PIN, HIGH); // 打开泵 digitalWrite(SELECTED_RELAY_PIN[0], HIGH); // 打开电磁阀 1 延迟(PUMP_TIME); // 运行设定的时间 digitalWrite(SELECTED_RELAY_PIN[0], LOW); // 关闭电磁阀 1 digitalWrite(CLEAN_RELAY_PIN, HIGH); // 打开电磁阀 7 延迟(PUMP_TIME); // 运行设定的时间 digitalWrite(CLEAN_RELAY_PIN, LOW); // 关闭电磁阀 7 digitalWrite(PUMP_RELAY_PIN, LOW); // 关闭泵中断;
这是对饮料的调用,以及对清单上第一杯饮料的操作。您可以添加或更改您认为适合您想要混合的饮料的情况。每个案例都是一系列动作,首先是更改屏幕上的提示,然后是打开灯,然后是打开正确阀门和运行泵的顺序。只有在至少一个阀门打开时才应运行泵。
将代码上传到您的微控制器并试一试!我们建议先用一些水测试它,以防万一您的构建中的某些东西很时髦。确保在测试混合物之前单独测试每个阀门。一旦您对操作感到满意,就开始筹划派对!
第 4 步:聚会!
现在你有了一个自动调酒师!当您的客人通过按下按钮从机器人那里获得精心制作的饮料时,他们会翻转!从这一点上你能做什么?添加蓝牙功能并制作一个应用程序让您的客人从他们的手机中选择他们的饮料怎么样(MIT App Inventor 是一个很好的工具)?添加一个机器人手臂将饮料送到多个玻璃杯中并真正让他们脱掉袜子怎么样?也许你能找到一种方法把这个坏男孩放在漫游车上,让机器人在你家周围滚来滚去喝一杯?与往常一样,我们很想听听您的想法!
代码
- 代码片段#2
- 代码片段 #5
代码片段#2纯文本
// SelectionsString selectionLine[14] ={ " ", //缓冲线。离开这里或体验恐怖。 "1.红","2.绿","3.蓝","4.黄","5.白","6.黑","7.红&黄","8.绿&蓝", "9. Black &White ", "10. Black &Yellow ", " ", //缓冲线。离开这里或体验恐怖。 " ", //缓冲线。离开这里或体验恐怖。 "End of List " //缓冲线。离开这里或体验恐怖。 };
代码片段 #5纯文本
if ( debounce[2].fell() ) { switch (drinkSelectCounter) { case 1:// Red lcd.setCursor(0, 0); lcd.print(promptLine[2]); colorWipe(strip.Color(255, 0, 0), 50); // 红色digitalWrite(PUMP_RELAY_PIN, HIGH); // 打开泵 digitalWrite(SELECTED_RELAY_PIN[0], HIGH); // 打开电磁阀 1 延迟(PUMP_TIME); // 运行设定的时间 digitalWrite(SELECTED_RELAY_PIN[0], LOW); // 关闭电磁阀 1 digitalWrite(CLEAN_RELAY_PIN, HIGH); // 打开电磁阀 7 延迟(PUMP_TIME); // 运行设定的时间 digitalWrite(CLEAN_RELAY_PIN, LOW); // 关闭电磁阀 7 digitalWrite(PUMP_RELAY_PIN, LOW); // 关闭泵中断;
Github
https://github.com/robotgeek/robotGeekLibrariesAndtools/archive/master.ziphttps://github.com/robotgeek/robotGeekLibrariesAndtools/archive/master.zip制造工艺