#include <Adafruit_NeoPixel.h>
#define NUMSLEDs 2
#define PINSLEDs 10
Adafruit_NeoPixel SLEDs = Adafruit_NeoPixel(NUMSLEDs,PINSLEDs, NEO_RGB + NEO_KHZ800);
int LED1 = D0;
int LED2 = D4;
int LED3 = D5;
int Sw1 = D6;
int Sw2 = D7;
int changeTime;
void setup()
{
Serial.begin(9600);
SLEDs.begin();
SLEDs.show();
attachInterrupt(digitalPinToInterrupt(Sw1), INT1, FALLING);
attachInterrupt(digitalPinToInterrupt(Sw2), INT2, FALLING);
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
}
void loop()
{
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
changeTime = millis();
while(digitalRead(LED3)== HIGH ){
if(millis()-changeTime > 500) digitalWrite(LED1,LOW);
if(millis()-changeTime > 600) digitalWrite(LED2,LOW);
if(millis()-changeTime > 700) digitalWrite(LED3,LOW);
delay(10);
}
delay(300);
}
void INT1() {
SLEDs.setPixelColor(0, SLEDs.Color(255, 0, 0)); // read
//SLEDs.setPixelColor(0, SLEDs.Color(0, 255, 0)); // green
//SLEDs.setPixelColor(0, SLEDs.Color(255, 255, 0)); // yellow
SLEDs.show();
}
void INT2() {
//SLEDs.setPixelColor(0, SLEDs.Color(255, 0, 0));
SLEDs.setPixelColor(0, SLEDs.Color(0, 255, 64));
//SLEDs.setPixelColor(0, SLEDs.Color(255, 255, 0));
SLEDs.show();
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น