kjakx が 2021年05月16日00時55分13秒 に編集
タイトルに誤りがあったため修正しました
タイトルの変更
obniz Board 1Yで磁気カード式照明スイッチをつくる
obniz Board 1YでICカード式照明スイッチをつくる
本文の変更
# obniz Board 1Yで磁気カード式照明スイッチをつくる
# obniz Board 1YでICカード式照明スイッチをつくる
ビジネスホテルによくあるアレが好きなので、作ってみました。 ## デモ動画 @[twitter](https://twitter.com/k_jak_x/status/1393563990429560833) ## 部品 ・obniz Board 1Y 1個 ・ブレットボード 1個 ・ジャンパワイヤ
・MFRC522(および付属の磁気カード) 1個
・MFRC522(および付属のICカード) 1個
・サーボモーター(Tower Pro SG92R) 1個 ## 設計図 ![キャプションを入力できます](https://camo.elchika.com/52f611d8e4b8938fe69d3c54b0e8bf856dc879be/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f61393536366465632d363639622d343338632d613961382d6339376364303462653731342f35323733623638642d303539302d346438392d383864342d323934363031353235633266/) MFRC522の端子は左からSDA,SCK,MOSI,MISO,IRQ,GND,rst,3.3V。 SG92Rの端子は左からGND,+V,SIG。 ## ソースコード ```html <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="https://obniz.com/js/jquery-3.2.1.min.js"></script> <script src="https://unpkg.com/obniz@3.14.0/obniz.js" crossorigin="anonymous"></script> </head> <body> <script> const obniz = new Obniz("OBNIZ_ID"); obniz.onconnect = async function() { // パーツの接続 const mfrc522 = obniz.wired("MFRC522", { cs: 0, clk: 1, mosi: 2, miso: 3, gnd: 5, rst: 6}); const servo = obniz.wired("ServoMotor", {signal:7}); // スイッチオン・オフ時のサーボモーター角度の定義 const on_angle = 100; // スイッチオン時の角度 const off_angle = 70; // スイッチオフ時の角度 // スイッチの初期状態はオフとする servo.angle(off_angle); let switch_is_off = true; // カードが検出されている間スイッチをオンに、検出されない間スイッチをオフにする while(true) { try { let card = await mfrc522.findCardWait(); // カードが検出された場合 if (switch_is_off == true) { servo.angle(on_angle); switch_is_off = false; } } catch(e) { // カードが検出されないと"card_search_ERROR"エラーが起こる if (e.message == "card_search_ERROR" && switch_is_off == false) { servo.angle(off_angle); switch_is_off = true; } } await obniz.wait(300); } }; </script> </body> </html> ``` ## 感想 obnizおもしろいですね!!!