YouTubeとInstagramのフォロワーカウンターを作ってみた
どうも、YuTR0Nです。
YouTubeの登録人数とInstagramのフォロワー数を壁とかに表示できたらかっこよくないですか?かっこいいですよね?!
今回はESP8266とMAX7219タイプのLEDを使ったお手軽な電子工作をしていきます。
このnoteは有料ですがすべて読むことができます!
これは実質無料...これからも日本語で記事のでてない面白い工作を見つけたら記事にしたいなと思うので気に入った場合購入してくださると嬉しいです。何卒。
まずはじめに用意するもの
必須なのがESP8266とMAX7219LEDで、それ以外にあると便利なものも紹介しておきます。
ESP8266 (Amazon)
ESP8266 (AliExpress)
MAX7219タイプのLED 8x8タイプのものを4つもしくは8x64
MAX7219 1個 (AliExpress)
時間はかかりますが1個106円なのでかなりお得です...私はこれを買って半田付けしてつなげました。MAX7219CWG1852が搭載されているものを使いました。MAX7219CWG1916が搭載されているタイプだと文字化けのような感じになってしまいました。ライブラリ的にはMAX72XXなのでいけそうな気もしますが...。
MAX7219 8x64タイプ (Amazon)
さて、ここから紹介するのがあると便利なものです。
はんだごてセット
今回丁度いい機会だったので一式新調しました。コテ周りのものがある程度揃うのでおすすめです。ホームセンターでもこの商品は取り扱ってると思います。
ジャンプワイヤ
そこらのコードでもいいのですがハンダが面倒な場合はこちらがおすすめです。
Ender 3 Pro (3Dプリンタ)
これはあると便利です。Ender 3/3 Proはエントリーマシンとして有名な3Dプリンタです。モーターの音を静音化させたい方はブログ記事を参考にしてみてください。3D Touchの導入は現時点では考えてないのでCreality純正ボードの載せ替えでの方法です。
さて、ここまで揃えたらあとは軽い工作とパソコンをカタカタするだけです!
まずは配線!
配線とはいうもののそこまで難しくはありません。小学生ならできると思います。
1.まずはLEDの配線を行います。4個つながっているタイプを買った場合はすっ飛ばして構いません。
それぞれのLEDをはんだ付けしていきます。それぞれのLED基盤にはんだ付けしてから曲げると最悪基盤が折れるのである程度ペンチなどで曲げてあげるとGood。くれぐれも違う向きでくっつけないこと。
2.お次はESP8266の組み立て。付属のピンをお好きなタイプを選んでぶっ刺してはんだ付けしてください。
3.ESP8266とLEDを合体!
そう、この作業をするときにジャンプワイヤが便利です。
[MAX7219]VCC→紫→[ESP8266]3V3
[MAX7219]GND→青→[ESP8266]G
[MAX7219]DIN→緑→[ESP8266]D8
[MAX7219]CS→黄→[ESP8266]D7
[MAX7219]CLK→橙→[ESP8266]D6
コードの書き換え
公式サイトからArduinoをダウンロードしてください。
書き込むコードはこちらにあります。
基本的にこの方のコードを書き換える必要はありません。
こちらのCodeボタンからZIPファイルで保存してください。theSwedishMaker.hも必要なファイルです。
ダウンロードが終わったら両方Arduinoで開いてください。
TheSwedishMakerさんのコード内で書き換えが必要なのはWi-Fi情報、YouTube Data API v3キー、YouTubeチャンネルURL、InstagramIDのところです。
1.YouTube Data API v3でAPIキーを取得
以下のAPI_KEYの ********の部分にGoogle Cloud Platformから取得したキーをコピペします。ログインするGoogleアカウントはYouTubeのチャンネルを管理してるアカウントでなくても問題ありません。
#define API_KEY "********" //Your Youtube API-Key
#define CHANNEL_ID "Youtube Channel ID" // Your youtube channel ID.
画面上部の検索欄でYouTubeと検索してください
以下のYouTube Data API v3の画面に切り替わるので有効にするをクリック
認証情報を作成からAPIキーを選択してクリック
作成後APIキーが表示されるのでこちらを先程の*****の部分にコピペしてください。(モザイクをかけてある部分)
2.YouTube Channel IDの取得
まずはYouTubeの設定を開いてください。
次に設定画面から詳細設定を表示するをクリックしてください。
そうするとチャンネルIDが表示されるので先程同様****の部分にコピペしてください。
3.Instagramの設定
Instagramは至って簡単です。私の場合はInstagramのIDはpsych0h3adなので以下のように書き換えればOKです。
String userName = "psych0h3ad"; // Your Instagram Username
4.Wi-Fiの設定
最後はWi-Fiの設定です。Wi-Fiルーターの裏にSSIDとパスワードが書いてあるのでそれを書いてあげればOKです。2.4GHz帯をおすすめします。
const char* ssid = "SSID"; // SSID of local network
const char* password = "PASSWORD"; // Password on network
プログラムの書き込み
まだパソコンに繋げなくてOKです。
1.とりあえずデバイスマネージャーを開く
デバイスマネージャーでボードのところを開いてどのポートに接続されているか確認します。まだmicroUSBでパソコンとESP8266を繋ぐ前のボード一覧と繋いだあとのボード一覧でデバイス名が変わるもしくは増えるはずです。これはArduino UNO R3をつなげた際の画面ですがESP8266だととりあえずここに何かが現れてるはずなのでそのCOM番号を覚えておいてください。
そしたらArduinoのポートから先程のものを選んであげてください。
2.その他のArduinoの設定
ESP8266を使えるように環境設定のところから以下のURLを追加してあげてください。
http://arduino.esp8266.com/stable/package_esp8266com_index.json
また、ライブラリを管理からいくつか追加する必要があります。
MD_Parola
MD_MAX72XX
InstagramaStatsおよびYoutubeApi
3.ボードを選択してあげる
今回はWeMos D1 R1だったのでWeMos D1 R1を選択しました
あとは書き込むだけです。たまにうまく行かないので複数回トライする、もしくはESP8266のつなぎ直しをしてみてください。その場合COMの番号が変わる場合があるので毎回確認してください。
書き込みは矢印マークをクリックです。書き込み中はコードを抜かないでください。エラーが出た際はたいていなにかがライブラリに足りないといったないようなので足りないと言われたものを探して追加してあげてください。
組み立て
さて、一応ここまで終わればカウンターとしては機能しますがいかんせん味気がない...そこで今回はケースを作成しました。
本当はこのあと正面に乳白色系のカバーの追加をする予定でネジ穴まで作りましたが案外LEDむき出しでもありだなと思ったので新しくデータを作り直す予定です。モデリングはFusion 360を使いました。
基本的に構造はシンプルで2つで挟み込んでネジで止めるだけです。ただ、どうもM5のめねじ側が山が消えてしまってネジがスカスカ抜けてしまうので下穴径で作ってタップを切ろうかなと思ったり。
急ぎで作ったので構造が色々無駄な部分もありますがまぁこれはこれでよし...。
フィラメントはMODOORAYのPETGを使いました。
ケースの更新はこのノートの反響次第かなと言う感じなのでぜひ購入してくださると嬉しいです。シェアも大歓迎です。
質問も可能な範囲でならお答えします。
ここから先は
¥ 750
サポートしてくださったら嬉しいです。サポート頂いたらまた更に有料Tweakなどに関する記事がはかどります!何卒!