【雕爷学编程】Arduino动手做(145)---电容无级触摸调光模块

发布时间 2023-07-01 06:06:49作者: 行者花雕

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

 

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百四十五:恒压型LED无级触摸调光PWM控制板 电容式触摸开关器模块

 

 

知识点:SGL8022W

是一款用于LED(发光二极管)灯光亮度调节及开关控制的单通道触摸芯片。

 

SGL8022W的功能特点和优势

⒈ 灯光亮度可根据需要随意调节,选择范围宽,操作简单方便。

⒉可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。

⒊ 应用电压范围宽,可在2.4~5.5V之间任意选择。

⒋应用电路简单,外围器件少,加工方便,成本低。

⒌ 抗电源干扰及手机干扰特性好。EFT可以达到±2KV以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。

 

 

 

SGL8022W的几个应用电路

⒈使用干电池或稳压源直接供电时的应用电路

 

⒉使用充电电池供电时的应用电路

⒊使用开关电源供电时的应用电路

 

TT无级触摸调光模块

【电压范围】:2.4-5V,最大输出电流:500MA

【产品尺寸】:20mm*33mm

【产品用途】:可控制LED模组、灯带、低压台灯,LED照明调光

【调光模式】:PWM调光

【接线方式】:(VCC,GND)为电源输入,(LED+,LED-)接LED灯正负级, (指纹)为接触摸区

 

 

电容无级触摸调光模块电原理图

 

电容无级触摸调光模块可以实现LED灯光的触摸开关控制和亮度调节。具有如下功能特点和优势:
⒈.灯光亮度可根据需要随意调节,选择范围宽,操作简单方便。
⒉.可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。
⒊.应用电压范围宽,可在2.4~4.5V之间任意选择。
⒋.应用电路简单,外围器件少,加工方便,成本低。
⒌.抗电源干扰及手机干扰特性好。EFT可以达到±2KV以上;近距离、多角度手机干扰情况下,
触摸响应灵敏度及可靠性不受影响。
6.安装:无需直接接触铜箔,可以隔着3mm以上的亚克力玻璃或者塑料进行调光。
7.用途:可控制LED模组、灯带等产品。适用于室内台灯,LED照明调光,DIY车灯调光改装最佳配件。
8.功能:单线触摸 ,利用电容触摸原理,感应灵敏触手可即。默认是具有开关功能、调光功能、带亮度记忆渐明渐暗的LED触摸无级调光功能。开灯时慢慢变亮,关灯时慢慢变暗,有效避免了对眼睛的刺激。
9.调光模式:无级PWM调光
10.接线方式:PCB板中(VCC,GND)为电源输入,(LED+,LED-)为接LED灯正负级 (指纹)为接触摸区,也可接线引出(注意接线不要太长,出线后推介用一块小铜皮做感应区),铜皮面积建议2x3cm左右。板上自带铜箔模块将铜箔一面贴在外壳侧。

电容无级触摸调光模块使用方法

点击触摸(触摸持续时间小于550ms)可以控制灯泡。点击一次,灯泡点亮;再次点击,灯泡熄灭。灯光的初始亮度点亮固定为整个亮度的90%。

长时间按下触摸(触摸持续时间超过550ms),即可实现无级调光。按下长时间一次,光线水平逐渐增加,释放后的光线水平在相应亮度下停放,长时间如果超过三秒,光线水平达到最大亮度不变;再次长按触摸,当你在相应的亮度释放时间内释放亮度时,光线水平逐渐下降停止,如果长时间超过三秒,达到最小亮度后的亮度水平不会改变。

电容无级触摸调光模块技术特点

一、TI触摸输入对应LED照明控制输出。有四种可选功能,由T1和T2引脚输入状态决定上电前。详情如下:

1、T1 = 1,T2 = 1:无亮度记忆,突然点亮和关闭LED触摸无级调光功能。

2、T1 = 0,T2 = 1:无亮度记忆,逐渐点亮和关闭LED触摸无级调光功能。

3、T1 = 1,T2 = 0:带亮度记忆,逐渐点亮和关闭LED触摸无级调光功能。

4、T1 = 0,T2 = 0:LED三段触摸调光功能。

二、不带亮度记忆突明突暗的LED触摸无级调光功能如下:

1、初始上电时,灯为关灭状态。

2、点击触摸(触摸持续时间小于550ms)时,可实现灯光的亮灭控制。一次点击触摸,灯亮;再一次点击触摸,灯灭。如此循环。灯光点亮或关灭时,无亮度缓冲。且灯光点亮的初始亮度固定为全亮度的50%。

3、长按触摸(触摸持续时间大于550ms)时,可实现灯光无级亮度调节。一次长按触摸,灯光亮度逐渐增加,松开时灯光亮度停在松开时刻对应的亮度,若长按时间超过3秒钟,则灯光亮度达到最大亮度后不再变化;再一次长按触摸,灯光亮度逐渐降低,松开时灯光亮度停在松开时刻对应的亮度,若长按时间超过3秒钟,则灯光亮度达到最小亮度后不再变化。如此循环。

4、点击触摸和长按触摸可以在任何时候随意使用,相互之间功能不受干扰和限制。

三、不带亮度记忆渐明渐暗的LED触摸无级调光功能是在不带亮度记忆突明突暗的LED触摸无级调光功能的基础上,在点击触摸开灯和关灯时,通过使灯光由一个较低亮度缓慢平滑过渡到开灯初始亮度,在点击触摸关灯时,使灯光由当前亮度缓慢平滑降低直至关灭,从而达到亮度缓慢变化的视觉缓冲效果,起到保护眼睛和视力的效果。

 

 

四、带亮度记忆渐明渐暗的LED触摸无级调光功能是在不带亮度记忆渐明渐暗的LED触摸无级调光功能的基础上增加了亮度记忆功能。即在电源不断电的情况下,每次点击触摸关灯时的亮度会被记忆,下次点击触摸开灯时会以此亮度作为初始亮度。在电源掉电的情况下,重新上电后的第一次点击触摸开灯,初始亮度固定为全亮度的50%。

五、LED三段触摸调光功能
1、初始上电时,灯为关灭状态。
2、每次点击触摸,灯光亮度按低亮度→中亮度→高亮度→灭依次循环变化。

六、灵敏度的调节
电容容值越大,灵敏度越高;电容容值越小,灵敏度越低。
调节触摸灵敏度参见下表:

 

七、注意:恒压的调光器输出接LED时,必须串上限流电阻!

限流电阻计算方法:R = (Vi - Vled)/ Io

其中,Vi为输入电压 ,Vled是所有LED灯的总压降,Io为灯串的总电流。计算时应该考虑Vi、Vled的浮动范围。一般电池充满电时候Vi会偏大。LED热起来后,Vled会下降!防止过电流烧毁模块或者灯珠。

 

电容无级触摸调光模块调试小提示

  如果调试时出现误触发,或者不触发,可能以下原因造成:

  a)触摸线过粗

  b)触摸线过长

  c)铜皮不够大

  d)靠近开关电源端受干扰

  e)触摸参数C1不合理

 

 

Arduino实验开源代码

 

/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百四十五:恒压型LED无级触摸调光PWM控制板 电容式触摸开关器模块

项目:触摸开关与无极调光控制LED

实验接线:模块LED+接A0,LED灯接D13

*/



int ledPin = 13;

int readValue = 0; //保存读到的模拟值

int ledValue = 0; //保存LED灯占空比

void setup(){

 pinMode(ledPin, OUTPUT); 

}

void loop(){

 readValue = analogRead(A0);//读取A0模拟口的数值(0-5V 对应 0-1204取值)

 ledValue = map(readValue, 0, 1024, 255, 0); 

// 将0到1024之间的数据映射成255到0之间的数据

 analogWrite(ledPin, ledValue);  //PWM最大取值255

}

  

项目一:触摸开关与无极调光控制LED

实验接线:模块LED+接A0,LED灯接D13

实验场景图

 

实验场景触摸开关动态图
https://imagemc.dfrobot.com.cn/data/attachment/forum/202107/17/190613i8fq8y33y8ep8pyd.gif