迷你夜灯

2020-07-309425
精华项目
AI 快速预览详细 收起
本项目介绍了如何使用Arduino Pro Mini、LDR(光敏二极管)和LED制作一个迷你夜灯。所需材料包括Arduino Pro Mini、黄铜线、LDR、蓝色LED、18欧姆电阻和100k欧姆电阻。通过连接这些元件并编写代码,可以实现当环境光线变暗时LED亮起,光线充足时LED熄灭的效果。整个过程简单易懂,适合初学者和STEM教育场景。

迷你夜灯

迷你夜灯图3

这个项目的灵感来自Mohit Boite。电子世界浩瀚无边,为了探究一二,我制作了一个由Arduino微控制器控制的小型灯具--迷你夜灯。

这个创意很简单,只需要一个LDR(光敏二极管)、几个LED和几个电阻。

当然啦!还有我们的核心部件,Arduino控制板。

在这个项目中,我选用的是Arduino Pro Mini。

所需材料:

  1. Arduino Pro Mini
  2. 黄铜线
  3. LDR(光敏二极管)
  4. 2个蓝色LED
  5. 2个18欧姆电阻
  6. 1个100k欧姆电阻
  7. 铜线

第1步:原型搭建

迷你夜灯图4

用一个Arduino Pro Mini,按上图所示连接好。

我已经把这个项目的完整代码上传到附件里。

第2步:编写代码

迷你夜灯图8

在代码中,基本的逻辑是当你把灯放在一个黑暗的地方,它会变亮,当有光照在它上面时,它就会变暗。


下载附件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步:制作框架

迷你夜灯图9 迷你夜灯图10 迷你夜灯图11
迷你夜灯图12 迷你夜灯图13 迷你夜灯图14
迷你夜灯图15 迷你夜灯图16
  1. 裁剪出8段1英寸长的黄铜线用来制作主体kuang j顶面和底面。
  2. 把裁剪出黄铜线焊接成两个正方形。
  3. 测量一下Arduino板子的尺寸,我测出来是0.7 x 1.2英寸。
  4. 根据Arduino尺寸,裁剪出4段1.2英寸的黄铜线。
  5. 把这些黄铜线与两个正方形焊接成一个长方体。

这样主体框架就搭好了。

第4步:自由连接

迷你夜灯图17 迷你夜灯图18 迷你夜灯图19
迷你夜灯图20 迷你夜灯图21 迷你夜灯图22
迷你夜灯图26 迷你夜灯图27

图示步骤非常简单,把框架当作地,其余当作VCC,但模拟引脚必须直接连到LDR(光敏二极管)的输出。

  1. 完成LED连接,为安全起见,添加18欧姆限流电阻。
    我使用引脚11作为我的数字开关,但你也可以使用引脚6,因为我已经在代码里同时支持引脚6。

  2. 将100k欧姆的电阻从任何VCC连接至引脚A0,然后从A0将LDR(光敏二极管)连接至接地。

第5步:电源连接

迷你夜灯图28 迷你夜灯图29 迷你夜灯图30
迷你夜灯图31 迷你夜灯图32

一共有两个连接点,一个与主体框架(GND)连接,另一个与靠近底面的VCC连接。

为了将PCB连接到主体框架,请使用铜线将PCB右侧的一个接地引脚连接到主体框架。

第6步:制作底座

迷你夜灯图5

迷你夜灯图23 迷你夜灯图24 迷你夜灯图25
  1. 找一块5毫米的亚克力板和一根USB电缆底座。
  2. 从亚克力板上裁剪下一个边长为1.4英寸的正方形。
  3. 用半径为1.5mm的钻头钻两个孔,用于VCC和接地的插座。
  4. 把USB电线接到铜线上并插入插座,然后粘在ya板上。

这样底座就做好了。

第7步:制作外灯罩(可选)

迷你夜灯图6

迷你夜灯图33 迷你夜灯图34 迷你夜灯图35
迷你夜灯图36 迷你夜灯图37 迷你夜灯图38

取一块半透明的亚克力板,裁剪出1x1英寸的正方形,用垂直连接的大头针把它们粘上。

第8步:制作LED内灯罩(可选)

迷你夜灯图39 迷你夜灯图40 迷你夜灯图41
迷你夜灯图42 迷你夜灯图43 迷你夜灯图44
迷你夜灯图45 迷你夜灯图46 迷你夜灯图47
迷你夜灯图48 迷你夜灯图49 迷你夜灯图50

如果你不喜欢外灯罩,那么你也可以选择做一个小型内灯罩。

只需裁剪一块足以从两侧大致覆盖LED的亚克力板条,然后用热空气加热使其弯曲。现在离成功只有一步之遥了,只需用更小的亚克力切片从两边挡住金属条。

第9步:大功告成

这就是我们最终的成品了。

第10步:效果测试

迷你夜灯图7

第11步:视频欣赏


英文链接:MINI Night Lamp
英文作者:akshar1101 [YouTube]
中文翻译:fibx
迷你夜灯图2


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(10)
堆栈溢出
堆栈溢出
用追光小虫的电路,arduino都不用吧。。
堆栈溢出
堆栈溢出回复帅猫
追光小虫的电路,就是光敏+PNP三极管,LM358这种芯片都不用。。
帅猫
帅猫回复堆栈溢出
LM358+光敏传感器,连追光小虫都用不到
TuTu
TuTu
不放灯罩的话感觉很有设计感 加了灯罩光线又很柔和 难以取舍
诩
这要是晚上出去的话,最适合带着个啦
DFHJM_IpFmV
DFHJM_IpFmV
不错不错,如此简单的材料竟能做出这么受人欢迎的迷你夜灯
MOKfcGBj
MOKfcGBj
厉害呀
DFS1w2cb8o8
DFS1w2cb8o8
厉害厉害
visionsl
visionsl
不用外壳比较好看
帅猫
帅猫
这么小用个ATTiny85差不多吧
20060606
20060606
好好好好好好好好好好好好

gray6666
gray6666
可以用LED多摆几个造型出来
- 没有更多了 -