$lamp 灯
产品编号:1403
¥0.00
产品分类:创意台灯
加入意向单后可填手机号提交,随时查看所选产品
点击图片可放大查看,共 3 项(含视频)
产品介绍
$lamp 灯 w. 触摸功能
这是一个我想了很久的项目,我想在办公室里做一个类似禅宗花园的东西。
设计的目的是让眼睛舒适,提供不同的照明选项。
设计的目的是易于打印和组装,无需螺丝或胶水。
唯一无法绕过的是需要一些焊接工作。
我写了一个指南让每个人都能制作,无需特殊技能。
免费版本提供一个颜色方案,如果你对商业许可证感兴趣或者只是想对我们的工作表示支持,10种颜色方案的模型,在这里购买
祝打印愉快!
部件:
Arduino Nano
TTP223触摸传感器
USB线
64个 亚克力棒棒糖棒(15厘米/6英寸)
8x8 WS2812 LED矩阵
工具:
焊接铁。
钻孔机(3毫米/0.12英寸,对不起欧洲人:P)
上传代码到arduino的电脑。
Arduino IDE软件(可以在Windows商店找到)
3D打印部件:
Frame_body
Bottom_body
LED_body
Clamp_body
S Frame
组装:
焊接
从arduino的5v焊接一条线到LED矩阵的5v和触摸传感器的VCC。
重要提示!请再次检查你是否使用了矩阵的DIN方向。
然后从Arduino的GND添加一条线到LED和触摸传感器的GND。
最后你需要添加数字信号。
一条从LED的DIN到arduino的PIN D2,另一条从触摸传感器的I/O引脚到arduino的PIN D3。
就这样!
图片展示了线的走向。
灯架
S Frame需要一些钻孔来确保棒棒糖棒能完美插入。
那么就开始从框架底部插入棒棒糖棒到S frame。
在底部对齐棒棒糖棒,使它们从S frame中突出大约3-4毫米。
然后你可以将LED_body 附在S frame的底部。
使用一张桌子或任何坚硬的平面,将S frame倒置,使得亚克力棒在表面上静止。
对亚克力棒进行最后的调整,使它们与S frame的底部对齐,然后按在LED_body上面。
现在你应该已经准备好将S frame附在灯的frame_body上了。
将Arduino添加到Bottom_body,并附上Clamp_body ,用双面胶带将触摸传感器固定在框架的前面。
然后将矩阵放在Bottom_body的顶部。
从下面插入Bottom_body 到Frame_body.
取出灯座并将其固定在顶部,确保你已经对准了底座,因为它是LED的支撑。
编程
使用USB线将arduino连接到你的电脑,并加载arduino IDE。
到工具 > 端口,找到你的arduino连接的正确com端口(通常是你看到的第一个),并选择它。
复制并粘贴下面的代码到程序中并保存。
按上传。
代码上传后,LED应该开始闪烁。
触摸按钮应该可以关闭LED。
// 由Madtrap使用fastled库编写的代码
// 它是为了适应Slamp Lamp项目而编写的
// 联系方式:https://makerworld.com/en/u/150513043
#include
FASTLED_USING_NAMESPACE
#define BUTTON_PIN 3
#define DATA_PIN 2
//#define CLK_PIN 4
#define LED_TYPE WS2812B
#define COLOR_ORDER GRB
#define NUM_LEDS 64
CRGB leds[NUM_LEDS];
#define BRIGHTNESS 96
#define FRAMES_PER_SECOND 120
void setup() {
pinMode(BUTTON_PIN, INPUT);
delay(3000); // 3秒的恢复延迟
// 告诉FastLED关于LED条带配置
FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
//FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
// 设置主亮度控制
FastLED.setBrightness(BRIGHTNESS);
}
// 列出要循环的模式。每个都定义为下面的单独函数。
typedef void (*SimplePatternList[])();
SimplePatternList gPatterns = { confetti, off};
uint8_t gCurrentPatternNumber = 0; // 当前模式的索引号
uint8_t gHue = 0; // 由许多模式使用的旋转"基色"
void loop()
{
// 调用当前模式函数一次,更新'leds'数组
gPatterns[gCurrentPatternNumber]();
// 将'leds'数组发送到实际的LED条
FastLED.show();
// 插入一个延迟以保持帧率适中
FastLED.delay(1000/FRAMES_PER_SECOND);
// 做一些定期更新
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // 慢慢地通过彩虹循环"基色"
//EVERY_N_SECONDS( 10 ) { nextPattern(); } // 定期更改模式
int buttonState;
buttonState = digitalRead(3);
if (buttonState == HIGH){
nextPattern();
delay(500);
}
}
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))
void nextPattern()
{
{
// 在当前模式号上加一,并在结束时回绕
gCurrentPatternNumber = (gCurrentPatternNumber + 1 % ARRAY_SIZE( gPatterns);
}
}
void confetti()
{
// 随机颜色的小点,它们会闪烁并平滑地淡出
fadeToBlackBy( leds, NUM_LEDS, 10);
int pos = random16(NUM_LEDS);
leds[pos] += CHSV( gHue + random8(64), 200, 255);
}
void off()
{
fill_solid( leds, NUM_LEDS, CRGB( 0, 0, 0));
}
我和我的兄弟花时间做这个是为了我们自己的享受,并想与社区分享我们的作品。
如果你喜欢我们的任何模型,我们会很欣赏你在你喜欢的模型上留言或投票。
如果你对新模型或现有模型有任何建议,总是欢迎你联系我们。
如果你想请我们喝咖啡,可以使用我们的Paypal
意向单
0
我的意向单
所有产品材质、大小、重量、颜色都可定制,价格及需求加底部微信详聊。
已勾选 0 件产品,填写手机号提交后,可随时回来继续补充。
提交后系统生成专属意向单链接,同一手机号可多次补充合并
