V1.2というモジュールです。スイッチサイエンスさんの単体販売ページに掲載されているものと同じです。Groveブザーモジュール(表)Groveブザーモジュール(裏)ブザーモジュールの動作ブザーモジュールはデジタル出力モジュールです。1(HIGH)を送るとブザーが鳴り、0(LOW)を送るとブザーが止まります。音量の調整はできません。大きな音が出るので、静かな部屋だとびっくりします。プログラム1秒間音を鳴らした後1秒間音を止めるという動作を繰り返すプログラムです。(注:A0を使うときはA1を記載します。(注:A0を使うときはA1を記載します。OUTPUT)で、GPIOピンを出力に設定しています。HIGH)でHIGHを出力して音を鳴らし、delay(1000)で1秒間待ちます。LOW)でLOWを出力して音を止め、delay(1000)で1秒間待ちます。Wikiページにはブザーでメロディーを演奏するプログラムが掲載されています。BTで動作するように、19行目のBUZZER_PINの設定をコメントアウトし、24行目でBUZZER_PINの値を変更してあります。(注:A0を使うときはA1を記載します。(注:A0を使うときはA1を記載します。)が、指定された高さの音を鳴らす関数です。‘d’,・・・で音の高さを指定します。引数durationはその音を鳴らす時間をmsで指定します。second単位で覚えています。duration)が実際に音を鳴らしている関数です。secondだけ待ちます。secondだけ待ちます。secondが非常に短い時間なので、このOn/Offの繰り返しで音の高さを調整しています。音を鳴らしている時間の調整は52行目で行なっています。実行してみると、綺麗な音ではありませんが、一応メロディーに聞こえます。BTが供給する3.3Vでは回路が壊れる可能性があります。筆者の環境では下記の内容で動作しましたが、壊れないことを保証するものではありません。V1.2というモジュールです。スイッチサイエンスさんの単体販売ページに掲載されているものと同じです。右側の黒い箱がリレーです。左にある緑色部分にOn/Offしたい機器のケーブルを接続します。ケーブルの固定は上部のマイナスネジを回して行います。リレーモジュールの動作1(HIGH)を送ると回路が接続し、0(LOW)を送ると回路を切断します。接続する回路は、リレー上面に記載されている仕様を満たしていなければなりません。リレーモジュールには回路の接続/切断状態を表すLEDが取り付けられています。回路が接続状態のときLEDが点灯し、切断状態のときLEDが消灯します。(注:A0を使うときはA1を記載します。(注:A0を使うときはA1を記載します。LOW);Serial.println(LOW);delay(1000);}1秒ごとに回路の接続・切断を繰り返すプログラムです。使ってHIGHとLOWを交互に設定しています。V1.6というモジュールです。スイッチサイエンスさんの単体販売ページに掲載されているものと同じです。黒い丸い部分がマイクで、その下にあるICはアンプです。音センサモジュールはアナログモジュールです。音の大きさに応じて出力される電圧が変化します。)関数を使って音センサーから読み込んだ値をシリアルモニタに表示するプログラムです。(注:A0を使うときはA1を記載します。(注:A0を使うときはA1を記載します。{Serial.println(analogRead(PIN));delay(100);}このプログラムを動作させると、このように数字列が表示されます。数値が激しく変化していますね。音の情報なので変化速度や変化量が大きいためだと思われます。100ms周期でデータを取るのは遅すぎるようです。Seeed社のWikiページに掲載されているプログラムは次のようになっています。5;Serial.println(sum);delay(10);}32回測定してその平均を計測結果にしています。計測は10ms周期で行なっています。これだけ短い周期で結果をシリアルモニタに出力すると、値がどんどん流れて行ってしまい、全体の傾向がどうなっているのかがわかりません。シリアルプロッタを使うと、結果をわかりやすく表示できます。シリアルプロッタを開く手順は次の通りです。シリアルモニタが開いている場合は閉じますツールメニューのシリアルプロッタを選択します。ツルーメニューでシリアルプロッタを選択シリアルプロッタには次のようなグラフが表示されます。R2のピン配置NefryBTには2種類のリビジョンがあります。:クラウドファンディングで販売されたリビジョン。:2018年1月頃から販売されているリビジョン。R1とR2の見分け方はドットスタジオのページに記載されています。R1とR2では若干PIN配置が異なります。R1のPIN配置図は公式ドキュメントに記載されていますが、R2のPIN配置図は現時点(2018年2月12日)ではまだ記載されていないようです。そこで勝手に非公式PIN配置図を作ってみました。A0ソケットは、A0が配線されているはずのピンにA1が配線されています。プログラムでピン番号を指定する際に、ボタン、アナログセンサ、LEDといった信号線を1本しか使わないGroveモジュールを使う場合はA1を指定します。I2Cセンサのように信号線を2本使うモジュール場合はA1とA0を指定します。Converter)はADC1とADC2の2系統あります。ADC2はWifiが動作状態にあると使用できないという制限があります。NefryBTのプログラミング環境ではADCm_nという定数は定義されていません。上図では、アナログ入力に使えるソケットを判別できるように補足情報として記載しています。購入したので、引き出しにずっとしまったままのGROVE-スターターキットV3のモジュールをつなげて動作を確認してみることにしました。確認ができたモジュールの記事を順次掲載していきます。この記事は概要説明と、各モジュールの記事へのリンクを記載しています。製造・販売しているIoTデバイスです。下記のような特徴があり、IoT初心者にも経験豊富な人にも使いやすいデバイスです。CPUとしてESP-WROOM-32を使用しているので、WifiとBluetooth接続ができる。Groveソケットを搭載しているので、半田付けやブレッドボードなしでGrove規格のセンサーやアクチュエーターを接続できる。Serverが動作しコンソール画面がWebページとして用意されているので、webブラウザを使ってWifiの設定やプログラムの書き込みができる。小型の液晶ディスプレイを取り付けると、起動状況やWifi接続状態が表示されるので、動作状態の確認が簡単にできる。BTの詳しい解説は、こちらに掲載されています。BTはドットスタジオのネットショップで販売されています。BTにはクラウドファンディングで販売された無印版(R1と呼ばれる場合もある)と改良版のR2とがあります。R2ではGroveソケット名が変更されています。プログラムでソケットを指定する際注意が必要です。スターターキットV3」です。スタータキットV3このキットはArduinoに接続して使うことを想定して作られており、ArduinoにGroveソケット群を付け加えるためのシールド(ドーターボード)と、次のようなGroveモジュールが入っています。音センサタッチセンサボタンボリューム温度センサLEDソケット+LED(青、緑、赤)サーボモータRGBバックライト液晶モジュールどのモジュールも4ピンのGroveソケットが付いていて、Groveケーブルで簡単に接続することができます。接続実験の記事へのリンク実験を行なって記事を書いたモジュールにリンクをつけていきます。vol2」を聴講しました。参加前に抱いていた予想が大幅に覆されたので、とても面白い勉強会でした。VM上で動作するプログラミング言語で、関数型、actorによる並行処理といった特徴をもっています。・関数型信教者や並行処理大好き人間が参加する・並行処理のディープな話題が議論される・実業務よりも言語仕様に意識が行っていると思っていました。・実業務でrubyを使っている人が多い・オブジェクト指向(ruby)から関数型への乗り換えはそれほど困難を感じていない。何、それ美味しいの?という感じでした。オーソドックスな言語から関数型言語への移行障壁はとても高く、普及には長い時間がかかると思っていましたが、実際はそうでもないようです。毎年新しいフレームワークが登場するwebアプリ業界の住人は、新しい考え方を取り込むのに抵抗がないのかもしれません。2018年7月8日ADATAのSSDを修理のために台湾に送ってみた概要ADATAのSSDに不良セクターが出来て修復不能になりました。3年保証が付いていてまだ1年半しか使っていなかったので、台湾のADATAに直接送って修理してもらいました。SSDを郵便で送ってから修理品が返って来るまで約20日で、かかった費用は日本から台湾への郵便代630円だけでした。郵送には郵便局の国際eパケットというサービスを使いました。Updateを行なったらディスクアクセスが延々と続き、放置していたら数時間後にリブートして、「起動ディスクが見つかりません」状態になりました。BIOSの設定画面でディスクを選択しなおして再起動したところ、起動はできましたが、数分すると「システムファイルがない」というエラーが出てOSがクラッシュしました。SSDの修復ツールで調べてみたところ、修復不能なほど不良セクターができていました。Updateが正常に動作しなかったのかどちらかわかりませんでした。販売店のサポートページを見てみた購入時のSSDの箱に3年保証と書いてあったので、販売店に問い合わせてみることにしました。購入したのはドスパラで、サポートページを見ると国内代理店のある輸入商品は代理店サポートと書いてあるので、ADATAのサポートページを見ることにしました。国内代理店のない輸入商品などはドスパラ商品サポートセンターで対応になり、ドスパラに問い合わせればよかったのかもしれません。ADATAのWebページで問い合わせしてみたwww.adata.comを開くとwww.adata.com/jp/という日本語ページが表示されます。お問い合わせを選択して問い合わせページに移動し、「質問のカテゴリ」で「テクニカルサポート」を選択すると問い合わせフォームが表示されます。このフォームに必要事項を日本語で記入して送信したところ、翌日、サポートから下記の返事がきました。出すのはRMAという窓口ということです。ドスパラは対応してくれないとこの時点では思っていたので、製品の写真を添付して「あなたのサポートが必要です」という返事を送りました。すると「製品を台湾に書留郵便で送れ」という返事がきました。国際宅配便や郵便局の各種サービスを調べてみた結果、国際eパケットというサービスが安くてよさそうだということがわかりました。・書留便にできる・値段が安い・日本と相手国の間は航空便なので速い・必要な書類(税関申告書やインボイスなど)をPCで印刷できるという点に魅力を感じでこのサービスを利用することにしました。・アカウントを登録する・必要書類を郵便物に貼り付けるビニール袋(パウチ)を請求する。・必要書類をWebページで作成し印刷する・必要書類をパウチに入れて郵便物に貼り付け、郵便局に持って行くです。パウチは申し込んでから1週間ぐらいで届きました。必要書類は、送り状とINVOICEを作成しました。郵便局に持って行って「国際eパケットを送りたいのですが」と言ったら、「中身はなんですか?」と聞かれ「ハードディスクみたいな物です」と答えたらそれ以上は聞かれずに発送の手続きをしてくれました。郵送料は630円でした。日本から台湾までの郵送時間7月21日に東京から発送し、台湾のADATAには7月25日に到着しました。5日で届いたことになります。荷物がADATAに到着してから1週間ぐらいたっても何の連絡もないので、こちらから問い合わせをしようかと思っていたら、8月2日に「修理した製品を送ります。14営業日ぐらいで受け取れます」という連絡が届きました。受け取り8月9日に自宅に届きました。台湾から日本への郵送時間は8日ということになります。14日よりだいぶ早く届きました。学んだこと今回のSSD修理で下記のことを学びました。日本から台湾への送り状で分類をギフトにしないで価格を記入したので台湾側で税金を取られたかもしれない。(ADATAさんごめんなさい)最初からドスパラに頼んだ方が早かったかもです。無事に修理してもらえてハッピーです。2017年8月1日VBAのクラス内でエラーが発生した場所を知る方法エクセルのVBAでプログラムを書くことがあるのだが困っていることが1つある。自分で定義したClassを使うときに、classのメソッド内でエラーが起きると、その場所ではなくメソッドを呼び出した場所でVBAのIDEが停止してデバッグモードに入る。どこでエラーになっているのかさっぱり分からなくて頭を抱えてしまう。困った仕様だなーとずっと思っていたが、ふと検索してみたら、設定で変えられることがわかった。クラスモジュールの内部でデバッグする方法なぜ、エラー発生場所で止まるのをデフォールトにしておいてくれないのだろうか。2017年7月31日どう協力したらいいのかわからない品川シーズンテラス前の歩道。耳の中でパチンと音がしたら即病院へ健康診断で発覚した「右耳は低音が聞こえていない問題」は、いろいろ検査した結果「外リンパ瘻(ろう)」が原因だろうということになりました。外リンパ瘻は、重いものを持ち上げたりトイレでいきんだりしたときに、中耳と内耳の間の壁に穴があいて外リンパ液が漏れ出す病気です。難聴、耳鳴り、めまいなどの症状がでます。)発症後1週間以内ぐらいに安静治療や手術をすれば、症状がなくなりますが、治療しないで放置すると難聴は治らなくなるそうです。この点は突発性難聴と似ています。穴があいたときに耳の中でパチンと音がする場合があるので、「パチンと音がしたあと、難聴、耳鳴り、めまいがでた」場合はすぐに大きな病院に行きましょう。私の場合、もともとメニエールになっていてめまいや耳鳴りがあったので、外リンパ瘻になったことに気づかず、治療が遅れてしまいました。低音が聞こえない状態になっていて回復が困難な状況になっています。左耳が聞こえているので日常生活に支障はありません。