【雕爷学编程】Arduino动手做(184)---快餐盒盖,极低成本搭建机器人实验平台

news2024/11/14 6:28:05

吃完快餐粥,除了粥的味道不错之外,我对个快餐盒的圆盖子产生了兴趣,能否做个极低成本的简易机器人呢?也许只需要二十元左右

在这里插入图片描述

知识点:轮子(wheel)

中国词语。是用不同材料制成的圆形滚动物体。简单来说,它包括轮子的外圈、与外圈相连接的辐条和中心轴。透过滚动,轮子可以大大的减少与接触面的磨擦系数。如果配上轴,即成为车的最主要构成部份。轮子在交通运输中非常有用,是人类的重要发明之一。除了车轮以外,其他圆形的轮还有船轮、飞轮等等。

任何简单而意义深远的发明都不是凭空出现在人们的脑海中的,必然有什么现象触发了灵感。正如古人见到水里漂着的木头而想到独木舟一样,车轮的发明也可能是受到了一些自然物的启发。《淮南子》中说我们的祖先“见飞蓬转而知为车”。“飞蓬”是一种草,其茎高尺许,叶片大,根系入土浅。一有大风,很容易被连根拔起,随风旋转。古人可能就是受到这个现象的启发,发明了车轮和车轴。与鲁班受锯齿草的启发而发明锯子的传说一样,这种说法很可能也是一个传说而已。因为轮子在自然界是有原型的。原始民族曾经普遍地崇拜过天空中的日月。古人一定认为它们拥有最完美的外形——直到古希腊时代,哲学家柏拉图也还认为球体是最完美的形式。也许新石器时代的先民在制作器具时很自然地会模仿太阳和月亮的形状。当他们偶然发现制成的圆盘状物体可以在转动中保持形状不变时,他们就有兴趣进一步发掘它的用途。

在掌握锋利而坚固的工具以前,人类是不可能拥有轮式车辆的。用石器工具难以将木头加工成合适的圆柱形,更不必说复杂到带辐条的轮子了。所以,车轮的出现只能是青铜时代以后的事情。

据英国科学史家李约瑟考证的结论,约在四千五百年到三千五百年前,中国出现了第一辆车子。而《左传》中提到,车是夏代初年的奚仲发明的,如果记载属实,那是四千年前的事情。在殷代(距今三千多年前)文物中,考古学家也发现了殉葬用的车,当时的车子由车厢、车辕和两个轮子构成,已经是比较成熟的交通工具了。中国古代有传说是轩辕黄帝把木头插在圆轮子中央,使它运转,因而造成车辆。但鉴于归功于黄帝的发明实在太多,我们也不能轻易把这个说法当真。

以埃及的战车为例。这些战车具有带辐条的车轮,轮上装有坚固的箍,并且车轮用锲子紧紧钉在轴上。车厢、车辕和两副挽具证明了同样的技术。如果我们想从在埃及战车或罗马战车的创造者那里所看到的那种精细活计探求人类发明带轮车的过程,那是没有什么益处的。但是,常常有这种情况:能够找到一些制作粗糙的物品,而这些物品就好像是技术之早期阶段的再现。古代最简陋的乡村大车,用两个几乎一英尺厚的圆形木作车轮,是用横断的树干做成的,同时,这些圆形物,或者叫车轮,不是在轴上旋转,而是固定在轴上。车轴安放在特制的木框内,或者是在两块窄木板内,或者是穿在车底上的环孔里,同它的一对轮子一起转动,就像小孩儿的玩具车那样。有趣的是,在条件已经改变的情况下,铁路车辆的制造者们又恢复了这种构造。

在像葡萄牙这样一些国家里,现今还可以看到轴和车轮一起转动的古典车子。于是可以设想:类似的大车说明,带轮的车是怎样发明的。最初用的是轴,或滚子,是用它们来滚动大石头或其他巨大的重物。我们可以想象,用光滑的树干或圆木做的这类滚子,起初是这样完成的:把它的中间部分削细一些。于是,它就变成了一个两端带着宽圆滚的轴。我们猜想,轴是处在某一种最简陋的梁木架下,并在架下转动的。于是我们就有了一辆最简单的想象中的带轮车。完全可能,类似关于车的第一个概念出现之后,轮就开始单独制造,并把它固定在一个活动的轴上,装上了轮箍。后来,有了轻便的车轮和光滑的轮座,于是车轮就在不动的轴上转动了。当然,所有这些,无非是一种想象,但是,无论如何,它使我们的头脑完全清楚了车的本质。

在这里插入图片描述

安装好四个N20小电机,希望以此作为一个简单的实验平台,试试各种不同的运动方式

在这里插入图片描述

二套电源系统(3.7V升压为5V),二个电机驱动模块MX1508,Arduino nano

在这里插入图片描述

快餐盒盖的空间有点小

在这里插入图片描述

Arduino nano和电机驱动分别使用独立的电源系统,单片机5V,N20电机3.7V,二片MX1508模块,分别驱动四个小电机运行。快餐盒盖简易底盘系统终于完成,薄薄纸盒的底盘,强度和刚度都不够,只能勉强做做小实验而已。

这个实验平台的最终成本还不到20元(四只N20是咸鱼二手淘来的),无论成功或失败都没有神马压力。

初步的想法,是通过这个非常简单的底盘,学习机器人的行走机构,动手尝试不同的运动方式,实际测试各种形态的轮子系统。目前考虑列入系列实验范围的有圆轮、平轮、棒轮(拨轮)、环轮(空心轮)和麦克纳姆轮等。

在这里插入图片描述

四只电机效率最高的是同向转动,输出的运动形式为原地转圈。圆形的底盘,无法像普通小车那样采用平行车轴(电机轴也短),比较适合的是十字轴动力结构,百度查了下,这种结构很少见,不实用的结构,做做实验还行。本例实验平台的十字轴动力电机位置见示意图红点。

在这里插入图片描述

第一种,圆轮
就是普通轮子,这里使用一些简易材料来做实验,比如饮料瓶盖等。

在这里插入图片描述

安装好四只轮子的

在这里插入图片描述

【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台(圆轮的视频)

https://v.youku.com/v_show/id_XNTA2NTU0ODA4MA==.html?spm=a2hzp.8244740.0.0

在这里插入图片描述

在这里插入图片描述

第二种,平轮
探索机器人行走机构的各种行走方式,需要脑洞大开,并且敢于去尝试。平轮也可称作平面轮,是我的一种叫法,确实不多见。依旧使用饮料瓶盖(侧面),安装好的见下图。

在这里插入图片描述

花雕动手做】快餐盒盖,极低成本搭建机器人实验平台(平轮的视频)

https://v.youku.com/v_show/id_XNTA3NzU0MTQ4OA==.html?spm=a2hzp.8244740.0.0

在这里插入图片描述

补充:平轮的动态图
在这里插入图片描述
第三种,大轮
使用同样大小的快餐盒盖来当轮子,相当于车轮和车身一般大。

在这里插入图片描述
大圆轮安装好,是这样

在这里插入图片描述

【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台(双只大圆轮的视频)

https://v.youku.com/v_show/id_XNTA3OTg5OTYwOA==.html?spm=a2hzp.8244740.0.0

在这里插入图片描述

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

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

相关文章

Dockerfile定制Tomcat镜像

Dockerfile中的打包命令 FROM : 以某个基础镜像作为此镜像的基础 RUN : RUN后面跟着linux常用命令,如RUN echo xxx >> xxx,注意,RUN 不能用于执行命令,因为每个RUN都是独立运行的,RUN 的cd对镜像中的…

Python求均值、方差、标准偏差SD、相对标准偏差RSD

均值 均值是统计学中最常用的统计量,用来表明资料中各观测值相对集中较多的中心位置。用于反映现象总体的一般水平,或分布的集中趋势。 import numpy as npa [2, 4, 6, 8]print(np.mean(a)) # 均值 print(np.average(a, weights[1, 2, 1, 1])) # 带…

Godot4 C# vscode开发环境搭建

这里写自定义目录标题 软件Godot配置vscode配置结果参考 软件 Godot .Net版本: 下载链接vscode :自行下载.netcore7:.netcore6可能也行vscode插件: Godot配置 1.配置文件用VSCode打开 2.生成C#项目 项目–>工具–>C#->Create C# Solution&…

Python 关于模块的几点介绍 。和。。和__all__和__main___和__file__

./ 是意思让解释器去引用当前目录下的内容 ../ 是意思让解释器去引用上层目录下的内容 __all__ 用来定义我们导出的内容可以有哪些的一个编码方式 flake8 可以检测代码的安全隐患,在python中 if __name__ __main__ 现在有两个文件,分别为&a…

【Unity3D】花瓣特效

1 花瓣绘制原理 如下图是实现的花瓣特效效果,为方便描述,我们将每个红色的扁状长条称为花瓣,每个花瓣中心的绿点称为花蕊,花朵的正中心称为花心。 我们在 xOz 平面上绘制花朵,假设花心为 O 点,其世界坐标为…

JVM之类加载与字节码

1.类文件结构 一个简单的HelloWorld.Java package cn.itcast.jvm.t5; // HelloWorld 示例 public class HelloWorld { public static void main(String[] args) { System.out.println("hello world"); } }编译为 HelloWorld.class 后的样子如下所示: […

CentOS安装podman-compose

1. 安装python3的依赖 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel 如果当前登录的是普通用户,需要在命令前加sudo,否则不用&…

C++实用技术(二)std::function和bind绑定器

目录 简介std::functionstd::function对象包装器std::function做回调函数 std::bind绑定器bind绑定普通函数bind绑定成员函数 简介 C11新增了std::function和std::bind。用于函数的包装以及参数的绑定。可以替代一些函数指针,回调函数的场景。 std::function std…

git 版本控制与合并

一 git概述: - Git是一种分布式版本控制系统,用于跟踪和管理软件开发项目中的代码变更。 - 它允许多人协同工作,记录代码历史变更,并轻松管理多个项目版本。 **Git的主要特点**包括: 1. **分布式系统**:…

嵌入式开发学习(STC51-14-时钟)

内容 在数码管上显示时间,时分秒,格式为“XX-XX-XX”; DS1302时钟芯片介绍 简介 DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信&#xf…

系统架构设计高级技能 · 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everythin…

第4集丨Vue 江湖 —— 计算属性

目录 一、基本使用1.1 在computed中定义1.1.1 案例1.1.2 控制台调用getter1.1.3 控制台中的data和computed 1.2 缓存效果1.3 完整写法1.3.1 案例1.3.2 效果图 1.4 简写形式 二、案例的其他实现2.1 methods实现2.2 插值语法实现 三、体会计算属性的好处3.1 复杂任务时3.2 使用计…

IO模型-信号驱动IO

linux内核中存在一个信号SIGIO,这个信号就是用于实现信号驱动IO的。当应用程序中想要以信号驱动IO的模型读写硬件数据时,首先注册一个SIGIO信号的信号处理函数,当硬件数据就绪,硬件会发起一个中断,在硬件的中断处理函数中向当前进…

求解n阶勒让德多项式的值

描述 用递归方法求n阶勒让德多项式的值,递归公式为: 在主函数中输入一个整数n和一个实数x,调用函数 legendre(n,x),并输出其返回值。 输入 第一行输入一个整数n,表示阶数;第二行输入一个实数x。 输出 …

增强型Web安全网关在银行的应用

销售,绝不是降低身份去取悦客户,而是像朋友一样给予合理的建议。你刚好需要,我刚好专业!仅此而已! 乔.吉拉德 健康的安全体系,还可以更完善 浙江某商业银行股份有限公司是一家成立多年的商业银行&#xf…

分布式异步任务处理组件(七)

分布式异步任务处理组件底层网络通信模型的设计--如图: 使用Java原生NIO来实现TCP通信模型普通节点维护一个网络IO线程,负责和主节点的网络数据通信连接--这里的网络数据是指组件通信协议之下的直接面对字节流的数据读写,上层会有另一个线程负…

装饰器模式(C++)

定义 动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类(继承)更为灵活(消除重复代码&减少子类个数)。 一《设计模式》 GoF 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能&#xf…

视频安防监控EasyCVR平台海康大华设备国标GB28181告警布防的报文说明

TSINGSEE青犀视频监控综合管理平台EasyCVR基于云边端协同,可支持海量视频的轻量化接入与汇聚管理。平台既具备传统安防视频监控的能力,比如:视频监控直播、云端录像、云存储、录像检索与回看、告警上报、平台级联、云台控制、语音对讲等&…

第一课-前提-Stable Diffusion 教程

学习 SD 的前提是电脑配置! SD 参考配置: 建议选择台式机 i5 CPU, 内存16GB,N卡 RTX3060, 8G显存以上的配置(最低配) 在此基础上的配置越高越好。 比如,cpu i7 更好,显卡能有 RTX4090 更好,32显存要能有最好,嘿嘿嘿。 如何查看自己的显卡配置? Win+R 输入 “dxdiag…