観覧車をつくる②
こんにちは。文理融合系女子のすしこ🍣とお茶子🍵です。
前回の記事はこちら⇒観覧車をつくる①
今回は、観覧車を光らせる装置の中身、コードの内容に触れていきたいと思います。
#include "ChainableLED.h"
int potPin = A0; // ポテンションメーターのピン(アナログ)
ChainableLED leds(4, 5, 8); // 接続ピン, 接続ピン+1, LED数
void setup()
{
Serial.begin(9600);
pinMode(potPin, INPUT);
}
void loop(){
int val = analogRead(potPin);
int led = map(val, 0, 1023, 0, 255);
Serial.println(led);
leds.setColorRGB(0,led,20,0);
leds.setColorRGB(1,50,10,led); // LED番号, R, G, B(LED番号はLEDが1個なら0)
leds.setColorRGB(2,20,led,20);
leds.setColorRGB(3,led,led,20);
leds.setColorRGB(4,led,255-led/2,led);
leds.setColorRGB(5,30,led,led);
leds.setColorRGB(6,255-led,led,0);
leds.setColorRGB(7,255-led,led,255-led);
delay(100);
}
よくわからない文字が並んで嫌になるかもしれませんが、ざっくりと解説していきたいと思います!!私たちの説明で、なんとなく「ここの文がこういう指令を出してるんだ」くらいの理解をしてもらえたら嬉しいと思います。
前半部分(初期設定の指令)
(//以降の文が説明文です。実際のコードではありません)
#include "ChainableLED.h" //3色LEDを使う宣言
int potPin = A0; // ポテンションメーターのピン(アナログ)
ChainableLED leds(4, 5, 8); // 接続ピン, 接続ピン+1, LED数
void setup()
{
Serial.begin(9600);
pinMode(potPin, INPUT);
}
ポテンショメーターのピンが捻って色を変えるものです。A0に挿して繋げるという意味。接続ピンも同じ意味です。
ChainableLED leds(4, 5, 8); // 接続ピン, 接続ピン+1, LED数
3色LED(ChainableLED)は4番に刺さってて、LEDが8個つながってることを伝えています。
void setup(){この中に設定の内容} //これが初期設定しますよという宣言。
後半部分(こっちが具体的な指令)
void loop(){
int val = analogRead(potPin);
int led = map(val, 0, 1023, 0, 255);
Serial.println(led);
leds.setColorRGB(0,led,20,0);
leds.setColorRGB(1,50,10,led); // LED番号, R, G, B(LED番号はLEDが1個なら0)
leds.setColorRGB(2,20,led,20);
leds.setColorRGB(3,led,led,20);
leds.setColorRGB(4,led,255-led/2,led);
leds.setColorRGB(5,30,led,led);
leds.setColorRGB(6,255-led,led,0);
leds.setColorRGB(7,255-led,led,255-led);
delay(100);
}
void loop(){動作したい内容} //ずっと繰り返し動作したいことを書く宣言
int val = analogRead(potPin);
// valっていう変数(入れ物)にポテンショメーターをどれだけ回したか0から1023の数字を入れる。変数というのは入れ物で仮の名だと思ってください。例えば、valではなくcatやdogにしても動きます🐈🐶
int led = map(val, 0, 1023, 0, 255);
// ledっていう変数(入れ物)に
さっきvalに入れた数を0から1023の割合を0から255に変換する
このledを後のLEDの色を決めるのに使います。
あとは3色LEDの色を一個ずつ決めていきます!!
1個目は→0番、2個目は→1番となります。ややこしい。
ここでは0番のLEDに赤をled(このledは上記の変数の入れ物のこと)の数字、緑を0、青を0にしています。
RGBというのは、Red・Blue・Greenの3つを使って色を変えていきます。色の設定は0-255まであって数が大きくなるほど明るい色になっていきます。
本当にざっくりですが、どの部分でどんなことをしているのかが、ふわっと理解してもらえたら嬉しいです。以上!!!!!!
すしこ🍣&お茶子☕