====== はじめに ====== 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