#include #include CapacitiveSensor cs = CapacitiveSensor(8, 7); // inputは7番ピン, outputを8番ピン #ifdef __AVR__ #include #endif const int cyanPin = 11; // the number of the pushbutton pin(cyan) const int magentaPin = 10; // the number of the pushbutton pin(magenta) const int yellowPin = 9; // the number of the pushbutton pin(yellow) #define PIN 12 int buttonState_cyan = 0; int buttonState_magenta = 0; int buttonState_yellow = 0; Adafruit_NeoPixel strip = Adafruit_NeoPixel(3, PIN, NEO_GRB + NEO_KHZ800); // IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across // pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input // and minimize distance between Arduino and first pixel. Avoid connecting // on a live circuit...if you must, connect GND first. void setup() { cs.set_CS_AutocaL_Millis(0xFFFFFFFF); Serial.begin(9600); // This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket #if defined (__AVR_ATtiny85__) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // End of trinket special code strip.begin(); strip.show(); } void loop() { long val = cs.capacitiveSensor(100); val = map(val,0,750,0,1023); Serial.println(val); // Some example procedures showing how to display to the pixels: buttonState_cyan = digitalRead(cyanPin); buttonState_magenta = digitalRead(magentaPin); buttonState_yellow = digitalRead(yellowPin); if (buttonState_cyan == HIGH) { if (val <= 333){ strip.setPixelColor(0,0,128,128); //1st led colorWipe(strip.Color(0,0,0),1); //strip.show(); } if (333 < val & val < 700){ strip.setPixelColor(0,0,128,128); //1st led strip.setPixelColor(1,0,128,128); //2nd led colorWipe(strip.Color(0,0,0),1); strip.show(); } if (700< val ){ strip.setPixelColor(0, 0,128,128); //1st led strip.setPixelColor(1, 0,128,128); //2nd led strip.setPixelColor(2, 0,128,128); //3rd led colorWipe(strip.Color(0,0,0),1); strip.show(); } } if (buttonState_magenta == HIGH) { if (val <= 333){ strip.setPixelColor(0, 128,0,128); colorWipe(strip.Color(0,0,0),1); //strip.show(); } if (333 < val & val < 700){ strip.setPixelColor(0, 128,0,128); strip.setPixelColor(1, 128,0,128); colorWipe(strip.Color(0,0,0),1); strip.show(); } if (700< val ){ strip.setPixelColor(0, 128,0,128); strip.setPixelColor(1, 128,0,128); strip.setPixelColor(2, 128,0,128); colorWipe(strip.Color(0,0,0),1); strip.show(); } } if (buttonState_yellow == HIGH) { if (val <= 333){ strip.setPixelColor(0, 90,128,0); colorWipe(strip.Color(0,0,0),1); //strip.show(); } if (333 < val & val < 700){ strip.setPixelColor(0, 90,128,0); strip.setPixelColor(1, 90,128,0); colorWipe(strip.Color(0,0,0),1); strip.show(); } if (700< val ){ strip.setPixelColor(0, 90,128,0); strip.setPixelColor(1, 90,128,0); strip.setPixelColor(2, 90,128,0); colorWipe(strip.Color(0,0,0),1); strip.show(); } } } // Fill the dots one after the other with a color void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i