Fuka が 2021年05月16日15時10分15秒 に編集
初版
タイトルの変更
”obniz Board 1Y”とRFIDを使ってLED照明を点灯させてみる。
タグの変更
obnizBoard1Y
obnizIoTコンテスト
RFID
メイン画像の変更
記事種類の変更
製作品
本文の変更
# 参加に至るまでの経緯 ”obniz Board”。なんとなく名前は聞いたことがあったけど、実際に触ったことはない。そんな時に、今回のコンテストについて知りました。実際に触ってみて、どんなものなのか知りたいというのが今回の参加動機です。 # 概要 内容は至ってシンプルです。 obniz Board 1YとMFRC522ボードを接続、RFIDタグを使ってLED照明の点灯・消灯動作を行います。 # 実際に行ったこと @[youtube](https://youtu.be/YB0x_5LD4Xc) # 使用部材 | 部品名称 | 個数、その他メモ | |:---:|:---| | obniz Board 1Y | 1個。本企画にあたり、obniz 様より無償提供。 | | ジャンパワイヤー | 適宜。 | | MFRC522ボード | 1セット。 | | LED照明 | 2個 。今回はダイソーで購入したものを使用。 | # 配線図 今回は下記のように接続しました。 obniz様より使い方についてのページがありましたので、こちらを参考にさせていただきました。 [MFRC522について(obniz Part Libraryより。)](https://obniz.com/ja/sdk/parts/MFRC522/README.md) ![キャプションを入力できます](https://camo.elchika.com/b00a30b9c4b9ef2e4fd0c4fbced99b7207b77a9f/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f33313639316266322d353532392d343163372d383035302d6631303634653461393532652f35623631373531342d653939632d346537642d613234382d633132306564636363653362/) obniz Boardの、0,1,2,3,5,6を使ってMFRC522を接続。 8,9をLED照明出力用。11をブザー用としました。 # ソースコード ```obniz:MFRC522_動作プログラム <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://unpkg.com/obniz@3.14.0/obniz.js"></script> </head> <body> <h1>-検出中-</h1> <script> var obniz = new Obniz("OBNIZ_ID_HERE"); obniz.onconnect = async function () { var mfrc522 = obniz.wired("MFRC522", { cs: 0, clk: 1, mosi: 2, miso: 3, gnd: 5, rst: 6, }); while (true) { try { let litgh_time = 5000; let card_id1 = "44,112,71,41,50"; let card_id2 = "73,182,182,59,114"; let card_id3 = "51,71,176,62,250"; let card = await mfrc522.findCardWait(); console.log("カードが検出されました。"); console.log("UID : " + card.uid); console.log("PICC Type : " + card.PICC_Type); obniz.io11.output(false); //ブザー用 obniz.io11.output(true); await obniz.wait(30); obniz.io11.output(false); await obniz.wait(30); obniz.io11.output(true); await obniz.wait(30); obniz.io11.output(false); //カード判別 if (card.uid == card_id1) { console.log("OK"); obniz.io8.output(true); await obniz.wait(litgh_time); obniz.io8.output(false); } else if (card.uid == card_id2) { console.log("OK"); obniz.io9.output(true); await obniz.wait(litgh_time); obniz.io9.output(false); } else { console.log("OK"); obniz.io8.output(true); obniz.io9.output(true); await obniz.wait(litgh_time); obniz.io8.output(false); obniz.io9.output(false); } } catch (e) { console.error("カードは検出なし", e.message); } await obniz.wait(500); } }; </script> </body> </html> ``` # まとめ 今回初めて、obniz Board 1Yに触れてみました。 ブロックプログラムでは、直感的に操作ができ、今まで触れてきたプログラム環境とは大きく違い、とても新鮮な感じでした。 また、HTMLプログラムを使用することで、さらに細かく設定ができることが分かりました。 ただ私の場合、JavaScriptは今までほとんど触れたことがないので、今後身についていく事が課題となりました。 # 終わりに 本コンテスト開催にあたり、株式会社obniz様には”obniz Board 1Y”の無償提供をしていただきました。ありがとうございました。