#include <Adafruit_NeoPixel.h>

#define NUM_LEDS 8
#define LED_PIN 2
Adafruit_NeoPixel leds(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

const int selectPins[] = {D0, D1};  // A, B
const int analogPin = A7;

void setup() {
  leds.begin();
  leds.show();
  pinMode(selectPins[0], OUTPUT);
  pinMode(selectPins[1], OUTPUT);
  analogReadResolution(14);
}

void loop() {
  // CdSごとの処理
  for (int i = 0; i < 4; i++) {
    // 4052の選択ライン設定
    digitalWrite(selectPins[0], bitRead(i, 0));
    digitalWrite(selectPins[1], bitRead(i, 1));
    delay(5);  // セトリング時間
    // アナログ読み取り
    int raw = analogRead(analogPin);
    // 明るさに変換
    int brightness = map(raw, 13000, 5000, 0, 255);
    brightness = constrain(brightness, 0, 255);
    // 対応する2つのLEDに設定
    leds.setPixelColor(i * 2, leds.Color(brightness, 0, 0));
    leds.setPixelColor(i * 2 + 1, leds.Color(brightness, 0, 0));
  }
  leds.show();
  delay(100);
}