====== はじめに ======
Arduinoのサンプルプログラムで最も基本的なものに,13ピンのLEDをブリンク(Blink:点灯消灯の繰り返し)を行うものがあります. まずはこの基本的なプログラムから学習してきます.Arduinoをつなぎ,下記Exampleを実行すると,ボード上のLEDが一秒おきに点滅をくりかえます.
int led = 13;
void setup() {
pinMode(led, OUTPUT); // 13番ピンを出力モードに設定
}
void loop() {
digitalWrite(led, HIGH); // 13番ピンをHighにしてLEDを点灯
delay(1000); // 1秒ここで停止
digitalWrite(led, LOW); // 13番ピンをLowにしてLEDを消灯
delay(1000); // 1秒ここで停止
}
====== 高機能LEDを使う ======
近年LED制御でしばしば利用されるモジュールがあります.テープLEDやシリアルLEDなどと呼ばれるもので, マイコン側から電源,GND,制御PINの3つの電極だけで複数のLEDを制御可能なものです.一般的にフルカラーLEDを 制御する場合,PWMピンを3本使うのがマイコンでは一般的ですが,それではたくさんのLEDを制御する場合限界が 生じます.そこでこのような高機能LEDの扱いに慣れておきましょう.ここではWS2812Bと呼ばれるモジュールを複数 利用して実際にLEDを制御してみます.
===== ライブラリの追加 =====
「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理」で表示されるライブラリマネージャの検索窓に「neopixel」と入力すると,いくつかの候補が表示されます.その中のAdafruit Neo Pixelをまずはインストールしてください.
無事にライブラリの追加ができると,ArduinoのExampleにAdafruit_NeoPixelが追加されます.この中にあるsimpleを開いてみます. 下記にsimple Exampleを簡略化したものを記述しておきます.
* Adafruit Neo Pixel
* {{:arduino:出力基礎:pasted:20180703-114018.png}}
#include
#include
#define PIN 7
#define NUMPIXELS 16
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 500; // delay for half a second
void setup() {
pixels.begin(); // This initializes the NeoPixel library.
}
void loop() {
for(int i=0;i