惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 最新话题
C
Cyber Attacks, Cyber Crime and Cyber Security
G
GRAHAM CLULEY
T
Tenable Blog
T
Threatpost
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
Intezer
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
Security Latest
Security Latest
P
Privacy & Cybersecurity Law Blog
Google Online Security Blog
Google Online Security Blog
SecWiki News
SecWiki News
P
Palo Alto Networks Blog
TaoSecurity Blog
TaoSecurity Blog
Webroot Blog
Webroot Blog
Spread Privacy
Spread Privacy
O
OpenAI News
The Last Watchdog
The Last Watchdog
P
Proofpoint News Feed
C
Check Point Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
人人都是产品经理
人人都是产品经理
S
Security @ Cisco Blogs
Scott Helme
Scott Helme
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
月光博客
月光博客
S
Securelist
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
T
Troy Hunt's Blog
W
WeLiveSecurity
GbyAI
GbyAI
N
News | PayPal Newsroom
Y
Y Combinator Blog
C
Cisco Blogs
H
Help Net Security
The GitHub Blog
The GitHub Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 【当耐特】
Jina AI
Jina AI
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
云风的 BLOG
云风的 BLOG
小众软件
小众软件
N
News and Events Feed by Topic

t9t.io

like-history.ai 我如何帮助 GPT-4 在 1 小时内自主解决 LeetCode 上 100 个编程问题 Open Prompt 发布一个月总结 A "GitHub" for ChatGPT prompts 一个付费 chrome 插件的一生 通过 GitHub 订阅 Hacker News 每日 top 10 让用户决定软件长什么样 我的一年独立开发经历 Feeds Pub 小范围发布半个月, 分享一些数据和感想 Feeds Pub - 一个社会化的 RSS 阅读器 2019 年 t9t.io 赚了多少钱 生活中的地位游戏 为了用 markdown 写简历, 我做了这个工具 - 我的透明创业实验第二十七周 产品从 0 到 1 的法则 我的透明创业实验 - 第二十五周 中文圈貌似写独立博客的人越来越少了, 我按照订阅量大概排了个序 增长黑客? 请先确保你的产品值得被推广 - 我的透明创业实验第二十四周 年中总结? - 我的透明创业实验第二十三周 keep on shipping, 你可能会发现用户可能喜欢什么 - 我的透明创业实验第二十二周
为了老婆的乐队梦, 我做了一个弹钢琴的机器人
timqian · 2022-07-29 · via t9t.io

事情是这样的:老婆很喜欢唱歌,一直喊我学一个乐器然后和她组乐队。于是我尝试学习了钢琴,吉他,尤克里里… 但是因为资质平平没有节奏感,一直也配不上。

正在老婆马上要放弃我的时候,前段时间无意中刷到一些视频,似乎弹钢琴,弹吉他这活儿可以安排给机器人干。作为一个略懂电子的程序员,这些机器人我也许也能做的出来,成立乐队的希望又出现了。

经过将近一个月的调研,学习,设计,和制作,虽然简陋一些,节奏稍微不准一些,我终于把机器做出来了,先看结果:


欢迎大家关注我的 B 站账号莫得灵魂乐队后面有可能发新歌/加入新的乐手。

记录一下制作过程

1. 调研

在b站,youtube,搜索别人做过类似的机器。 发现主要有两种方式。

1.1 乐高的方案

乐高除了常规的积木,还卖可编程的机器(SPIKEEV3等)这些机器可以连接传感器,马达以及乐高积木,由此组装出可编程的乐高机器人。

参考 youtube 上这位博主的视频,我最终做出了这么一个弹吉他的机器人:


不过用乐高做机器有两个问题

  1. 第一是不够灵活,因为积木搭建,只有那么一些形状,导致需要不断尝试各种部件组合来达到某些简单的运动。这就导致了要制作更精巧的机器的时候,难度指数型上升。
  2. 然后是贵,spike 需要 ¥1000 多一个,一个 spike 只能控制 4 个马达,如果做钢琴机器人,需要好几个 spike 联动,编码也会很复杂。

考虑再三,我放弃了优化这款乐高机器人,转向了另一种方式

1.2 单片机 + 舵机 + 亚克力或者板材做结构

乐高 spike 本质上是一个单片机,配套的马达本质是舵机。所以我尝试了自己购买单片机和舵机,然后用亚克力板自己切割出想要的结构组装成想要的样子。

事实证明,这样子做起来方便多了,只花了一周时间,做出了更好的效果。

单片机可选择的范围比较多,主要考察了 Arduino树莓派

最终选择了 arduino,因为它够用,便宜,编程起来方便。

动手前,我希望用 3D 软件先设计结构,通过一番搜索,还找到了一个非常好用的,开源的 3D 设计软件

Blender

进行了简单的入门之后,我决定,下次设计更复杂的机械的时候再用它。。原因是这次结构比较简单,而且因为没有太多机械制作经验,设计出来也不知道能不能在现实中实现。

2. 原料采购

  • 亚克力板两块
  • 热熔胶枪一支
  • 舵机50个
  • Arduino 一块
  • 美工刀一只

3. 制作过程

  1. 用美工刀切割亚克力板得到指定形状
  2. 用热熔胶枪把舵机安装在亚克力板上
  3. 用热熔胶枪把亚克力板粘起来

4. 软件编写

Arduino 配套的编程语言很像 C++,并且提供了很多库方便用户操作,比如控制舵机,只需要使用 #include <Servo.h> 即可。

弹奏两只老虎所需的代码就是如下这么简单:

// 两只老虎
#include <Servo.h> 

Servo s1;
Servo s2;
Servo s3;
Servo s4;
Servo s5;
Servo s6;
Servo s7;
Servo s8;

void setup() {
  s1.attach(2); s2.attach(3); s3.attach(4); s4.attach(5);
  s5.attach(6); s6.attach(7); s7.attach(8); s8.attach(9);
}

void loop() {
  s4.write(90); s5.write(90); s3.write(90); s4.write(90);
  s5.write(90); s6.write(90); s7.write(90); s8.write(90);

  delay(1000);

  // 1 2 3 1 两只老虎
  s4.write(150);
  delay(600);

  s5.write(30); s4.write(90);
  delay(600);

  s5.write(150);
  delay(600);

  s4.write(150); s5.write(90);
  delay(300);

  s4.write(90);
  delay(300);
  //...
}

5. 大功告成

测试一下,弹个两只老虎


照例把相关代码放在了 [GitHub](https://github.com/timqian/modsoul)