自走桌、旧手机变身Arduino触屏神器|DF创客周刊(第111期)

【点击上方「蓝字」关注DF创客社区,一起成为技术颜控】

社区公众号记录每周值得分享的创客相关内容,每周五发布~

欢迎投稿或推荐相关内容。

投稿邮箱:MakerCommunity@outlook.com

Tillu是一个基于行空板开发板的开源机器人项目。这个机器人具备行走、跳舞等动态功能,配备了显示屏用于展示表情,还集成了麦克风、陀螺仪等传感器,支持语音识别和触摸交互。

项目完整开源了3D打印文件和Python代码,小伙伴们可以通过Fusion 360修改设计,使用Mind+进行可视化编程。

整个项目的成本控制合理,制作难度适中,非常适合想要入门机器人开发的创客学习和实践。

来源:https://www.instructables.com/Tillu-the-Robot/

这款极速遥控飞机名为SR72 DarkStar,由海外创客Abdullah Khalid构建。项目用了高转速的无刷电机和大容量的锂聚合物电池,确保飞机能达到惊人的速度。

飞机的机身由轻质泡沫材料制成,经过精心设计和涂装后,呈现出炫酷的外观。

此外,这款飞机采用了结合升降舵和副翼的“Elevon”控制面,提供了灵活的操控体验。

虽然作者最终在飞行时不幸坠毁,但制作过程充满了创意和挑战,展示了DIY遥控模型的魅力。

来源:https://www.instructables.com/Making-the-Fastest-RC-Airplane-SR72-DarkStar/

Carpentopod是一款独特的无线木制咖啡桌,它不仅能像普通桌子一样稳固地承载物品,还具备自行“行走”的能力。

这张桌子由12条木制机械腿组成,每侧6条腿由一个曲轴驱动,每个腿部的设计经过精细的优化,使用了坚固且具有天然美感的层压竹材,确保了在行走时的稳定性与美观。

桌子的设计也考虑到了电子设备和电池的存放空间,使其不仅具备机械美感,还兼具实用性。桌子内部有无线接收器,用来接收遥控信号,通过简单的遥控装置,Carpentopod可以在客厅内自如移动,甚至可以给你送餐。

视频加载中…

整个项目涉及了3D建模、CNC加工、电子控制等多个领域的技能。Giliam不仅公开了步行机构的设计细节,还详细记录了整个制作过程,为大家提供了宝贵的灵感和参考。

来源:https://www.decarpentier.nl/carpentopod

迷宫行者是一个互动的3D迷宫解谜游戏,作者将它搭建在诺基亚5110屏幕和ATtiny3224微处理器之上。

游戏会随机生成迷宫,并允许玩家通过虚拟方式在迷宫中寻找出口。玩家从左上角开始,目标是在右下角找到出口。在游戏中,玩家可以使用X-pad操控方向,左、右按钮可旋转视角而不移动位置,上按钮让玩家前进,而下按钮则可以后退。按下FIRE键可生成新的随机迷宫,长按则可以关闭游戏进入睡眠模式。

来源:https://www.hackster.io/john-bradnam/maze-runner-3044fe

想知道骑自行车时自己的速度和行程吗?这个项目使用Arduino、霍尔效应传感器和磁铁,为你的自行车制作一个实时显示速度和距离的速度计和里程表。

通过将磁铁固定在自行车车轮上,传感器感应磁铁的移动,并将信号传递给Arduino,计算出速度和距离,最后显示在LCD屏幕上。与常见的GPS速度计不同,这种机械式设计在森林、城市等GPS信号不佳的地方也能高效工作。更重要的是,这种方案成本更低,并能更精准地记录骑行中的小颠簸和路径偏差。

不管是在繁忙的都市,还是在空旷的乡村骑行,这个项目都能为你提供实时的骑行数据。

来源:https://www.instructables.com/Arduino-Hall-Effect-Bike-Speedometer-and-Odomet/

如果你在寻找一个高质量的显示和交互设备来用于嵌入式项目,那么不妨考虑一下利用旧手机。作者Doctor Volt展示了如何将一台2018年的三星Galaxy A8手机改造成Arduino的触摸屏。

只需通过USB-to-serial转换器和OTG线将手机与Arduino连接,即可实现触控功能。使用支持电力传输的USB-C手机尤为理想,因为它能在充电的同时与Arduino进行通信。通过安装RemoteXY应用程序,手机可以轻松与Arduino设备进行互动,并通过简单的向导配置硬件连接和图形界面。

视频加载中…

这种方法不仅利用了手机的高分辨率屏幕,也为嵌入式开发提供了一个实用而经济的解决方案。

来源:https://hackaday.com/2024/12/16/using-a-smartphone-as-a-touchscreen-for-arduino/

周刊首发于DF创客社区

手机App通过FFMPEG推送RTMP流

在手机 App 中通过 FFmpeg 推送 RTMP 流,可以实现将音视频实时传输到 RTMP 服务器(如 SRS)。以下是实现的详细步骤:

  • 确保 RTMP 服务器(如 SRS)已经配置并运行。
  • 在手机开发环境中集成 FFmpeg 库,例如: Android:使用 FFmpeg-Android 或 MobileFFmpeg。 iOS:使用 FFmpeg 编译库或通过第三方框架如 FFmpeg-iOS。

推流命令的基本结构如下:

  • 解释
  • -f avfoundation:指定输入格式(iOS 使用 avfoundation,Android 使用 android_camera)。 -framerate 30:设置帧率。
  • -video_size 1280×720:分辨率。
  • -i 0:1:选择音视频输入源(0 是音频,1 是视频,具体根据设备调整)。
  • -c:v libx264:指定视频编码为 H.264。
  • -preset ultrafast:设置编码速度优先。
  • -c:a aac:指定音频编码为 AAC。
  • -b:a 128k:设置音频码率。
  • -f flv:指定输出格式为 FLV。 rtmp://your-srs-server-ip/live/stream:目标 RTMP 服务器地址。
  1. 在 build.gradle 中添加 MobileFFmpeg 依赖:
  1. 使用 FFmpeg 推流:
  • 确保在 AndroidManifest.xml 中声明摄像头和麦克风权限:
  1. 使用 CocoaPods 添加 FFmpeg-iOS:
  1. 推流代码示例:
  • 在 Info.plist 文件中添加以下权限:
  • 推流地址:在 RTMP 服务器上确认推流地址,如 rtmp://your-srs-server-ip/live/stream。
  • 播放:用 VLC 或其他播放器打开 RTMP 地址,验证推流效果。
  • 分辨率与码率调整:根据网络环境和硬件性能设置合适的分辨率和码率。
  • 网络监测:增加网络状态监听,动态调整推流参数。
  • 错误处理:捕获 FFmpeg 的返回码,处理推流失败情况。

Python 与 C 语言,谁是编程世界的王者?

在当今数字化的时代,编程已经成为一项至关重要的技能。而在众多编程语言中,Python 和 C 语言无疑是备受关注的两大热门。那么,对于初学者或者想要在编程领域深入发展的人来说,学习 Python 与 C 语言,到底哪个更好呢?

首先,让我们来聊聊 Python 。Python 以其简洁易懂的语法而闻名,就像是一把轻巧灵活的瑞士军刀。它拥有丰富的库和强大的功能,无论是进行数据分析、机器学习,还是构建网站、开发游戏,Python 都能轻松应对。据统计,在数据科学领域,超过 80%的专业人士都选择使用 Python 来处理和分析数据。比如说,在处理大规模数据集时,Python 的 Pandas 库可以让复杂的数据操作变得轻而易举。

C 语言则是编程世界的老牌劲旅,就像一位经验丰富的武林高手。它具有高效、底层控制能力强等特点。在系统编程、嵌入式开发等领域,C 语言一直占据着不可替代的地位。许多操作系统和底层驱动程序都是用 C 语言编写的。举个例子,手机的操作系统内核,很多就是基于 C 语言开发的。

从学习难度上来看,Python 相对来说更容易上手。对于没有编程基础的小白来说,Python 的简洁语法和丰富的学习资源,能让他们更快地感受到编程的乐趣和成就感。而 C 语言则需要对计算机底层原理有更深入的理解,学习曲线较为陡峭。

然而,这并不意味着 C 语言就应该被冷落。在追求高性能和对系统资源精确控制的场景下,C 语言的优势无可替代。

综上所述,Python 和 C 语言各有千秋。如果你对数据分析、人工智能等领域感兴趣,想要快速入门并在短时间内看到成果,那么 Python 可能是你的不二之选。但如果你立志于深入研究计算机系统、追求极致的性能优化,或者从事底层开发工作,C 语言将是你攀登技术高峰的有力工具。

其实,无论选择哪一种语言,关键在于你的兴趣和目标。只要持之以恒地学习和实践,都能在编程的世界里闯出一片属于自己的天地!

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。