行业

汽车

航空

金融

游戏

医疗科技

物联网

数字产品

使用场景

面向企业

面向个人

面向团队

用于教育

主要特点

硬件与系统集成

公测版

ProtoPie MCP

多设备原型设计

交互逻辑

开发交接

ProtoPie AI

用户测试

插件

Figma

Sketch

Adobe XD

洞见与灵感

博客

白皮书

客户成功案例

活动与网络研讨会

ProtoPie 画廊

产品学习与支持

ProtoPie 学堂

下载 ProtoPie

产品文档

社区

行业

汽车

航空

金融

游戏

医疗科技

物联网

数字产品

使用场景

面向企业

面向个人

面向团队

用于教育

主要特点

硬件与系统集成

公测版

ProtoPie MCP

多设备原型设计

交互逻辑

开发交接

ProtoPie AI

用户测试

插件

Figma

Sketch

Adobe XD

洞见与灵感

博客

白皮书

客户成功案例

活动与网络研讨会

ProtoPie 画廊

产品学习与支持

ProtoPie 学堂

下载 ProtoPie

产品文档

社区

Protopie 连接

12

阅读时间

ProtoPie Connect 入门 7 节中的第 3 节:Arduino 第 1 部分 - 与 Blokdots 连接

了解如何使用 Blokdots 与您的 Arduino 项目集成,而无需编写任何代码。

杰夫·克拉克, 用户体验设计师与 ProtoPie 培训师
connect ai agents like claude, cursor and more to protopie via mcp

简介

我们的数字体验正越来越多地延伸到电脑和手机屏幕之外。假设你想在设计中引入实体控制……一个按钮……一个可旋转的旋钮……一根你可以触摸并用手指滑动的滑条。像 Arduino Uno 这样的低成本计算板,正让想要进行实验的人更容易实现这些想法。

在本教程中,我们将制作一个气候控制原型,它既可以通过触摸屏操作,也可以通过可旋转并可按压的实体旋钮操作。这些旋钮被称为旋转编码器。即使你没听过这个术语,你也很可能在某个时刻使用过它。它们在旋转时会有明显的“咔嗒”段落感。每一次咔嗒都会让某个数值增加或减少一步——比如你车载音响的音量控制。

你将学到什么

在本教程中我们将涵盖以下内容:

**完成时间:30-60 分钟
**这取决于你搭建 Arduino 电路的经验。

Blokdots

通常在使用 Arduino 时,会涉及一点编程。如果一想到写代码就让你望而却步,也有替代方案。Blokdots 是一个运行在你电脑上的程序,让你无需编写任何代码就能为 Arduino 编程。最棒的是?它内置了与 ProtoPie Connect 的集成,这意味着你可以很快让 Pie 对实体设备的交互作出响应。


Blokdots - Arduino programming without code... sound familiar?


Blokdots——无需代码的 Arduino 编程……听起来很熟悉?

在撰写本文时,Blokdots 仍处于测试版,但它已经证明了使用实体设备可以多么快速、简单。

你需要的零件

到目前为止的所有课程,除了 ProtoPie 许可证之外都不需要额外购买。要跟着本教程操作,你需要准备一些零件:

太长不看(TL;DR)——我是新手(n00b)。请简单点。


Buy the Official Arduino Starter Kit and some rotary encoders

直接购买 官方 Arduino 入门套件,它包含本项目所需的几乎所有东西,再加上一包这种旋转编码器

开始接线!

虽然 Blokdots 负责了编码部分,但你仍然需要亲自动手把线路接起来。对于简单项目,这并不难,而且你很可能能在网上找到电路图,准确告诉你如何连接元件到 Arduino 板,即使你并不完全理解其工作原理。

按照下图连接你的 Arduino 电路。

💡 如果你需要更详细的引导,视频下方有分步骤说明。


Arduino circuit wiring diagram

开始吧!

访问 Blokdots.com 并点击右上角黄色下载按钮。由于 Blokdots 仍处于测试版,带有新功能和修复的更新会频繁发布。请务必经常检查更新。

其次,我们将使用一个已完成状态的 Pie 文件。请在这里下载:
https://cloud.protopie.io/p/35d69ddd96

现在请跟着下面的视频操作:

可尝试的内容

  • 当提高风速时,Pie 中的旋转方向是逆时针;但使用实体控制时,我们会顺时针转动编码器。看看你能否让风速旋钮与温度控制相反——逆时针增加风速,顺时针降低风速。

  • 你还接了第二个按钮,但目前还没用上。你可以拿它做什么?

救命!我的电路该怎么接?!

如果你不熟悉电路接线,不用担心!下面将介绍该电路涉及的所有元件,并提供详细接线说明。

认识你的 Arduino


Digital and power connectors on the Arduino Uno board

Arduino 的设计让连接元件变得简单。

  • 顶部有一组连接口——这些是数字接口,并且有清晰编号。我们会使用其中几个来连接编码器。

  • 底部有一组标注为 “POWER” 的连接口。我们会用到标注为 “5V”“GND” 的接口。

面包板说明

我们将使用一种叫做 “面包板(Breadboard)” 的东西来连接所有元件。面包板可以让你无需焊接就轻松连接电子元件。

Arduino 入门套件 附带的面包板与下图非常相似。它由一组孔位网格组成:


Bread board

理解某些孔组彼此连通非常重要。顶部有两行孔,底部也有两行孔。它们两端标有 + 和 –。这四行中每一行的孔都是互相连通的。通常你会用这些行给项目供电。如果你把电源接到最上面一行中的任意一个孔,那么插在该行中的其他元件都会获得电源。

中间区域的孔按纵向每 5 个为一组排列。每组 5 个孔也彼此连通。你把元件插入这些组中,然后用导线在这些 5 孔组与电源排之间建立连接。


Groups of holes are internally connected. Wires and components plugged in to the same group will be connected together.


顶部两行和底部两行各自是横向连通的(蓝线)。每组纵向的五个孔也彼此连通(洋红线)。

旋转编码器

旋转编码器是一种特殊的旋钮,旋转时会有段落“咔嗒”感。本项目使用的编码器还带有按压按钮功能。


Rotary Encoder

它有 5 个连接引脚,标注都很清楚:


The pins are clearly labeled.

从左到右:

  • GND - 接地引脚。连接到 Arduino 的 GND 接口

  • + - 电压引脚。连接到 Arduino 的 5V 接口

  • SW - 该引脚专门用于发送旋钮按键被按下的信号。连接到 Arduino 的某个数字接口

  • DT - 编码器的数据引脚。连接到 Arduino 的某个数字接口

  • CLK - 编码器的时钟引脚。连接到 Arduino 的某个数字接口

💡 你不必理解 DT 和 CLK 的具体工作原理。真正重要的是:当你在 Blokdots 中使用编码器时,DT 和 CLK 必须连接到 Arduino 上连续编号的数字接口。例如,如果 DT 接到数字口 3,那么 CLK 就需要接到数字口 4。我们在实际接线时会再次说明。

编码器的引脚可以很方便地插入面包板!


The encoder's pins conveniently fit perfectly into the breadboard.

现在把两个编码器都插到面包板上。请确保编码器每个引脚都插在不同的一个纵向 5 孔组上。


Plug the encoders in so that each pin is connected to a different group

跳线

最后一块拼图就是把一切连接起来的导线。Arduino 入门套件附带多种长度的跳线。颜色并不影响功能——导线就是导线——但颜色有助于区分项目中的不同部分。例如,红线通常表示电源(更准确地说是电压)。你可以使用任何你觉得清晰的配色方案。


Jumper wire


Arduino 入门套件附带多种长度和颜色的跳线。

按图接线

还记得上面的接线图吗?请按图示连接导线。记住,导线颜色并不重要,所以如果你没有图中相同颜色,换成别的颜色即可。


Arduino circuit wiring diagram

为面包板供电:

  • 将一根导线从 Arduino 的 5V 接口连接到底部一行(标有“+”)中的任意孔。该行是电源排。

  • 将一根导线从 Arduino 任一 GND 接口连接到底部第二行(标有“–”)中的任意孔。该行是接地排。

请注意,如果你的项目摆放方向与图中一致,编码器目前是背向你的,因此从这个视角看,从左到右引脚顺序如下:

  • CLK

  • DT

  • SW



  • GND

**连接编码器 1: **

  • 将一根导线从接地排中的任意孔连接到编码器 GND 引脚所在 5 孔组中的任意孔。

  • 将一根导线从电源排中的任意孔连接到编码器 + 引脚所在 5 孔组中的任意孔。

  • 将一根导线从 Arduino 的数字口 2 连接到编码器 SW 引脚所在 5 孔组中的任意孔。

  • 将一根导线从 Arduino 的数字口 3 连接到编码器 DT 引脚所在 5 孔组中的任意孔。

  • 还记得我提到 Blokdots 要求编码器使用连续接口吗?既然 DT 接在数字口 3,那么 CLK 就需要接在数字口 4。请将一根导线从 Arduino 的数字口 4 连接到编码器 CLK 引脚所在 5 孔组中的任意孔。

**连接编码器 2: **

  • 将一根导线从接地排中的任意孔连接到编码器 GND 引脚所在 5 孔组中的任意孔。

  • 将一根导线从电源排中的任意孔连接到编码器 + 引脚所在 5 孔组中的任意孔。

  • 将一根导线从 Arduino 的数字口 5 连接到编码器 SW 引脚所在 5 孔组中的任意孔。

  • 将一根导线从 Arduino 的数字口 6 连接到编码器 DT 引脚所在 5 孔组中的任意孔。

  • 和前面一样,我们需要把 CLK 引脚连接到 Arduino 上下一个连续的数字接口。将一根导线从 Arduino 的数字口 7 连接到编码器 CLK 引脚所在 5 孔组中的任意孔。

如果你都接对了,它看起来应该类似这样:


Wired circuit

干得漂亮!你已经使用 ProtoPie Connect 与 Blokdots 连接好了你的第一个 Arduino 项目。让我们在 ProtoPie Connect 入门 7 节中的第 4 节:Arduino 第 2 部分 - 编写你自己的 Sketch 代码 里看看还能做什么。