3347| 7
|
[项目] 带定时口罩杀菌灯 |
疫情期间,外出归来,总是把口罩乱放,细思不妥,可经常洗会加速口罩的老化,于是想到了做一个口罩杀菌灯,防患于未然吧。 杀菌灯的工作原理是,倒计时两分钟,然后停止,等待下一次主人按Reset按键重新开始。4位数码管会显示倒计时。 ============== 硬件清单如下: Arduino uno LED紫外线灯带 一个按键,做复位用 4位数码管 传感扩展,方便连线 ==================== 项目连线图 [mw_shl_code=applescript,false]/* * This sketch is made by gada888 * 2020-04-24 */ #include <TM1637Display.h> // Module connection pins (Digital Pins) #define CLK 2 #define DIO 3 int pitches[] = {523, 587, 659, 698, 784}; int numPitches = 5; int relayPin = 8; // The amount of time (in milliseconds) between tests #define TEST_DELAY 1000 TM1637Display display(CLK, DIO); int count = 100; uint8_t data[] = {0, 0, 0, 0}; void setup() { pinMode(relayPin, OUTPUT); } void loop() { display.setBrightness(0x0f); data[3] = display.encodeDigit(count/1 % 10); data[2] = display.encodeDigit(count/10 % 10); data[1] = display.encodeDigit(count/100 % 10); data[0] = display.encodeDigit(count/1000 % 10); display.setSegments(data); if(count <= 0) { count = 100; while(1); } else { count--; } int i; for( i=0; i<numPitches; i++){ tone(relayPin, pitches, 20000); } delay(TEST_DELAY); }[/mw_shl_code]项目代码 代码运行通过,由于没有外部时钟模块,无论是数码管的计数和灯带的delay的时间都不够精确,好在这里只要求两者时间匹配。另外灯带的控制用的是本来 蜂鸣器的语法。不过这种非常规用法并不影响效果, 效果图 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed