こんばんは、野良HACKむらまさです。
遅くなりましてすみません。
IoTLT Advent Calendar 2019 16日目の記事です。
クリスマスっぽくオークション/フリマサイトに某温度がブランド名の商品が出品されたらベルを鳴らす工作を作るつもりでしたが
某フリマサイトは出品検索APIを公開してなく、某オークションサイトは2018年にWebAPIサービスを終了していたため、実現できませんでした。
##数年前に買った開発キットを引っ張りだす
皆さんの家にも買ってしばらく使ってそのまま積まれてるボードや開発キットがいくつか転がっていると思います。
そんな積みボードの中でもあまり知られてない優秀なものってあるんじゃないでしょうか。
今回は数年前にお仕事でデモ機製作に使用したFaBoBrickを使用、紹介することにします。
##今回使用したキット
FaBo #002 Starter Kit for Arduino
Seeedっぽくコネクタ型I/Fを有した開発キットです。
私が持っているのはそのArduino向け開発キットの簡易パッケージです。
##キットの中身
以下のキットと各キットを接続するためのケーブルが同梱されています。
①FaBo #501 OUT/IN Shield for Arduino
Arduino用のシールド。
②FaBo #101 LED(Red)
LED(赤)。
③FaBo #103 Button
ボタン。
④FaBo #108 Temperature
温度センサー。
⑤FaBo #201 3Axis
3軸加速度センサー。
⑥FaBo #307 BLE Nordic
Nordic NRF51を搭載したBLEキット。
⑦FaBo #402 ColorLED Ring
NeoPixel。
それぞれのページにデーターシートやサンプルソースが書かれたチュートリアルのリンクが貼られています。
##試しに何か作ってみる
今回はボタンを押したらColor LED Ringを光らせてみます。
###ライブラリのインストール
カラーリングのチュートリアルに従いNeoPixelのライブラリをインストール
###ソースコード
それぞれのサンプルソースを組み合わせて少し加工しました。
#include <Adafruit_NeoPixel.h>
int ledPin = A1; // LEDピン
int numPixels = 12; // LEDの数
// NeoPixelの設定
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(numPixels, ledPin, NEO_GRB + NEO_KHZ800);
void setup() {
// ボタンピンを入力用に設定
pinMode(buttonPin, INPUT);
// LEDピンを出力用に設定
pinMode(ledPin, OUTPUT);
// NeoPixelの初期設定
pixels.begin();
pixels.show();
}
void loop(){
// ボタンの押下状況を取得
int buttonState = digitalRead(buttonPin);
// ボタン押下判定
if (buttonState == HIGH) {
// ボタンが押された場合、LED Ring(白)点灯
// LEDの色設定(今回は白)
int i;
for(i=0; i<pixels.numPixels(); i++) {
pixels.setPixelColor(i, pixels.Color(128, 128, 128));
}
// 点灯
pixels.show();
}
else {
// LED Ring消灯
pixels.clear();
pixels.show();
}
}
##動画
ほんの数分で動くものができました。かなり簡単にデモが作れました。FaBo開発キットによるデモ pic.twitter.com/solybqq1fe
— むらまさ@野良HACK (@muramasa2764) December 16, 2019
次回はネット接続可能なArduinoでちゃんとしたIoTデモを作ってみたいと思います。
皆さんもこの年末年始、積んでるキットを掘り起こしてみませんか?