基于一个ADXL345陀螺仪传感器的PCB零件

描述

Pikocube是一个54像素的小LED立方体,一个ESP8285-01F WiFi MCU和一个ADXL345陀螺仪传感器。每个PCB的尺寸为25x25mm。可通过一侧的6个贴片焊盘闪光。计划是将立方体用作一个电子骰子来检测它何时被抛出,何时变得不活跃。

您需要的零件

5x PCB

45个WS2812 2020 LED

5个0.1µF 0603电容器

5个10 µF 0603电容器

5x 0欧姆0603电阻

一些电线

它仅将一个LED的DIN连接到另一个LED的DOUT。它包含两个介于5V和GND之间的电容器。根据WS2812的数据表,建议为每个LED使用一个电容器,但是九个LED的面积非常小,并且LED彼此之间相距不远,这就是为什么我只使用了两个电容器的原因。

为了将五个PCB连接在一起,我在所有四个边缘上都添加了一些焊盘,这些焊盘包含5V,GND,DIN,DOUT。有些配备了跳线垫,因为特别是对于顶部PCB,您不应该连接所有的垫-5V会被焊接到GND,那将是不好的……诚然,这些垫太小了,其尺寸仅为0.635 ×0.635mm,但稍有耐心,它将以某种方式工作。

该项目仅用于连接45个LED,因此在对Pikocube进行编程时可以非常有创意。我在大多数LED项目中都使用FastLED库,但是Neopixel库在很多情况下也可以使用。我编写了一个简单的函数,将圆形(?)矩阵映射到多维数据集上,得到一个12×5矩阵,其中第五行(y = 4,因为第一行是y = 0)只是顶部的中间像素,使用哪个x坐标的问题。

int get_pixel(int x, int y){

int num = -1;

int mat = x/3;

if(y 《 3){

//bottom matrix 3x12

if(x《3){

//matrix 1

if(y==1) num = 5 - x;

else num = y * 3 + x;

}

else if(x《6){

//matrix 2

if(y==1) num = 17 - x;

else num = y * 3 + x + 6;

}

else if(x《9){

//matrix 3

if(y==1) num = 29 - x;

else num = y * 3 + x + 12;

}

else if(x《12){

//matrix 4

if(y==1) num = 41 - x;

else num = y * 3 + x + 18;

}

}

else if(y == 3){

//top matrix 3x3

if(x==0 || x==11) num = 38;

if(x==1) num = 39;

if(x==2 || x==3) num = 44;

if(x==4) num = 43;

if(x==5 || x==6) num = 42;

if(x==7) num = 41;

if(x==8 || x==9) num = 36;

if(x==10) num = 37;

}

else if(y==4){

//top middle led

num = 40;

}

return num;

}
       责任编辑:pj

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分