今回やること
だれかがTwitterでハッシュタグ “#obniz” をつけてツイートすると旗が動きます。
プログラム
TwitterのDeveloperページより各種キーを取得し、完成したプログラム 11行目〜 の <ConsumerKey>
, <Secret>
, <TokenKey>
, <TokenSecret>
の部分を、それぞれ自分の コンシューマーキー, コンシューマーシークレット, アクセストークンキー, アクセストークンシークレット に書き換えてください。
let client = new Twitter({
consumer_key: 'ConsumerKey',
consumer_secret: 'Secret',
access_token_key: 'TokenKey',
access_token_secret: 'TokenSecret'
});
以下の部分で、ハッシュタグ「#obniz」のついたツイートを監視しています。「#obniz」のついたツイートがされたら、旗が動くようになっています。
let stream = client.stream('statuses/filter', {track: '#obniz'});
完成したプログラム
このプログラムはNode.jsで書かれたものです。
const Obniz = require(“obniz”);
const Twitter = require(“twitter”);
let obniz = new Obniz(“OBNIZ_ID_HERE”);
let connected = await obniz.connectWait({ timeout: 10 });
if (connected) {
let servo = obniz.wired(“ServoMotor”, { signal: 0, vcc: 1, gnd: 2 });
servo.angle(10);
}
let client = new Twitter({
consumer_key: “ConsumerKey”,
consumer_secret: “Secret”,
access_token_key: “TokenKey”,
access_token_secret: “TokenSecret”
});
let stream = client.stream(“statuses/filter”, { track: “#obniz” });
stream.on(“data”, event => {
if (event) {
let count = 0;
let angles = [10, 50, 10, 50, 10, 50, 10];
let timer = setInterval(() => {
count++;
servo.angle(angles[count]);
if (count >= 6) {
clearInterval(timer);
}
}, 1000);
}
});
用意するもの
組み立て方
サーボモーターのライブラリを参考に、以下の表や図のように配線します。
obniz |
サーボモーター |
0 |
signal |
1 |
VCC |
2 |
GND |
サーボモーターに旗をつけて、obniz Boardのバッテリーを繋ぎましょう。
プログラム
TwitterのDeveloperページより各種キーを取得し、完成したプログラム 11行目〜 の <ConsumerKey>
, <Secret>
, <TokenKey>
, <TokenSecret>
の部分を、それぞれ自分の コンシューマーキー, コンシューマーシークレット, アクセストークンキー, アクセストークンシークレット に書き換えてください。
let client = new Twitter({
consumer_key: 'ConsumerKey',
consumer_secret: 'Secret',
access_token_key: 'TokenKey',
access_token_secret: 'TokenSecret'
});
以下の部分で、ハッシュタグ「#obniz」のついたツイートを監視しています。「#obniz」のついたツイートがされたら、旗が動くようになっています。
let stream = client.stream('statuses/filter', {track: '#obniz'});
完成したプログラム
このプログラムはNode.jsで書かれたものです。
const Obniz = require(“obniz”);
const Twitter = require(“twitter”);
let obniz = new Obniz(“OBNIZ_ID_HERE”);
let connected = await obniz.connectWait({ timeout: 10 });
if (connected) {
let servo = obniz.wired(“ServoMotor”, { signal: 0, vcc: 1, gnd: 2 });
servo.angle(10);
}
let client = new Twitter({
consumer_key: “ConsumerKey”,
consumer_secret: “Secret”,
access_token_key: “TokenKey”,
access_token_secret: “TokenSecret”
});
let stream = client.stream(“statuses/filter”, { track: “#obniz” });
stream.on(“data”, event => {
if (event) {
let count = 0;
let angles = [10, 50, 10, 50, 10, 50, 10];
let timer = setInterval(() => {
count++;
servo.angle(angles[count]);
if (count >= 6) {
clearInterval(timer);
}
}, 1000);
}
});
関連記事