几天前,我购买了带有蜂鸣器的三色塔灯,用于视觉和听觉警报。而且因为我’我是个大孩子,我想以警车的风格将灯光游戏作为第一个应用程序。结果将显示在本文的底部。
在进入连接和编程区域之前,我为您提供有关该产品的一些详细信息。塔灯具有三种颜色和一个蜂鸣器。塔楼可通过Arduino板,四个N沟道MOSFET或NPN晶体管以及四个电阻器轻松控制。
灯塔的品牌为Adafruit,在中国生产。至少这是在本教程中使用的产品上写的。另外,上面有一个带有中文字母的模式。谢谢你Adafruit!
我无处不在’我一直在寻找有关它如何工作以及如何控制它的信息,’ve given 本教程。本教程专用于RGB LED灯条,而较少用于灯塔。通常,Adafruit会提供出色的教程,所以我认为我不会’不必费劲打开灯。但是这次,我有点被本教程中包含连接的模式所误导。对于NPN双极晶体管(PN2222),建议您仔细查看晶体管的三个引脚的位置或使用本文中的架构。当我像Adafruit一样连接灯塔时’在NPN模式的教程中,结果是一个塔灯,它只会发出一些噪音,并且有两个灯亮着。显然,晶体管的引脚连接错误。
让’进入实用方面。
组件:
- 1 X塔灯–红色黄色绿色警示灯&蜂鸣器(我从 这里,但您也可以从 亚马孙)
- 4 X NPN双极晶体管(PN2222)(链接 亚马孙)
- 4 X 100-220欧姆电阻器(链接上 亚马孙)
- 1 X Arduino的板(我想您已经有一块,但万一我’是的,您可以从 这里)
- 一些电线(链接 亚马孙)
模式:

塔灯和Arduino模式
Arduino的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | //常量 #定义REDPIN 9 #定义YELLOWPIN 10 #define 格林PIN 11 #define 嗡嗡声 12 //变量 整型 ledDelay=50; 长 前米利斯灯 = 0; 长 整型ervalLights = 500; 长 以前的Millis温度 = 0; 长 间隔温度 = 1000; 虚空 设定() { 序列号.开始(9600); pinMode(REDPIN, 输出值); pinMode(黄针, 输出值); pinMode(格林PIN, 输出值); pinMode(嗡嗡声, 输出值); } 虚空 循环() { 未签名 长 目前的Millis = 毫(); 如果 ((未签名 长)(目前的Millis - 前米利斯灯) >= 整型ervalLights) { 红色警察灯(); 黄色警察灯(); 绿色警察灯(); //如果要打开蜂鸣器,请在此处添加代码 // AnalogWrite(BUZZ,HIGH); 整型ervalLights = 目前的Millis; } } //打开和关闭红灯 虚空 红色警察灯(){ AnalogWrite(REDPIN, 高); 延迟(ledDelay); AnalogWrite(REDPIN, 低); 延迟(ledDelay); AnalogWrite(REDPIN, 高); 延迟(ledDelay); AnalogWrite(REDPIN, 低); 延迟(ledDelay); AnalogWrite(REDPIN, 高); 延迟(ledDelay); AnalogWrite(REDPIN, 低); 延迟(ledDelay); } //打开和关闭黄灯 虚空 黄色警察灯(){ AnalogWrite(黄针, 高); 延迟(ledDelay); AnalogWrite(黄针, 低); 延迟(ledDelay); AnalogWrite(黄针, 高); 延迟(ledDelay); AnalogWrite(黄针, 低); 延迟(ledDelay); AnalogWrite(黄针, 高); 延迟(ledDelay); AnalogWrite(黄针, 低); 延迟(ledDelay); } //打开和关闭绿灯 虚空 绿色警察灯(){ AnalogWrite(格林PIN, 高); 延迟(ledDelay); AnalogWrite(格林PIN, 低); 延迟(ledDelay); AnalogWrite(格林PIN, 高); 延迟(ledDelay); AnalogWrite(格林PIN, 低); 延迟(ledDelay); AnalogWrite(格林PIN, 高); 延迟(ledDelay); AnalogWrite(格林PIN, 低); 延迟(ledDelay); } |
塔灯演示:
那’s a cool project!
我也想在我的项目之一中使用这些塔灯之一。你认为吗’在阳光直射的地方可以看见打开了什么灯?