迷你夜灯
这个项目的灵感来自Mohit Boite。电子世界浩瀚无边,为了探究一二,我制作了一个由Arduino微控制器控制的小型灯具--迷你夜灯。
这个创意很简单,只需要一个LDR(光敏二极管)、几个LED和几个电阻。
当然啦!还有我们的核心部件,Arduino控制板。
在这个项目中,我选用的是Arduino Pro Mini。
所需材料:
- Arduino Pro Mini
- 黄铜线
- LDR(光敏二极管)
- 2个蓝色LED
- 2个18欧姆电阻
- 1个100k欧姆电阻
- 铜线
第1步:原型搭建
用一个Arduino Pro Mini,按上图所示连接好。
我已经把这个项目的完整代码上传到附件里。
第2步:编写代码
在代码中,基本的逻辑是当你把灯放在一个黑暗的地方,它会变亮,当有光照在它上面时,它就会变暗。
night_lamp.zip
night_lamp.ino
int sensorPin = A0; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
// declare the ledPin as an OUTPUT:
Serial.begin(9600);
pinMode(11, OUTPUT);
pinMode(6, OUTPUT);
}
/*void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
// turn the ledPin on
digitalWrite(ledPin, HIGH);
// stop the program for <sensorValue> milliseconds:
delay(sensorValue);
// turn the ledPin off:
digitalWrite(ledPin, LOW);
// stop the program for for <sensorValue> milliseconds:
delay(sensorValue);
}*/
void loop()
{
sensorValue = analogRead(sensorPin);
if (sensorValue >= 225)
{
digitalWrite(11, HIGH);
digitalWrite(6, HIGH);
}
else
{
digitalWrite(11, LOW);
digitalWrite(6, LOW);
}
Serial.println(sensorValue);
delay(2);
}
第3步:制作框架
- 裁剪出8段1英寸长的黄铜线用来制作主体kuang j顶面和底面。
- 把裁剪出黄铜线焊接成两个正方形。
- 测量一下Arduino板子的尺寸,我测出来是0.7 x 1.2英寸。
- 根据Arduino尺寸,裁剪出4段1.2英寸的黄铜线。
- 把这些黄铜线与两个正方形焊接成一个长方体。
这样主体框架就搭好了。
第4步:自由连接
图示步骤非常简单,把框架当作地,其余当作VCC,但模拟引脚必须直接连到LDR(光敏二极管)的输出。
-
完成LED连接,为安全起见,添加18欧姆限流电阻。
我使用引脚11作为我的数字开关,但你也可以使用引脚6,因为我已经在代码里同时支持引脚6。
-
将100k欧姆的电阻从任何VCC连接至引脚A0,然后从A0将LDR(光敏二极管)连接至接地。
第5步:电源连接
一共有两个连接点,一个与主体框架(GND)连接,另一个与靠近底面的VCC连接。
为了将PCB连接到主体框架,请使用铜线将PCB右侧的一个接地引脚连接到主体框架。
第6步:制作底座
- 找一块5毫米的亚克力板和一根USB电缆底座。
- 从亚克力板上裁剪下一个边长为1.4英寸的正方形。
- 用半径为1.5mm的钻头钻两个孔,用于VCC和接地的插座。
- 把USB电线接到铜线上并插入插座,然后粘在ya板上。
这样底座就做好了。
第7步:制作外灯罩(可选)
取一块半透明的亚克力板,裁剪出1x1英寸的正方形,用垂直连接的大头针把它们粘上。
第8步:制作LED内灯罩(可选)
如果你不喜欢外灯罩,那么你也可以选择做一个小型内灯罩。
只需裁剪一块足以从两侧大致覆盖LED的亚克力板条,然后用热空气加热使其弯曲。现在离成功只有一步之遥了,只需用更小的亚克力切片从两边挡住金属条。
第9步:大功告成
这就是我们最终的成品了。
第10步:效果测试
第11步:视频欣赏
|