0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

电容式触摸独角兽号角的制作教程

454398 来源:网络整理 作者:网络整理 2019-11-28 17:00 次阅读

简介

传说同意独角兽角具有神奇的治愈和净化特性。独角兽很自然地做到这一点-角碰到池塘里的稀水或伤口溃烂后,角的魔力就开始发挥作用。自然有多酷?

对于角色扮演独角兽来说,调用号角的魔力并不那么直观。这种号角通过另一种魔术解决了这个问题:电容式触摸。

用美丽的铜线装饰号角,让净化过程从简单的触摸开始。喇叭一直在闪烁着变色的彩虹,当有人触摸铜脉时,彩虹会消失,喇叭的尖端会发出明亮的白色,净化附近的所有东西。像魔术一样!

所需的零件

1 x Gemma M0

Gemma M0微控制器

缺货

1 x Neopixel环

12 Neopixel环

添加到购物车

1 x 电池

LiPoly 350mah电池

添加到购物车

1 x 电池充电器

USB充电器

添加到购物车

1 x JST连接器

电池充电器连接器

添加到购物车

1 x 白色LED

漫射白色3mm LED

添加到购物车

也需要

1 x51Ω电阻器(或类似电阻

铜箔胶带以您想要的宽度

热缩管

您还需要一个独角兽号角-您可以3d打印一个或用worbla,树脂或任何其他半透明材料制成自己的号角。 Marlinspike Auger贝壳也可以做成独角兽角。

本指南包括一个可打印的独角兽号角文件以及一个可打印的安装板,因此您可以卸下号角以打开/关闭它并给电池充电。

工具

3d打印机(可选)

烙铁及配件

美工刀

用于安装的针和线

接线图

该项目无法与“经典” Gemma配合使用,因为我们使用了Gemma M0内置的电容式触摸!/span》

接线

宝石3V新像素环5V

宝石A0新像素环IN

宝石G新像素环GLED G(阴极)

Gemma A251欧姆电阻LED +(阳极)

Gemma A1铜带

电池充电器

要添加充电功能,请拼接第二个JST连接器与电池的电线成一直线,然后插入USB充电器。

为什么将NeoPixels焊接到3V焊盘而不是Vout焊盘?

Gemma M0的Vout焊盘可以从电池直接给我们提供3.7V的电压,从USB提供5V的电压,而NeoPixels最亮在这些较高的电压下。 但是,我们已经设计了此项目以始终插上电池,即使在关闭Gemma的情况下,连接到Vout垫的任何东西也会慢慢耗尽电池。接线到3V将解决此问题!

由于我们只有12个像素,因此3V引脚将为我们提供足够的电源。如果您要为整个设备供电,请不要使用此技巧。 NeoPixels! Gemma的3V稳压器不能很好地处理较大的子线。

软件

一个好主意是立即将所有软件都安装好并加载到板上,以使以后的连接测试更加容易。

要运行代码,您需要:

Arduino IDE(1.8或更高版本)

Adafruit Board对Gemma M0的支持

Arduino库:FastLED,Adafruit_FreeTouch,Adafruit_NeoPixel

1。 Arduino IDE

如果您未使用最新版本的Arduino IDE(1.8.5或更高版本),那么这是升级的好时机。如果这是您第一次使用Arduino,请转至本指南进行安装。它是免费的,而且设置起来非常简单。

2。开发板支持

您需要告诉Arduino IDE您正在使用哪个开发板。这只需要几分钟的设置,而您只需要做一次。

这里是设置Gemma M0的分步教程

3。库

可以使用Arduino库管理器安装所有三个库-使用Sketch→Include Library→Manage Libraries…并搜索库的全部或部分名称,然后单击“安装”。

查找:

FastLED

Adafruit_FreeTouch

Adafruit_NeoPixel

Adafruit_NeoPixel对于此项目不是绝对必需的,但是如果您遇到FastLED的问题,则可以方便地进行安装。使用Adafruit_NeoPixel,对基础知识进行故障排除会变得容易一些。

上传代码

使用USB电缆将微控制器插入计算机。在Arduino IDE中,转到工具》板,然后选择板的名称。然后转到工具》端口,并在那里也选择板。 (如果未在此处显示,请确保您的微控制器已通过USB插入计算机)

下载:Project Zip 或 UnicornHorn_CapacitiveTouch.ino | 在Github上查看

复制代码

#include “Adafruit_FreeTouch.h”

#include “FastLED.h”

#define CAPTOUCH_PIN A1

#define NEOPIXEL_PIN 1

#define LED_PIN 0

#define NUM_LEDS 12

#define LED_TYPE WS2812

#define COLOR_ORDER GRB

CRGB leds[NUM_LEDS];

int BRIGHTNESS=150;

int touch = 500; // Change this variable to something between your capacitive touch serial readouts for on and off

long oldState = 0;

int gHue=0;

Adafruit_FreeTouch qt_1 = Adafruit_FreeTouch(CAPTOUCH_PIN, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);

//Adafruit_FreeTouch qt_2 = Adafruit_FreeTouch(A2, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);

void setup() {

Serial.begin(115200);

if (! qt_1.begin())

Serial.println(“Failed to begin qt on pin A1”);

pinMode(LED_PIN, OUTPUT); //initialize the LED pin

FastLED.addLeds(leds, NUM_LEDS); // Set up neopixels with FastLED

FastLED.setBrightness(BRIGHTNESS);

FastLED.setMaxPowerInVoltsAndMilliamps(3,350); //Constrain FastLED‘s power usage

}

void loop() {

Serial.print(qt_1.measure());

Serial.write(’ ‘);

checkpress();

delay(20);

}

void checkpress() {

// Get current button state.

long newState = qt_1.measure();

Serial.println(qt_1.measure());

if (newState 》 touch && oldState 《 touch) {

// Short delay to debounce button.

delay(20);

// Check if button is still low after debounce.

long newState = qt_1.measure(); }

if (newState 》 touch ) {

dark();

digitalWrite(LED_PIN, HIGH);

delay(20);

}

else {

rainbow();

digitalWrite(LED_PIN, LOW);

delay(20);

}

// Set the last button state to the old state.

oldState = newState;

// do some periodic updates

EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the “base color” through the rainbow

}

void rainbow()

{

// FastLED’s built-in rainbow generator

fill_rainbow( leds, NUM_LEDS, gHue, 7);

FastLED.show();

delay(20);

}

void dark()

{

for(int i = 0; i 《 NUM_LEDS; i++) {

leds[i] = CRGB::Black;

FastLED.show();

delay(20);

}

}

#include “Adafruit_FreeTouch.h”

#include “FastLED.h”

#define CAPTOUCH_PIN A1

#define NEOPIXEL_PIN 1

#define LED_PIN 0

#define NUM_LEDS 12

#define LED_TYPE WS2812

#define COLOR_ORDER GRB

CRGB leds[NUM_LEDS];

int BRIGHTNESS=150;

int touch = 500; // Change this variable to something between your capacitive touch serial readouts for on and off

long oldState = 0;

int gHue=0;

Adafruit_FreeTouch qt_1 = Adafruit_FreeTouch(CAPTOUCH_PIN, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);

//Adafruit_FreeTouch qt_2 = Adafruit_FreeTouch(A2, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);

void setup() {

Serial.begin(115200);

if (! qt_1.begin())

Serial.println(“Failed to begin qt on pin A1”);

pinMode(LED_PIN, OUTPUT); //initialize the LED pin

FastLED.addLeds(leds, NUM_LEDS); // Set up neopixels with FastLED

FastLED.setBrightness(BRIGHTNESS);

FastLED.setMaxPowerInVoltsAndMilliamps(3,350); //Constrain FastLED‘s power usage

}

void loop() {

Serial.print(qt_1.measure());

Serial.write(’ ‘);

checkpress();

delay(20);

}

void checkpress() {

// Get current button state.

long newState = qt_1.measure();

Serial.println(qt_1.measure());

if (newState 》 touch && oldState 《 touch) {

// Short delay to debounce button.

delay(20);

// Check if button is still low after debounce.

long newState = qt_1.measure(); }

if (newState 》 touch ) {

dark();

digitalWrite(LED_PIN, HIGH);

delay(20);

}

else {

rainbow();

digitalWrite(LED_PIN, LOW);

delay(20);

}

// Set the last button state to the old state.

oldState = newState;

// do some periodic updates

EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the “base color” through the rainbow

}

void rainbow()

{

// FastLED’s built-in rainbow generator

fill_rainbow( leds, NUM_LEDS, gHue, 7);

FastLED.show();

delay(20);

}

void dark()

{

for(int i = 0; i 《 NUM_LEDS; i++) {

leds[i] = CRGB::Black;

FastLED.show();

delay(20);

}

}

3d打印喇叭

我根据Noe Ruiz的精彩教程在Fusion360中创建了此设计。我正在使用双挤出机Sigma BCN3D进行打印:

修改

视频之后,会创建一个喇叭,喇叭的尺寸太小而无法容纳新像素环。首先确定草图的宽度为42毫米,而不是38毫米,以确保它适合。

我还在USB充电器底座附近添加了一个4mm x 13mm的孔,并在底部添加了用于

由于开/关开关位于Gemma上,而且可能难以触及,因此我创建了一个滑入式安装板,可以将其缝制到头饰或头巾。这样,可以轻松卸下喇叭,以进行充电或打开和关闭。

horn.stl

spiral.stl

Platform.stl

对于非双挤出机打印机,这是一个角和螺旋线合并在一起的.stl文件。

horn_with_spiral.stl

此号角使用双挤出机印刷了两个色善良。我在黑暗中发光的ABS中打印了号角,在紫色ABS中将螺旋打印了,变热时变成了粉红色。魔术!

要打印独角兽号角,3D打印机必须能够打印至少150mm高的高度,并且号角的底部大约为42x48mm,这应该适合大多数床。

p》

切片器设置

下载并将以下.fff文件导入到Simplify3D中。这些设置适用于具有3mm ABS的双挤出机。喇叭将在左侧挤出机上打印,螺旋线在右侧打印。

角轮廓:DualExtruder3mmABS.fff

平台轮廓:Platform_Settings.fff

Horn打印设置

0%填充

不需要支撑

没有木筏

裙子/边缘很有帮助

平台打印设置

20%填充

使用短裙

用木筏

裙子/帽檐会有所帮助

电子组装

剪一条红色和黑色的线,比喇叭的长度稍长。

获取纽扣电池并测试您的LED。确保您知道哪个是阳极腿(电源),哪个是阴极(地)。

99%的时间中,更长的腿是阳极,但偶尔会出现“ trickster” LED两条相同大小的腿滑过。

将电阻器的一只脚缠绕到LED的阳极引脚,并将其焊接到位。将红色导线焊接到另一个电阻器支脚,然后将黑色导线焊接到LED的阴极支脚。

再次用纽扣电池测试以确保LED是还在工作。如果一切看起来不错,请在连接上涂抹一些热收缩物以覆盖它们,并确保它们不会短路。

抓住您的neopixel戒指。将红色导线焊接至5V,将黑色导线焊接至G,将白色导线焊接至IN。

注意:最简单的方法是将导线从Neopixel一侧滑入,然后在焊点的背面进行焊接

将导线拉到环的内部,并修剪到大约2英寸。

将来自Neopixel环的黑线与来自LED和焊料的黑线绞在一起都插入到Gemma M0的G引脚上。

将红色像素线从neopixel环焊接到Gemma的3V引脚,然后将白线焊接到引脚D1。/p》

最后,焊接剩余的红色线从LED到Gemma上的D0引脚。

将电池插入Gemma并成为确保已打开。如果您还没有这样做,请上传代码。测试以确保您的新像素点亮。

用手指触摸板A1。新像素应该熄灭,LED应当点亮。是的!

如果触摸板过于敏感或似乎什么也没做,则可能需要校准码。我们将在下一部分中进行介绍。

电池充电器

一次切割和焊接一根电线!不要一次切穿两者。如果处理不当,LiPoly电池会着火!

将JST连接器修剪到大约2英寸。小心地将将红色导线连接到LiPoly电池上,将其热缩并从JST连接器上插入红色导线。

用黑色导线重复操作。现在您已将两个插头连接到电池:一个用于Gemma,一个用于充电器。

最终大会

切一段比您需要更长的铜带。修剪使其成形并绕喇叭形缠绕。我发现将其缠绕在螺旋上方是最好的方法-这样,当我戴上喇叭时,不用看就可以用手指轻松找到它。

用钝器压紧并压平铜带的工具。它不想整齐地旋转,所以花一些时间使其看起来不错。在尖端使用一小滴强力胶,以确保它不会被卡住。

在磁带末端留一条长尾巴,以连接到您的Gemma。

在喇叭的顶端滴一些强力胶,然后滑动LED使其保持不动。

滑动电池,然后neopixel响到号角。将充电器放置在适当的位置,使JST连接器朝下,朝向喇叭的底部。

然后,将铜带粘贴到Gemma的A1垫上。您可以通过以下方式进行操作:将胶带滑过孔并进行焊接,或者,如果太麻烦,则将一根短线焊接到焊盘和胶带上以进行连接。

用一点热胶固定充电器。

将Gemma塞入喇叭的底部,注意使电容式触摸板尽可能远离任何其他电子设备。

在这一点上,我的号角已经乱成一团。电容式触摸要么太灵敏,要么不够灵敏。或者,Gemma上的所有其他垫板都会将其关闭,但垫板A1却什么也没做。

我花了很多时间来校准软件,测试,屏蔽和重新配置铜带。此处的校准非常棘手。拔下USB电缆后,喇叭的反应完全不同-没有USB端口的接地,铜带的灵敏度就会变差。

别放弃!请查阅本指南中的校准页面以获取一些提示。

到制作一个头带,从额头到颈项测量一下头围,然后切一块硬质织物或乙烯基材料,使其大小大致与之相同。

缝一个漂亮的闪亮织物

将3d打印平台缝在头带的中心使用安装孔。

用珠宝,花朵,贝壳,珠子或其他任何喜欢的装饰装饰头带。

校准

组装完所有部件后,您可能会发现号角过于敏感:几英寸之内即可到达,并且LED尖端亮起。否则可能不够灵敏,没有任何接触会使喇叭的尖端发光。幸运的是,这很容易在代码中进行调整。

将Gemma插入计算机,并确保已在“工具”》“端口”》“ Adafruit Gemma M0”下选择了它。

打开串行监视器并移动您的双手远离Gemma。您应该看到数字滚动。这是您的基准编号,请写下来。

现在触摸铜带。这是您的有效号码。也要写下来。

在代码中找到以下行:

下载:文件

复制代码

int touch = 500; // Change this variable to something between your capacitive touch serial readouts for on and off int touch = 500; // Change this variable to something between your capacitive touch serial readouts for on and off

“ touch”变量用于设置灵敏度。将数字更改为基线数和活动数之间的中点附近的值。再次上传代码,然后进行测试以查看其性能是否更好。

添加铜带会极大地更改活动编号。添加的胶带越多,变化越大,因此在喇叭完全组装好以达到最佳效果时重新校准。

灵敏度在不同情况下也会发生变化。如果将Gemma插入计算机,则结果与未插入计算机时会有所不同。由于未插入Gemma时无法获得读数,因此需要进行一些尝试和错误操作才能正确校准喇叭。

如果灵敏度在您的头上,而不是在头上,在头饰上或不在头饰上,灵敏度也会发生变化。或者,如果风在吹。可能有点令人沮丧!因此,请确保您要在喇叭的最终位置(在您的头上)进行测试。

如果其他所有方法都失败了,请接地。深呼吸三下,扭动脚趾,然后将脉轮连接到通用地面。电力贯穿我们所有人,沮丧会改变您的结果。

然后呼吸,像您一样神奇的闪闪发光的独角兽来腾跃。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22445

    浏览量

    645846
  • 连接器
    +关注

    关注

    96

    文章

    12606

    浏览量

    133094
收藏 人收藏

    评论

    相关推荐

    思必驰再次成功入选胡润《2024全球独角兽榜》

    2024年4月9日,胡润研究院发布了《2024全球独角兽榜》(Global Unicorn Index 2024),列出了全球成立于2000年之后,价值10亿美元以上的非上市公司,全球共有1453家独角兽企业上榜
    的头像 发表于 04-19 15:47 122次阅读
    思必驰再次成功入选胡润《2024全球<b class='flag-5'>独角兽</b>榜》

    云知声入选胡润《2024全球独角兽榜》榜单

    近日,在2024全球独角兽CEO大会暨全球独角兽企业颁奖典礼现场,胡润研究院发布《2024全球独角兽榜》。凭借在人工智能领域的持续深耕与战略布局,云知声入选榜单。
    的头像 发表于 04-18 10:23 118次阅读
    云知声入选胡润《2024全球<b class='flag-5'>独角兽</b>榜》榜单

    广汽集团旗下三家企业荣登2024胡润全球独角兽

    4月9日,2024全球独角兽CEO大会在广州开发区、黄埔区举行,胡润研究院在大会上发布了《2024全球独角兽榜》,广州共有24家独角兽企业上榜。其中广汽集团旗下的广汽埃安、如祺出行、巨湾技研三家企业荣登2024胡润全球
    的头像 发表于 04-11 09:08 203次阅读
    广汽集团旗下三家企业荣登2024胡润全球<b class='flag-5'>独角兽</b>榜

    2024全球独角兽排名:美中印领先,SpaceX升至第二

    目前,全球独角兽企业总量已达1453家,较去年增长7%。其中,美国以703家独角兽领衔,增量为37家,占据全球总份额的48%。紧随其后的则是中国,独角兽企业数为340家,但相比去年仅增加了24家。印度排名第三,
    的头像 发表于 04-10 11:20 261次阅读

    重庆预计2024年评定7家独角兽企业、16家潜在独角兽、145家瞪羚企业

     值得注意的是,该次评定中,阿维塔科技(重庆)、深蓝汽车科技以及正大帝先计算技术均获得了独角兽企业称号。同时,重庆宇隆光电、金芯麦斯传感器技术等也被视为潜在独角兽,北斗智联科技和盛泰光电科技位列其中。
    的头像 发表于 03-26 15:44 258次阅读

    电容式传感器MCU 电容式触摸噪声抗扰度指南

    电子发烧友网站提供《电容式传感器MCU 电容式触摸噪声抗扰度指南.pdf》资料免费下载
    发表于 01-03 14:10 2次下载
    <b class='flag-5'>电容式</b>传感器MCU <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>噪声抗扰度指南

    亿铸科技获评2023江苏省潜在独角兽企业

    近日,江苏省生产力促进中心发布了“2023年江苏独角兽企业评估结果”,亿铸科技获评2023江苏省潜在独角兽企业。
    的头像 发表于 12-25 15:13 362次阅读
    亿铸科技获评2023江苏省潜在<b class='flag-5'>独角兽</b>企业

    踏歌智行入选“2023中国汽车独角兽/隐形独角兽100强榜单”

    近日,首届中国汽车独角兽大会以“汽车独角兽催生新汽车”为主题在安徽马鞍山市举办,“2023中国汽车独角兽/隐形独角兽100强榜单”于会议期间发布,踏歌智行作为矿区无人驾驶领域唯一上榜企
    的头像 发表于 12-14 09:09 947次阅读

    CW32 电容式触摸按键设计指南

    CW32 电容式触摸按键设计指南
    的头像 发表于 10-25 16:36 578次阅读
    CW32 <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>按键设计指南

    CW32电容式触摸按键设计指南

    CW32 电容式触摸按键设计指南向客户提供一种利用 CW32 内部资源结合软件编程实现电容式触摸按键有效触摸检测的方法。本指南的内容重点在于
    发表于 09-15 06:00

    触摸屏物体识别技术有哪些 触摸屏怎么区分电容屏和电阻屏

    电容式触摸屏通过感应电场变化来识别和跟踪触摸物体。常见的电容式触摸屏包括表面电容式触摸屏和投影电容式触摸屏。
    发表于 09-06 15:41 1483次阅读

    电容式触摸应用示例(AE-CAP1) 快速入门指南

    电容式触摸应用示例 (AE-CAP1) 快速入门指南
    发表于 07-07 19:16 0次下载
    <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>应用示例(AE-CAP1) 快速入门指南

    禾多科技再度入选“2022年中国潜在独角兽企业”

        2023年6月,在2023中国(苏州)独角兽企业大会上,长城战略咨询发布了《中国潜在独角兽企业研究报告2023》。禾多科技继被福布斯中国评选为“新晋独角兽榜单”后,再度入选“2022年中
    的头像 发表于 06-28 11:35 736次阅读

    应用在智能冰箱触摸屏领域的高性能电容式触摸芯片

    电容式触摸芯片内部集成高分辨率触摸检测模块和专用信号处理电路,以保证电容式触摸芯片对环境变化具有灵敏的自动识别和跟踪功能。
    的头像 发表于 06-06 09:09 493次阅读

    欢创科技获评“2022深圳市潜在科技独角兽企业”

    2023年5月31日,“2023年深圳市独角兽企业和潜在科技独角兽企业服务对接会”在深圳举行。会上,深圳科创学院发布了“2022深圳市独角兽企业及潜在科技独角兽企业榜单”。深圳市科技
    的头像 发表于 06-01 14:34 730次阅读