ハッシュタグ#obnizのツイートで動く旗

今回やること

だれかが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); } });