基于Arduino的自弹尤克里里机器人

news2024/9/29 10:39:03

需要项目源码资料的可以私信我

基于Arduino的自弹尤克里里机器人

  • 一、简介
  • 二、材料清单
  • 三、工具
  • 四、实现过程
    • 步骤1:实物图
    • 步骤2:3D打印部件
    • 步骤3:组装上半部分
    • 步骤4:组装下半部分
    • 步骤5:安装导轨
    • 步骤6:设置皮带和滑轮系统
    • 步骤7:电子设备的连接
    • 步骤8:编写和上传代码
    • 步骤9:校准
    • 步骤10:组装电磁阀
    • 步骤11:最终测试
    • 步骤12:添加曲目
  • 结语

一、简介

在这个充满创意的项目中,我们将一起探索如何使用Arduino Uno微控制器来构建一个可以自主演奏音乐的自弹尤克里里机器人。这是一个结合了3D打印、电子工程和编程的有趣项目,适合所有级别的爱好者。以下是实物图片。

在这里插入图片描述
在这里插入图片描述

二、材料清单

在开始之前,我们需要准备以下材料:

  1. 尤克里里:任何便宜的型号都可以,但最好是女高音型号。
  2. Arduino Uno:作为我们机器人的大脑。
  3. L293D电机驱动盾:用于驱动电磁阀。
  4. 12V电磁阀:8个,用于弹奏琴弦。
  5. Nema 17步进电机:用于控制滑动机构。
  6. TMC2208步进电机驱动器:为步进电机提供精确控制。
  7. 迷你面包板:用于临时连接电子元件。
  8. 150mm MGN9B直线导轨:带滑块,用于构建滑动机构。
  9. GT2 6mm同步带:用于连接步进电机和滑块。
  10. 滑轮和惰轮:用于同步带的张紧。
  11. 微型伺服电机:用于控制拨片。
  12. 12V 10A电源:为整个系统供电。
  13. 22 AWG实心导线:用于连接电子元件。
  14. M3螺母和螺栓:用于组装3D打印部件。
    Arduino控制核心如下图:
    在这里插入图片描述

三、工具

  • 3D打印机:用于打印机器人的外壳和部分机械部件。
  • 烙铁:用于焊接电子元件。
  • 螺丝刀:用于组装机械部件。
  • 万用表:用于测量电压和电流。

四、实现过程

步骤1:实物图

在这里插入图片描述

步骤2:3D打印部件

首先,使用3D打印机打印所需的部件,包括外壳、滑轨支架、步进电机支架、伺服电机支架等。如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于部件过多这里就不展示了,需要3D模型的可以私信我,发你文件。
在这里插入图片描述
然后即可进入打印模型了
在这里插入图片描述
在这里插入图片描述

步骤3:组装上半部分

将直线导轨支架安装在上半部分,并使用M3螺丝固定。然后安装步进电机支架和步进电机。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重复这个过程来将步进电机支架安装在侧面,然后将步进电机滑入到位,面向上方。

步骤4:组装下半部分

对于下半部分,首先安装惰轮支架,然后是另一个导轨支架。接下来,将Arduino和电机盾安装到侧面。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最终完成的效果应该与上面显示的图片类似。

步骤5:安装导轨

现在可以将直线导轨放置在尤克里里的主体上。一旦它处于正确的位置,就应该完全紧固导轨支架。

接下来,取下3D打印的伺服电机支架,并将其连接到同步带上。伺服电机支架有特定的槽位用于固定皮带,因此它应该可以轻松地推入到位。

再次检查滑动块是否能够自由地沿直线导轨上下移动,然后将其拧紧到伺服电机支架上,确保其方向正确。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

步骤6:设置皮带和滑轮系统

将惰轮滑轮放置在其支架上,然后将皮带环绕在惰轮滑轮和步进电机轴上。将皮带剪成合适的长度,并将其插入步进电机支架上的另一个槽中。这将允许步进电机上下移动滑动块。
在这里插入图片描述
在这里插入图片描述

步骤7:电子设备的连接

将迷你面包板放置在步进电机旁边,并将TMC2208步进电机驱动器插入中心。现在,为了限制供应给步进电机的电流,我们需要在驱动模块上设置电压参考。

  1. 首先,将驱动器连接到12V电源。
  2. 打开电源并将万用表设置为测量直流电压。
  3. 将黑色探头放在GND引脚上,红色探头放在微小的电位器上。
  4. 在监视万用表读数的同时调整电位器以设置参考电压(VREF)。

⚠️我最终将参考电压设置在大约1V。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

步骤8:编写和上传代码

对于连接到Arduino的其余部分:

  1. M1A、M1B、M2A、M2B连接到步进电机。
  2. VIO焊接到电机盾上的5V输出。
  3. DIR、STEP和ENABLE连接到你选择的Arduino数字引脚,并用于向驱动器发送信号。
  4. 应该连接地线。

在这里插入图片描述
在这里插入图片描述

步骤9:校准

现在是时候让机械装置动起来了!

通过将滑块移至尽可能靠近步进电机的位置来重置滑块的位置。然后上传使用Accelstepper库的stepper.ino代码,以测试其运动(你可能需要调整限制以确保滑块具有完整的运动范围)。

完成之后,将微型伺服电机连接到Arduino并运行servo.ino代码以验证其操作。
以上代码私信我可以获取!!!!
在这里插入图片描述
在这里插入图片描述

尤克里里测试视频

步骤10:组装电磁阀

安装电磁阀并连接到Arduino,确保它们可以正确地弹奏琴弦。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

步骤11:最终测试

根据你的设置,让一切正常工作可能需要几次尝试。我在本节中包含了一些脚本,这些脚本可以帮助此过程。

每次测试过程要记住:

  1. 插入12V电源。
  2. 连接Arduino。
  3. 将滑块移动到起始位置。

将所有部件组装在一起,并进行最终测试。见下视频:
在这里插入图片描述
在这里插入图片描述

步骤12:添加曲目

在代码中添加不同的曲目,让机器人演奏。
在这里插入图片描述
见视频:

尤克里里完成

结语

通过这个项目,你不仅能够学习到如何使用Arduino和3D打印技术,还能够体验到创造一个能够演奏音乐的机器人的乐趣。这是一个极好的实践项目,可以激发你的创造力和技术能力。

希望你喜欢这个项目,并在构建过程中找到乐趣!如果你有任何问题或需要帮助,欢迎在评论区交流。

作者:Svan.


注意:本博文为不得在未经本人同意进行转载或者二次创作,违者必究!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2176449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工打电话的操作步骤指南

如果有一套外呼系统,那么在功能上有哪些具体如何操作 在进行人工电话沟通时 一套清晰、高效的操作流程对于实现沟通目标至关重要 以下是详细的人工打电话操作步骤 涵盖从准备到后续跟进的全过程 如果有一套外呼系统,那么在功能上有哪些具体如何操作 …

CST仿真分析:圆柱形谐振腔的模式分析

波导谐振器一般可以由波导两端短路形成,矩形和圆柱形谐振腔比较常见。矩形谐振腔模式的表示,是从波导的TEmn和TMmn变成了TEmnp和TMmnp,p是沿z方向的周期。之所以我们这里分析圆柱形,一是三个下角标更不容易理解(TEnip和…

组合优化与凸优化 学习笔记5 对偶拉格朗日函数

有的时候约束条件有点难搞,我们可以把它放到目标函数里面。 记得之前凸函数的时候的结论吗?一大堆函数,每一段都取最大的,最后会得到一个凸函数。同理,每一段都取最小的,得到的是一个凹函数。就这样&#x…

【如何学习操作系统】——学会学习的艺术

🐟作者简介:一名大三在校生,喜欢编程🪴 🐡🐙个人主页🥇:Aic山鱼 🐠WeChat:z7010cyy 🦈系列专栏:🏞️ 前端-JS基础专栏✨前…

酒店智能开关:引领未来住宿体验的新篇章

酒店智能开关作为智能化改造的关键一环,正逐步成为提升酒店服务品质、管理效率和竞争力的新引擎。本文将深入探讨酒店智能开关的特点、应用实例及其为酒店业带来的多方面变革。 一、酒店智能开关的特点 酒店智能开关是一种基于智能化技术的电力控制设备,…

Mysql(3:Mysql事务)

目录 说明 前言 事务 ACID: 并发事务的问题: 解决方案: uddo log 和redo log的区别: 先了解数据库的页概念: redo log: undo log: 区别: mvcc: 说明 本文适合刚刚学习Java的初学者,也可以当成阿岩~的随手笔记.接下来就请道友们和我一起来学习吧! 如果本文有写的不对…

SSM环卫人员管理平台—计算机毕业设计源码36412

目 录 摘要 1 绪论 1.1背景及意义 1.2国内外研究概况 1.3研究内容 1.4 ssm框架介绍 1.5论文结构与章节安排 2 环卫人员管理平台系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.2.2数据修改流程 2.2.3数据删除流程 2.3 系统功能分析 2.3.1 功能性…

如何使用 Bittly 进行串口指令调试 - 复杂参数构建与解析

在使用串口进行数据收发时, 如果数据内容比较复杂, 例如包含了时间戳或者校验码等需要计算的数据或者需要处理不同的数据类型以及大小端等,在这种情况下常见的串口调试助手可能处理起来比较麻烦, 但使用 Bittly 的话, …

大功率蓝外光激光模组能使用多长时间?

在高科技迅猛发展的今天,大功率蓝外光激光模组作为精密光学技术的重要成果,广泛应用于科研探索、工业加工及安防监控等多个领域。其强大的光束能量与独特的波长特性,为各行各业带来了前所未有的效率提升与创新可能。然而,对于这一…

量化金融中的 AI 革命:LLMs 如何重新定义交易策略

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 量化金融领域正在经历由大型语言模型(LLMs)引起的人工智能革命,这些模型正在改变交易策略的开发和实施方式,提高市场分析的精确度,增强情绪分析和交易信号的有效性,优化算法交易策略,并强化风…

助农小程序|助农扶贫系统|基于java的助农扶贫系统小程序设计与实现(源码+数据库+文档)

助农扶贫系统小程序 博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️ 主要项目:小程序、SpringBoot、SSM、Vue、…

Docker:安装 Memcached 对象缓存的技术指南

请关注微信公众号:拾荒的小海螺 博客地址:http://lsk-ww.cn/ 1、简述 缓存是一种提高应用程序性能的常用技术,通过在内存中存储频繁访问的数据,可以显著减少对数据库的访问次数,从而提升响应速度。Memcached是一个高…

独立站如何批量查收录?常用的3个的方法及其具体操作步骤

独立站批量查收录是SEO优化中重要的一环,它有助于了解网站在搜索引擎中的表现,从而制定更有效的优化策略。以下是几种常用的独立站批量查收录的方法及其具体操作步骤: 一、使用搜索引擎的Site指令结合自动化工具 方法描述&#xff1a…

S32K312 RTD 4.0.0 版本 OCU 例程配置流程说明

一、前言 由于 RTD 4.0.0 版本并没有 S32K312 相关例程,本文基于已有的 S32K344 OCU 例程,新建 S32K312 工程,讲解 OCU 例程的相关配置流程。 二、基本概念 OCU(Output Compare Unit – 输出比较单元)本质上是一个计…

【anki】显示 “连接超时,请更换网络后重试” 怎么办

文章目录 前言一、问题描述二、解决方案 前言 在 anki同步 时遇到的问题 一、问题描述 二、解决方案 从电信换为了移动热点,电脑手机都同步成功了

django开发流程2

一,通过视图函数访问html 1.首先导入render from django.shortcuts import render 2.在mysite下面创建一个目录 templates 3.在mysite下方的settings中修改存放模板的路径 二.添加静态文件 1.在mysite下面创建一个目录 (静态文件) :static 2.自定义静态文件路…

第十三届蓝桥杯真题Python c组A.排列字母(持续更新)

博客主页:音符犹如代码系列专栏:蓝桥杯关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 【问题描述】 小蓝要把一个字符串中的字母按其在字母表中的顺序排列。 例如&a…

AAMAS 24 | 基于深度强化学习的多智能体和自适应框架用于动态组合风险管理

AAMAS 24 | 基于深度强化学习的多智能体和自适应框架用于动态组合风险管理 原创 QuantML QuantML 2024年09月09日 18:23 上海 J.P.Morgan的python教程 Content 本文提出了一个名为MASA的多智能体和自适应框架,利用深度强化学习技术,通过两个合作的智能…

测试数据库交换功能的免费方案

如果想测试数据库交换功能,有几个免费的解决方案可以考虑: 1. 使用社区版或开发者版: 一些商业数据库提供了免费版本,适用于开发和测试使用: - Oracle:Oracle Database提供免费的Oracle Database Exp…

Java项目实战II基于Java+Spring Boot+MySQL的新闻稿件管理系统(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 前在信息爆…