光センサーとNeopixelをなんとか組み合わせて使うことはできないかと思い取り組んだ。
しかし、単純に組み合わせるだけでできるはずもなく、電子回路などの知識不足を感じた。なにかアウトプットを意識していたが、知識が圧倒的に足りない。
Neopixelを光らせることはできたが、センサーと連動させることが出来ていない。光センサーも一応読み取った数値をシリアルパネルに表示させるが、明るさによって変わるわけではなく、正直何の数値を読み取っているのかわからない。
成功できなかった理由として、unitをuintとタイプミス・通信などで使われるデジタルピン0と1を使用していたことが挙げられます。
うまくいかなかったときの対処法として、うまく作動していた部分まで戻り、何が原因か一つ一つ潰していく必要がある。
こちらがコードになります
- #include <Adafruit_NeoPixel.h>
- Adafruit_NeoPixel strip = Adafruit_NeoPixel(8,3,NEO_GRB + NEO_KHZ800);
- int photoResistor =5;
- int bright;
- void setup(){
- pinMode(photoResistor,INPUT);
- Serial.begin(9600);
- strip.begin();
- }
- void loop(){
- bright = analogRead(photoResistor);
- Serial.println(bright);
- if(bright > 1000){
- colorWipe(strip.Color(50,0,0),5000);
- colorWipe(strip.Color(0,50,0),5000);
- colorWipe(strip.Color(0,0,50),5000);
- }
- else{
- colorWipe(strip.Color(0,0,0),5000);
- colorWipe(strip.Color(0,0,0),5000);
- colorWipe(strip.Color(0,0,0),5000);
- }
- }
- void colorWipe(uint32_t c, uint8_t wait) {
- for(uint16_t i=0; i<strip.numPixels(); i++) {
- strip.setPixelColor(i, c);
- strip.show();
- delay(wait);
- }
- }
コードは写真でGit上に表示するのではなく、HTMLとして表示するようにしました。本当はファイルごと?アップしたかったのですが、イマイチやり方がわからなかったです。
srctohtmlというサイトを使えばHTML以外のコードもHTMLに変換してくれます。皆さんも使ってみてください。