串口屏控制的自动滑轨(未完工)
序言
疫情期间自己制作了一个自动滑轨,基于无线遥控的,但是整体太大了,非常不方便携带,所以重新设计了一个新的,以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…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...
Vue 3 + WebSocket 实战:公司通知实时推送功能详解
📢 Vue 3 WebSocket 实战:公司通知实时推送功能详解 📌 收藏 点赞 关注,项目中要用到推送功能时就不怕找不到了! 实时通知是企业系统中常见的功能,比如:管理员发布通知后,所有用户…...
