下午好,亲爱的读者,我想向您介绍我的基于Arduino Pro Mini控制器的自动楼梯照明项目版本。也许对于某人而言,这篇文章将成为他们自己项目的基础,但是对我来说,阅读评论中的严格批评将是一件很高兴的事情。项目目标:在以下条件下将楼梯照明安装在二楼。- 自动化只能在黑暗中进行。
- 打开上一步后,梯形图的每个步骤都会突出显示。
- 步骤从底部到顶部突出显示,反之亦然。
- 完全照明的楼梯有时间储备。
准备安装
我使用了熟悉的Arduino Pro Mini作为控制器。首先,关于楼梯本身,台阶数为11,宽度为550 mm。总共需要6 m的LED灯条(订购2个5 m的5050 SMD),防护等级为IP67(即防尘和防水),这样您就可以擦拭灰尘,而不用考虑是否受到电压或损坏胶带。连接5米长的LED灯条后,流过的电流仅为2.5 A,也就是说,对于6米长的LED灯条,需要36 W电源。选择取决于中国电源12 V 8.3 A 100瓦。当然很多都是100,但是另一个项目需要12 V,所以我连接了它。我使用了一个简单的降压电路,该电路使用L7805CV稳压器和两个0.1 F和0.33 F陶瓷电容器作为控制器本身以及传感器的电源(5 V电源)。作为运动感应传感器,他停下了HC-SR04超声波传感器,因为它们会发出一束窄的超声波脉冲,您可以调整响应距离。因此,可以设置为跟踪第一步和最后一步中动量的交点。详细介绍一下特性,连接方法,传感器的原理,我在互联网上看不到关于它们的很多信息。借助于分压电路也可以非常简单地解决测量照明的问题,在分压电路中,Gl5516光敏电阻被用作可变电阻器。接下来,考虑用于步骤的11个数字触点,用于两个传感器的4个触点和用于测量照明的一个模拟触点的触点数量。总共15个数字,这没有给我们Arduino。我三思而后行,我使用了74NS595N芯片,或者说是两个移位寄存器的级联来增加Arduino数字输出的数量。阅读业余无线电发烧友的文献和观点之后,我在第一个寄存器STcp的第12脚上放置了一个0.1 F的陶瓷电容器,以最大程度地减小施加“捕捉”脉冲时的噪声。当我在“桌上”测试级联时,它确实可以在电容器上更好地工作,尤其是当我第一次为微电路供电时。将轻负载(例如LED)连接到Arduino是一回事,另一件事是连接500-550 mm长的一块LED灯条(Arduino数字输出的最大电流为40 mA)。事实证明,ULN2003A芯片(达林顿组件)对我来说更容易使用,通过其一个输出的最大电流为0.5 A.我要注意,第二个传感器的Echo引脚连接到Arduino的第13引脚,控制器本身的LED位于该引脚上。为方便起见,在满足条件“是否足够黑以启动轮询传感器?”时立即执行此操作,第13个触点上的LED开始闪烁。我在Sprint-Layout中画了画板。他强调要拆除微电路和控制器,焊接SCS-14和16个插座,以及PBS 2×12 2.54板上的插座。唯一的缺点是使74NC595N芯片的支脚朝另一个方向弯曲。素描
编译草图时,仅使用了一个超声波库(用于HC-SR04传感器),可以省去。由于必须以某种方式将两个字节加载到移位寄存器的级联中,因此我不得不修改位操作(在草图中我做了清楚的解释)。草绘// *** V1***
//
#include "Ultrasonic.h"
//
#define Trig_1 10 // .
#define Echo_1 11
#define Trig_2 12 // .
#define Echo_2 13
#define Ds 8 // Ds/SDI 75HC595N_1.
#define STcp 7 // STcp/RCLK 75HC595_1, 2.
#define SHcp 6 // SHcp/SRCLK 75HC595_1, 2.
#define LDR A0 // .
Ultrasonic Sensor_1(Trig_1, Echo_1); // .
Ultrasonic Sensor_2(Trig_2, Echo_2); // .
//
const int Limit = 100; // .
const float Min_Disrance = 50.0; /* ,
55 .*/
boolean Up_Sensor_Started = false; // .
boolean Down_Sensor_Started = false; // .
const int Read_Delay = 50; // .
unsigned int leds = 0; // .
const int N = 10; /* .
! 14- 2 .*/
const int T_Ladder = 3000; // .
const int T_Stair = 500; // .
void setup()
{
pinMode(Ds, OUTPUT);
pinMode(STcp, OUTPUT);
pinMode(SHcp, OUTPUT);
// Serial.begin(9600); // 9600 .
}
void loop()
{
int LDR_Value = analogRead(LDR); // .
// Serial.println(LDR_Value); // 0 1023.
if(LDR_Value < Limit) // " ?".
{
Down_Sensor(); // .
if(Down_Sensor_Started) // .
// , ...
{
Down_Sensor_Started = false; // .
Up_Sensor_Started = false;
Turing_Upward(); // .
}
else
// ...
{
Up_Sensor(); // ...
if(Up_Sensor_Started) // .
// , ...
{
Down_Sensor_Started = false; // .
Up_Sensor_Started = false;
Turing_Downward(); // .
}
}
delay(Read_Delay); // .
}
}
//
void Up_Sensor()
{
if((Sensor_1.Ranging(CM) < Min_Disrance) && (Sensor_1.Ranging(CM) > 0))
// , ...
{
Up_Sensor_Started = true; // .
}
}
//
void Down_Sensor()
{
if((Sensor_2.Ranging(CM) < Min_Disrance) && (Sensor_2.Ranging(CM) > 0))
// , ...
{
Down_Sensor_Started = true; // .
}
}
//
void updateShiftRegister()
{
digitalWrite(STcp, LOW); // .
byte First = lowByte(leds); /* ,
shiftOut 8 .*/
byte Second = highByte(leds);
shiftOut(Ds, SHcp, MSBFIRST, Second); // 1- .
shiftOut(Ds, SHcp, MSBFIRST, First); // 2- .
digitalWrite(STcp, HIGH); // .
}
//
void Turing_Upward()
{
for (int i = 0; i <= N; i++)
{
bitSet(leds, i); // N 1 ( HIGH).
updateShiftRegister(); // .
delay(T_Stair); // .
}
// Serial.println(leds, BIN); // .
delay(T_Ladder); // .
leds = 0; // .
updateShiftRegister(); // .
}
//
void Turing_Downward()
{
for (int i = N; i >= 0; i--)
{
bitSet(leds, i); // N 1 ( HIGH).
updateShiftRegister(); // .
delay(T_Stair); // .
}
delay(T_Ladder); // .
leds = 0; // .
updateShiftRegister(); // .
}
安装功能
现在,关于安装,最好将LED灯带放置在专门为其创建的轮廓中,但是成本很高。我拿起12×12通道电缆,用炽热的文工刀切断了多余的电缆,然后发生了以下情况。为了隐藏HC-SR04传感器,我找到了一个20毫米的IEK盒子。屏蔽层的安装也不困难,因为螺钉接线端子的安装是预先计划在板上的。总结
最终的项目满足了所有任务,在自动化操作过程中,未发现任何故障或注释。我认为,唯一的办法是使防护罩更紧凑,并完全撬开手以将其关闭。套餐捆绑
Arduino Pro Mini Atmega 328控制器5V 16MHz | 1个 |
超声波传感器HC-SR04 | 2 |
电源12 V 8.3 A 100 W | 1个 |
LED灯条5050 SMD 5 m IP65 | 2 |
芯片74NS595N | 2 |
集成电路ULN2003A | 2 |
PBS 1×40 2.54插槽 | 1个 |
MGShV线0.75 | |
PUNP电缆2×2.5 | |
电话电缆SHTLP-4 0.12×7 | |
1个单极断路器 | 1个 |
单极断路器10 A | 1个 |
光敏电阻Gl5516 | 1个 |
稳压器L7805CV | 1个 |
陶瓷电容器0.33 uF | 1个 |
陶瓷电容器0.1 uF | 2 |
10k欧姆电阻 | 1个 |
SCS-14芯片插座 | 2 |
SCS-16插座 | 2 |
配电箱IEK 20毫米 | 2 |
两芯螺钉式接线端子 | 13 |
玻璃纤维95×105毫米 | |
纺织 | |
通过通道端子的SRK | 12 |
电缆通道12×12×2000 | |
电缆通道16×16×2000 | |
消耗品(热熔胶,瞬间结晶胶,焊料,松香,TAGS助焊剂) | |
紧固件(螺栓,螺母,螺钉,销钉,夹具) | |
谢谢您的关注。