Qlocktwo型电子手表

uMove团队您好一旦我在互联网上看到这样的手表图像。它们上的当前时间由以下单词设置:三点五分,一刻钟到一个小时,四点半等等,以5分钟为增量。



最近我们做了这样的!

怎么样了


首先,我们制作了3D模型。选择多余的4毫米厚胶合板作为载体底座;在其上放置三色二极管带,每个二极管由SPI分别控制。例如,第十个二极管的颜色设置如下:“您好,告诉第十个,以便现在以这样的颜色点亮。”第一个转移到第二个,第二个转移到第三个,依此类推。

基于二极管的现有步骤来选择整个设备的形状因数。在这种情况下,磁带每米长度有60个筹码。方形设备侧面的最终总尺寸为264.4毫米。



第二层,我们组织了字母之间的分隔符。这是防止将活动字母突出显示为非活动所必需的。在第二层中,放置了一个用于电源线输出的孔。



二极管的整个矩阵是一维阵列,位于蛇形基板上。
从笛卡尔坐标系到“蛇”的转换函数:

int getStripPosition(int row, int col)
{
    if(col % 2 == 1)
    {
        return col * ROWS + row;
    }else{
        return (1 + col) * ROWS - (1 + row);
    }
}

胶带分成3股串联连接:电源,接地和信号。例行口粮开始了。这是发生的事情:



检查焊接接头并没有让我感到失望,一切都在第一次就可以了,甚至是不寻常的。

出现


在用字母绘制一张桌子的草图后,我们试用了字体的大小和类型,为激光机设计了图纸,并开始研究材料和颜色。选择落在黑色光泽塑料上。结果是一个非常时尚的案例。选择的语言是德语...我们不知道为什么。



德语分钟:


电子产品


手表的底座是我们最喜欢的Spark这是一个熟悉的STM32微控制器,可通过Wi-Fi进行互联网访问。这个东西本身会知道当前时间,手表中没有一个按钮!可以从手机设置新的网络登录名和密码。



我们在CMIT学院制作并组装了所有细节。

但这还不是全部


让我们看看发生什么了:
  1. 我们有一个10x11像素矩阵
  2. 我们可以上网
  3. 我们有一个带有自定义API的云

还记得砌砖游戏吗?

打砖块


可能是最容易编写的游戏。
使用手表非常简单。芯片固件具有可以通过云访问的功能。该站点的示例:

int brewCoffee(String command);
void setup()
{
  Particle.function("brew", brewCoffee);
}
void loop()
{
  // this loops forever
}
// this function automagically gets called upon a matching POST request
int brewCoffee(String command)
{
  if(command == "coffee")
  {
    // some example functions you might have
    return 1;
  }
  else return -1;
}

要访问它,您需要对云执行POST请求,例如,从命令行执行:
curl https://api.particle.io/v1/devices/{DEVICE_ID}/{FUNCTION_NAME} -d access_token={TOKEN} -d "args={ARGUMENTS}"

您可以通过应用程序控制滑块。我们使用Apache Cordova用HTML + JS编写了它
<body style="margin: 0; padding: 0;">
<script language="javascript">
  function go(action) {
    var xhr = new XMLHttpRequest();
    var body = 'access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&args='+action;
    xhr.open("POST", 'https://api.particle.io/v1/devices/53ff6e12345678900987654321/shift', true)
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    xhr.send(body);
  };
    </script>
    <button class="button" style="width: 40%;" onclick="go('left')"><</button>
    <button class="button" style="width: 20%; left: 40%" onclick="go('play')">!</button>
    <button class="button" style="width: 40%; left: 60%" onclick="go('right')">></button>
</body>

手机上的应用程序看起来很棒:



示范




我们希望我们能为您带来一些新颖的创意项目灵感!

Source: https://habr.com/ru/post/zh-CN384493/


All Articles