- TINKERCADのサイトにアクセスしてログインする。
- 「新規作成」→「回路」をクリックする。
- 入れる部品の種類を「コンポーネント すべて」に切り替え、「Arduino Uno R3」「Neo Pixel Ring 16」「電位差計」(3つ) を選んで入れ、図のように配線する。
- コードを「文字」に切り替え、以下のコードをコピー&ペーストする。
- 実行してボタンを押し、3つのダイヤルを動かしてそれぞれR, G, B成分が入ったLEDが増減することを確認する。 (左から順にR, G, B成分をコントロールするもの。それぞれ一つだけをフルにすると赤・緑・青に光る。2つ混ぜるとシアン(水色)・マゼンタ(紫)・黄色、3つ混ぜると白になる)
- 名前を「課題4-1」に変更し、トップページに戻ってこの回路を公開する。

#include <Adafruit_NeoPixel.h> int diffPin[] = {A0, A1, A2}; // 電位差計につながるピン int pixelPin = 5; // NeoPixelにつながるピン Adafruit_NeoPixel pixels = Adafruit_NeoPixel(16, pixelPin, NEO_GRB+NEO_KHZ800); void setup(){ pixels.begin(); // NeoPixel開始 pinMode(pixelPin, OUTPUT); // NeoPixelにつながるピンを出力に設定 for (int i=0; i<3; i++){ pinMode(diffPin[i], INPUT); // 電位差計につながるピンを入力に設定 } } void loop(){ for (int i=0; i<16; i++){ // LEDに対する繰り返し int c[3]; // RGB成分の明るさ for (int j=0; j<3; j++){ // 色に対する繰り返し int v = analogRead(diffPin[j]); // 電位差計の値の読み込み(0~1023) int n = (v+32)/64; // それを0~16の値に変換 c[j] = 50*(i<n?1:0); // nがiより大きければ50, そうでなければ0 } // i番目のLEDの色を設定 pixels.setPixelColor(i, pixels.Color(c[0], c[1], c[2])); } pixels.show(); // NeoPixelに反映 }
