Pikocube是一个54像素的小LED立方体,一个ESP8285-01FWiFiMCU和一个ADXL345陀螺仪传感器。每个PCB的尺寸为25x25mm。可通过一侧的6个贴片焊盘闪光。计划是将立方体用作一个电子骰子来检测它何时被抛出,何时变得不活跃。您需要的零件5xPCB45个WS28122020LED5个0.1µF0603电容器5个10µF0603电容器5x0欧姆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坐标的问题。intget_pixel(intx,inty){intnum=-1;intmat=x/3;if(y//bottommatrix3x12if(x//matrix1if(y==1)num=5-x;elsenum=y*3+x;}elseif(x//matrix2if(y==1)num=17-x;elsenum=y*3+x+6;}elseif(x//matrix3if(y==1)num=29-x;elsenum=y*3+x+12;}elseif(x//matrix4if(y==1)num=41-x;elsenum=y*3+x+18;}}elseif(y==3){//topmatrix3x3if(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;}elseif(y==4){//topmiddlelednum=40;}returnnum;}