arduino:出力基礎:led

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
arduino:出力基礎:led [2018/07/03 11:35] – 作成 babaarduino:出力基礎:led [2018/07/03 11:43] (現在) – [ライブラリの追加] baba
行 15: 行 15:
 } }
 </code> </code>
 +
 +====== 高機能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}}
 +
 +
 +<code c sample01.ino>
 +#include <Adafruit_NeoPixel.h>
 +#include <avr/power.h>
 +
 +#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 <NUMPIXELS; i++){
 +    pixels.setPixelColor(i, pixels.Color(0,150,0)); // Moderately bright green color.
 +    pixels.show(); // This sends the updated pixel color to the hardware.
 +    delay(delayval); // Delay for a period of time (in milliseconds).
 +  }
 +}
 +</code>
 +
 +<html>
 +<iframe width="560" height="315" src="https://www.youtube.com/embed/TnDE2Xyxd6c" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
 +</html>
  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/attic/arduino/出力基礎/led.1530585332.txt.gz
  • 最終更新: 2018/07/03 11:35
  • by baba