文書の表示以前のリビジョンバックリンク文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ====== はじめに ====== Arduinoのサンプルプログラムで最も基本的なものに,13ピンのLEDをブリンク(Blink:点灯消灯の繰り返し)を行うものがあります. まずはこの基本的なプログラムから学習してきます.Arduinoをつなぎ,下記Exampleを実行すると,ボード上のLEDが一秒おきに点滅をくりかえます. <code c example01.ino> 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秒ここで停止 } </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/pages/arduino/出力基礎/led.txt 最終更新: 2018/07/03 11:43by baba