串口屏控制的自动滑轨(未完工)
序言
疫情期间自己制作了一个自动滑轨,基于无线遥控的,但是整体太大了,非常不方便携带,所以重新设计了一个新的,以2020铝型材做导轨的滑轨,目前2020做滑轨已经很成熟了,配件也都非常便宜,一米2020铝型材含运费18元左右,6mm同步带1元/米,拉紧端和滑车也都有成品。参数设置用一块串口屏进行设置,采用串口屏主要是为了练习一下技术,此外触控屏使用起来方便,整体外观更有科技含量一些。为了能负载一个单方相机,设计中采用了一个1:10的减速42步进电机。控制板采用的arduino nano及其CNC sheild V3 两轴控制版本,这样可以减轻其体积,实体按键三个,一个电源开关,两个控制按钮。供电采用3C,11.1V 850mah的电池。
功能介绍:


1、显示屏共分两部分,一个是参数设置部分,一部分是状态显示,参数设置部分用来设置延时开始时相机的初始位置和拍摄结束后的重点位置,转换为导轨参数就是位置A和位置B,用坐标点来表示。状态显示用来实时传送当前的位置和运行的时间信息。比如,我们在设置延时摄影的时候,设置了一个片段15分钟,起始位置A的坐标是0,结束位置B的坐标是2000(1个数值代表一个步进脉冲)。A点和B点的距离大约是122mm,这是拿尺估算出来的数据,本次截稿先不具体计算。15分钟就是900秒,每一个脉冲的时间间隔是0.45s。
精确的计算如下:步进电机步进角度:7.5°,360/7.5=48。
1:10的减速电机,480个脉冲皮带轮转一圈;
GT2皮带轮直径,12.2mm,周长38.3mm,一个脉冲就是0.08mm。
2000个脉冲计算值是160mm。
2、在调整模式下:设置相机坐标,输入0-12500的值,对应0-1000mm的距离。点击运行按钮,按照设定的速度快速运行到指定的位置;
3、在程序模式下:设置A点坐标,设置B点坐标,设置运行时间,然后电机运行,相机先按照设定的速度快速运行到指定的位置A,然后按照设置的时间匀速运行到位置B。
后续设想:
以上为版本一功能,版本二将在版本一的基础上增加Z周旋转功能,可使相机始终对准拍摄目标。将增加半径设置。版本三将在版本二的基础上增加变焦,可以拍摄带有希区柯克的延时视频。
一 材料清单及成本
| 序号 | 名称 | 规格型号 | 数量 | 单价 | 总价 | 备注 |
| 1 | cnc shield v4 | 1 | 7.86 | 7.86 | ||
| 2 | nano v3 | 1 | 12.99 | 12.99 | ||
| 3 | 按键 | 4 | 0.2 | 0.8 | ||
| 4 | 开关 | 1 | 0.4 | 0.4 | ||
| 5 | 洞洞板 | 5*7cm | 1 | 1.55 | 1.55 | |
| 6 | 3s锂电 | 850mAh | 1 | 32.97 | 32.97 | |
| 7 | A4988驱动板 | 1 | 4.2 | 4.2 | ||
| 8 | 步进电机 | 减速比1:10 | 1 | 47.85 | 47.85 | |
| 9 | 2020 同步带张紧器 | 1 | 16.34 | 16.34 | ||
| 10 | 3.5寸串口屏 | 1 | 54 | 54 | ||
| 11 | 延时滑轨套装 | 1 | 120 | 120 | ||
| 12 | GT2同步带 | 米 | 2 | 2.4 | 4.8 | |
| 13 | GT2同步轮 | 1 | 2.15 | 2.15 | ||
| 14 | 打印件 | 1 | 10 | 10 | ||
| 15 | 其他螺丝等 | 1 | 5 | 5 | ||
| 0 | ||||||
| 合计: | 320.91 |
二 机械部件及组装
实际是对采购成品进行了电动改装:


2.1 打印部件
见附件压缩包中的打印件
2.2 组装爆炸图解
三 电控部分搭建
3.1 电控部分
3.1.1CNC shield v4 与arduino nano 引脚对应关系

3.1.2接线引脚说明
| 序号 | 引脚 | 注释 | 备注 |
| 1 | 2 | Dirpin | 控制步进电机方向 |
| 2 | 5 | Steopin | 控制步进电机脉冲 |
| 3 | 8 | enablepin | 控制步进电机使能 |
| 4 | 9 | Key1 | 功能键1 |
| 5 | 10 | Key2 | 功能键2 |
| 6 | 11 | Key3 | 功能键3 |
| 7 | 12 | Key4 | 功能键4 |
| 8 | A4 | TX | 连接串口屏RX |
| 9 | A5 | RX | 连接串口屏TX |
3.1.3 cnc shield v4原理图

图一 cnc shield v4原理图
四 控制软件代码
4.1 nano代码
4.2 串口屏代码
相关文章:
串口屏控制的自动滑轨(未完工)
序言 疫情期间自己制作了一个自动滑轨,基于无线遥控的,但是整体太大了,非常不方便携带,所以重新设计了一个新的,以2020铝型材做导轨的滑轨,目前2020做滑轨已经很成熟了,配件也都非常便宜&#x…...
DFA算法实现敏感词过滤
DFA算法实现敏感词过滤 需求:检测一段文本中是否含有敏感词。 比如检测一段文本中是否含有:“滚蛋”,“滚蛋吧你”,“有病”, 可使用的方法有: 遍历敏感词,判断文本中是否含有这个敏感词。 …...
Python自动化运维:技能掌握与快速入门指南
#编程小白如何成为大神?大学生的最佳入门攻略# 在当今快速发展的IT行业中,Python自动化运维已经成为了一个不可或缺的技能。本文将为您详细介绍Python自动化运维所需的技能,并提供快速入门的资源,帮助您迅速掌握这一领域。 必备…...
在linux系统中安装pygtftk软件
1.下载和安装 网址: https://dputhier.github.io/pygtftk/index.html ## 手动安装 git clone http://gitgithub.com:dputhier/pygtftk.git pygtftk cd pygtftk # Check your Python version (>3.8,<3.9) pip install -r requirements.txt python setup.py in…...
decodeURIComponentSafe转义%问题记录URI malformed
decodeURIComponentSafe转义%问题记录 问题背景 当我们解析包涵 % 字符的字符串时,会出现错误如下 Uncaught URIError: URI malformed 解决方案: function decodeURIComponentSafe(s) {if (!s) {return s;}return decodeURIComponent(s.replace(/%(?…...
自由学习记录(18)
动画事件的碰撞器触发 Physics 类的常用方法 RaycastHit hit; if (Physics.Raycast(origin, direction, out hit, maxDistance)) {Debug.Log("Hit: " hit.collider.name); } Physics.Raycast:从指定点向某个方向发射射线,检测是否与碰撞体…...
vue3-ref 和 reactive
文章目录 vue3 中 ref 和 reactivereactive 与 ref 不同之处ref 处理复杂类型ref在dom中的应用 vue3 中 ref 和 reactive ref原理 基本原理 ref是Vue 3中用于创建响应式数据的一个函数。它的基本原理是通过Object.defineProperty()(在JavaScript的规范中用于定义对…...
Apache Calcite - 查询优化之自定义优化规则
RelOptRule简介 为了自定义优化规则,我们需要继承RelOptRule类。org.apache.calcite.plan.RelOptRule 是 Apache Calcite 中的一个抽象类,用于定义优化规则。优化规则是用于匹配查询计划中的特定模式,并将其转换为更优化的形式的逻辑。通过继…...
大型语言模型(LLM)的小型化研究进展
2024年,大型语言模型(LLM)的小型化研究取得了显著进展,主要采用以下几种方法实现: 模型融合:通过将多个模型或检查点合并为一个单一模型,减少资源消耗并提升整体性能。例如,《WARM: …...
MiniWord
1.nuget 下载配置 2.引用 3. var value = new Dictionary<string, object>() { ["nianfen"] = nianfen, ["yuefen"] = yuefen, ["yuefenjian1"] = (int.Par…...
Netty 常见组件介绍
Netty 常见组件介绍 上篇文章Netty入门程序echo 基本包含了Netty常见的组件,本文分别介绍各个组件 Bootstrap or ServerBootstrapEventLoopEventLoopGroupChannelPipelineChannelFuture or ChannelFutureChannelInitializerChannelHandler Bootstrap vs ServerBo…...
高频电子线路---倍频器与振荡器
目录 倍频电路原理 丙类倍频器原理电路 问题: 提升滤波方法: 导通角 振荡器 振荡器基本工作原理 首先是怎么维持 那么如何振荡呢? 思考题: 组成要素 振荡器的起振条件 平衡条件 要点提示 稳定条件 振幅平衡 硬激励起振时: 稳定条件 相位平衡 倍频电路原理 简单原理 : …...
删除 git submodule
直接运行下面命令即可: git rm <path-to-submodule>然后提交修改即可。 但是,还有一个小问题:上面命令只是将 submodule 的代码目录删除了。 以下痕迹还存在你的仓库中: .gitmodule 中关于该 submodule 的信息.git 目录…...
el-table 多选默认选中(根据返回的id给数据加默认选中状态)
前言 el-table是我们最常用的展示数据的方式,但是有时候需要用到多选来选择数据,新增数据的时候还好,选中状态都是正常的,但是修改就遇到问题,需要对这个已经选择过的数据加上默认的选中状态,本次就是解决…...
境外网站翻译之自由职业
Polls Do you use AI tools (e.g ChatGPT, Midjourney, Github Copilot) as part of your work? 你在工作中会使用人工智能工具(如 ChatGPT、Midjourney、Github Copilot)吗? Yes, as an assistant 是的,作为一种辅助工具。 Y…...
批量图片转PDF文件的多种方法详解
要将批量图片转换为PDF文件,可以使用多种方法,包括使用在线工具、桌面应用程序或编程语言。以下是几种常见的方法: 方法一:使用在线工具 选择工具:搜索“图片转PDF”在线工具,如 Smallpdf、ILovePDF 等。…...
Web服务器(理论)
目录 Web服务器www简介常见Web服务程序介绍:服务器主机主要数据浏览器 网址及HTTP简介URLhttp请求方法:2.3 HTTP协议请求的工作流程: www服务器的类型静态网站动态网站 快速安装Apache安装准备工作httpd所需目录主配置文件 nignx安装1、安装2、准备工作 …...
js:()=>(,);()的作用:明确表达式的边界。
()>{表达式1;表达式2;表达式3;... return 结果} 等同于 ()>(表达式1,表达式2,表达式3,... 结果) 例子: const strarr [a, b, c];const result strarr.reduce((acc, curr) > {(acc[curr] 1);console.lo…...
RSI 5G通信技术中用于标识小区的特定参数
RSI是指在5G通信技术中用于标识小区的特定参数,全称为Radio Subframe Indicator(无线子帧指示符)。在原文的上下文中,RSI被用来确保相邻小区间有足够的间隔,避免由于RSI冲突导致用户设备(UE)随机…...
JavaScript中的闭包、递归问题
一、函数定义和调用 1.函数的定义方式 方式一 函数声明方式 function 关键字(命名函数) function fn(){}方式二 函数表达式(匿名函数) var fn function(){}方式三 new Function() var f new Function(a,b,console.log(a b););//语法 var fn new Fu…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
GraphRAG优化新思路-开源的ROGRAG框架
目前的如微软开源的GraphRAG的工作流程都较为复杂,难以孤立地评估各个组件的贡献,传统的检索方法在处理复杂推理任务时可能不够有效,特别是在需要理解实体间关系或多跳知识的情况下。先说结论,看完后感觉这个框架性能上不会比Grap…...
宠物车载安全座椅市场报告:解读行业趋势与投资前景
一、什么是宠物车载安全座椅? 宠物车载安全座椅是一种专为宠物设计的车内固定装置,旨在保障宠物在乘车过程中的安全性与舒适性。它通常由高强度材料制成,具备良好的缓冲性能,并可通过安全带或ISOFIX接口固定于车内。 近年来&…...
2025年全国I卷数学压轴题解答
第19题第3问: b b b 使得存在 t t t, 对于任意的 x x x, 5 cos x − cos ( 5 x t ) < b 5\cos x-\cos(5xt)<b 5cosx−cos(5xt)<b, 求 b b b 的最小值. 解: b b b 的最小值 b m i n min t max x g ( x , t ) b_{min}\min_{t} \max_{x} g(x,t) bmi…...
Q1起重机指挥理论备考要点分析
Q1起重机指挥理论备考要点分析 一、考试重点内容概述 Q1起重机指挥理论考试主要包含三大核心模块:安全技术知识(占40%)、指挥信号规范(占30%)和法规标准(占30%)。考试采用百分制,8…...
信息收集:从图像元数据(隐藏信息收集)到用户身份的揭秘 --- 7000
目录 🌐 访问Web服务 💻 分析源代码 ⬇️ 下载图片并保留元数据 🔍 提取元数据(重点) 👤 生成用户名列表 🛠️ 技术原理 图片元数据(EXIF 数据) Username-Anarch…...
创客匠人:如何通过创始人IP打造实现知识变现与IP变现的长效增长?
在流量红利逐渐消退的当下,创始人IP的价值愈发凸显。它不仅能够帮助中小企业及个人创业者突破竞争壁垒,还能成为企业品牌影响力的核心资产。然而,市场上IP孵化机构鱼龙混杂,如何选择一家真正具备长期价值的合作伙伴?创…...
