|
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 6 // 定义引脚
#define NUMPIXELS 16 // 灯珠数量
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 500 // Time (in milliseconds) to pause between pixels
void setup() {
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1);
#endif
pixels.begin(); // 初始化
//将引脚2设置为输入上拉(INPUT_PULLUP)模式
pinMode(2, INPUT_PULLUP);
//将引脚13设置为输出模式
pinMode(13, OUTPUT);
}
void loop() {
// 检查引脚2的输入情况
// 将2号引脚输入赋给变量val
// 开关闭合后,引脚2将获得
// 低电平信号(val = LOW)
int val = digitalRead(2);
// 开关闭合后,引脚2将获得
// 低电平信号(val = LOW)
// 在 val = LOW时,点亮
// 引脚13旁的LED。
// 否则保持LED熄灭状态
if (val == HIGH) {
digitalWrite(13, LOW);
}else {
digitalWrite(13, HIGH);
//pixels.clear(); 熄灭所有灯珠
for(int i=0; i<NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(0, 150, 0));//设置颜色
pixels.show(); // 刷新
delay(500); // 延时时间
}
}
}
|
|