投稿

ラベル(arduino)が付いた投稿を表示しています

Arduinoが技適を取得した!?

イメージ
 以前からブログに書いているように、Arduino MKR WAN 1310(以下MKR WAN 1310)を使用してIoTデバイスを作成しています。 LoRaWANに興味のある人なら共感して頂けると思いますが、技適を取得しているデバイスがほとんどありません。 そんな中、MKR WAN 1310は使用しているLoRaWANのチップが村田製作所のCMWX1ZZABZなため、技適を取得済みでした。 しかし、最近2台目のMKR WAN 1310の購入したところ、技適のマークが消えている😱 公式オンラインラインストアの画像を見ても、データシートを見ても技適のマークが描かれています。 解せないので村田製作所の サイト を見ると、取得している認証一覧から技適が消えていました! どうやら、「CMWX1ZZABZ」はさらに細かい「CMWX1ZZABZ-078」「CMWX1ZZABZ-091」といった品番に分かれており、全ての品番が技適を取得しているわけではなさそうです。 経緯は分かりませんが、Arduino側が技適を取得していない方のチップに切り替えたのでしょうね。 どうしようもないので、MKR WAN 1310は諦めて代わりになりそうなデバイスを探しましたが、技適を取得しているものが全然ない・・・ 諦めかけていたその時、信じられないものを発見しました!! なんど、MKR WAN 1310が技適を 取得 しているではないですか😲 Arduino S.R.Lって何??Arduino LLCじゃないの?? と思って調べたところ、SRLがイタリアでLLCがアメリカみたい。 そして、お互いが「我こそが正当なArduinoだ」と主張して内部分裂しているそうな。 Arduinoの内部分裂について Arduinoが和解しました!【スイッチサイエンスチャンネル】 話がそれましたが、つまりArduino公式が日本の技適を取得したということで間違いないでしょう!!! 取得したのがつい先月なので、実際の製品が出るのはまだ少し先かもしれませんが、技適取得済みのMKR WAN 1310が発売されると思われます👏

ArduinoにUARTのPINを追加する

イメージ
 ArduinoのSERCOMについて調べたところ、日本語の情報がほとんどなかったので、調べたことを備忘録として書き留めておきます。 ※ 簡単に調べただけなので、内容に誤りがある可能性があります SERCOMとは何か Serial communication moduleの略であり、MCUが用意しているシリアル通信モジュールのことである。 MCUのPinをどのシリアル通信(I2C、UART、SPI)で使用するのかを定義している。 以下はArduino MKR WAN 1310のMCUであるATSAMD21のデータシートを抜粋した画像です。 このMCUには6つのSERCOMが用意されていると書いてあります。 ArduinoのPinに紐づけられているSERCOMを確認する ArduinoのPinとSERCOMが紐づけられているので、シリアル通信を使うことができます。 以下はArduino MKR WAN 1310のPin配列図ですが、どこにもSERCOMの記述はありません。 より詳細なPin配列を「 Download the full pinout diagram as PDF here. 」から確認できます。 先ほどは無かった「Sercom」が表示されています。 例えば、UARTで使用するD13とD14には「SC5」と書いてあるので、SERCOMの5番と紐づいていることが分かります。 SERCOMでシリアル通信用のPinを増やせる ArduinoはMCUのSERCOMを全て利用しているとは限らないため、未使用のSERCOMがあります。 そのため、シリアル通信以外に割り振られているArduinoのPinと未使用のSERCOMを紐づけることで、シリアル通信用のPinを増やすことができます。 例えば、Arduino MKR WAN 1310のUARTは1つ(D13とD14)しか存在しませんが、他のPinを使ってUART用のPinを増やすことができます。 ...

LP8用のプリント基板を作成

イメージ
Senseair LP8用のプリント基板を作成したので、今回はその内容になります。 ブレッドボード上では正常に動作したので、それを回路図に起こして、中国の業者に注文しました。 以前プリント基板を作成した時と同様に、回路の設計にはEAGLEを使用しました。 LP8のライブラリは存在しないため、まずはLP8のライブラリを作成しました。 LP8の寸法は公式ドキュメントに記載があるので、それを参考にしてます。 自作したライブラリを使用して作成した回路図です。 実際にプリント基板が届いてから気づいたのですが、JP1のPIN配列が逆でした😓 上記の回路図を基に作成したプリント基盤がこれです。 前回と同様に、中国のPCBWayを利用しました。 基板代が5ドル、送料が15ドル、決済手数料が2ドルで合計22ドルでした! 送料はChina Postにすれば5ドルで済みますが、1か月近くかかるため止めました。 しかし、運悪く国慶節とかぶってしまい、結局は時間がかかりました😭 8日間も休むんじゃねぇ💢💢💢 やっと届いた基盤がこれです。 今回はArduinoの色に合わせて青にしました。 早速、部品を取り付けました。 Arduino MKR WAN 1310、Arduino MKR ENVと合体!!!

懲りずにまたCO2センサーを購入

イメージ
最近CO2センサーを3つ購入したので、今回はその内容になります。 3.3V駆動のCO2センサーは少ない 左からELT Sensor社の D-300 、Senseair社の Sunrise 、 LP8 となります。 最初にD-300を購入し、Arduino Duemilanoveで動作確認したところ、正常に動きました。 次に本命のArduino MKR WAN 1310に繋いだところ、初期値の500ppmしか取得できませんでした。 あくまでも推測ですが、Arduino内部のプルアップ抵抗が悪さをしている気がします。 どうしても解決できなかったので諦めていたところ、Senseair社を知りました。 CO2センサー界隈では有名なメーカーだそうです。 そして見つけたのがSunrise! 光源にLEDを使用しているため消費電力が低い画期的な商品です。 値段も6000円ちょっとだったのですぐにポチリました。 しかし、購入後に400ppm以上しか計測できないことに気づくorz この失敗、2度目です😭 慌ててキャンセルできないか購入元のマルツオンラインさんに確認したけど、取り寄せ商品なためキャンセルできなかった💸 結局、Sunriseは一度も使うことなくお蔵入りに・・・ もうここで完全に心が折れていたわけですが、逆にどうでもよくなってLP8を購入(笑) OEM製品ですが Amazon で購入することができました! まずはブレッドボードで動作確認をしました。 Arduino DuemilanoveとLP8の間には39Ωの抵抗と、0.47Fのコンデンサーを挟んでいます。 メーカー推奨のコンデンサーは「Eaton Bussman PM-5R0H474-R」なのですが、入手性が悪かったので「 PB-5R0V474-R 」を購入しました。 コンデンサー1個をわざわざアメリカから空輸してもらうと、謎の背徳感があります(笑) 佐川さん、ごめんなさい🙇 回路とスケッチは CO2Meter.com というサイトを参考にしました。 LP8の情報はとても少なく、ましてArduinoに接続している情報は皆無だったので、凄く助かりました!! Arduino Duemilanoveで正常に動作したので、次にArduino MKR WAN 1310で試したところ、こちらも問題なく動作しました。 スケッチは...

IoTデバイスを設置

イメージ
完成したIoTデバイスをハウスに設置しました。 天気はあいにくの雨でしたが、防水仕様なので問題ありません。 実際にトマトを栽培しているハウスに設置しましたが、今回はあくまでもお試しです。 なぜお試しかというと、前日に以下の問題が発覚、発生したからです。 ・9Vの乾電池だと数時間しか持たないことが発覚   SCD30 の仕様を確認したら、消費電力が75mAもありました。  このセンサーに限らず、二酸化炭素濃度のセンサーはどれも消費電力が高いですね。 ・SCD30が壊れた  購入直後なのに壊れやがった・・・  やっぱり中国製は信用できないですね。  国内のECサイトではなく公式のECサイトで購入したので、泣き寝入りするしかない😢 お試しでしたが、LoRaWANの電波がハウスまで問題なく届くことが分かりました。 今後は以下の改善を行います。 ・ソーラーパネルで充電可能とする  乾電池ではなくリチウムポリマー電池にする。  そして、ソーラーパネルを接続して充電可能とする。 ・センサーを変更する  SCD30はすぐ壊れたのであきらめる。  代わりに「 ARDUINO MKR ENV SHIELD 」を使用する。  二酸化炭素濃度は測定できないが、温度、湿度、大気圧、紫外線強度、光度を測定できます。 まだまだ道は険しい😭

IoTのデバイスが完成

イメージ
以前の ブログ にて「Arduino MKR WAN 1310」を購入したと書きましたが、ついにデバイスが完成しましたので、今回はその内容になります。 完成したデバイス 計測できるのは二酸化炭素濃度、湿度、温度です。 温度は本体と左右の計3か所が計測でき、左右のセンサーは10mまで伸びます。 取得した値はCayenneというサービスで見える化しました。 デバイスについて リチウムポリマー電池を「Arduino MKR WAN 1310」に繋ぐと、Arduinoは動作するのに「 SCD30 」は動作せず、値が取得できませんでした。 Arduinoに繋ぐリチウムポリマー電池はあくまでもArduino本体を動作させるものであり、シールドの「ARDUINO MKR CONNECTOR CARRIER」を動作させるためには「ARDUINO MKR CONNECTOR CARRIER」のねじ端子に別途電池をつなぐ必要があるようです。 そのため、9Vの角型乾電池をつなぎました。 電池の+をVINに繋ぎましたがSCD30は動作しなかったので、5Vに繋いだら動作しました。 また、この場合はArduino側の電池は不要でした。 「ARDUINO MKR CONNECTOR CARRIER」からArduinoへ給電されているようです。 SCD30について 以前の ブログ に書きましたが、これを買おうとして詐欺にあっています😭 これ1つで二酸化炭素濃度、湿度、温度を計測できる優れもの! ただし、二酸化炭素濃度は150~200ppm程高い気がします。 自動キャリブレーションがあるようなので、そのうち正しい値に近づくと期待しているのですが、マニュアルには7日間かかると書いてある・・・ また、温度は1~2度程高い気がします。 おそらく二酸化炭素濃度を計測する際の熱で誤差が生じていると思います。 DS18B20について 左右用の温度センサーは Amazon で購入しました。 10mの長さがあるのは珍しいので、とても貴重です! センサーはDS18B20であり、精度に問題はないと思います。 以前の ブログ に書きましたが、DS18B20はプルアップ抵抗が必要なのでプリント基板を作成しています。 後で知ったのですが、Arduinoにはプルアップ機能が内蔵されているそうです・・・ 「 意外と知られていな...

Arduino MKR WAN 1310を購入!

イメージ
IoT用に購入したデバイスが届いたので、今回はデバイスをTTNへ接続する内容になります。 デバイスについて ArduinoのLoRaWAN用「 Arduino MKR WAN 1310 」と、Groveコネクターを使えるようにするシールド「 ARDUINO MKR CONNECTOR CARRIER 」を本家のECサイトで購入しました。 左が「MKR CONNECTOR CARRIER」、右が「MKR WAN 1310」 「MKR CONNECTOR CARRIER」と「MKR WAN 1310」を合体 お値段はアメリカからの送料込みで$59.64でした。 Amazonなど他のECサイトでも売っていますが、本家で買うとアンテナが付属するので、本家で購入しました。 ただし、アメリカから届くのに2週間かかりました。 スケッチ Gatewayへ接続するのに必要なスケッチは本家の サンプルスケッチ を使用し、ビルドエラーの解決方法などは以下のブログを参考にしました。 LoRaWAN 対応 ARDUINO MKR WAN 1300 を使ってみた 環境構築編 LoRaWAN 対応 ARDUINO MKR WAN 1300 を使ってみた ゲートウェイ接続編 福岡市LoRaWAN 先人の知恵に感謝!! ※ サンプルスケッチのアクティベーション方式はOTAAなのでABPは使えません TTNにデバイスを登録 まずはアプリケーションを追加します。 ハンドラーは「ttn-handler-asia-se」を選択します。 アプリケーションにデバイスを登録します。 注意するのはデバイスEUIくらいです。 MKR WAN 1310のデバイスEUIはシリアルモニターから確認できます。 デバイスからTTNへの接続が成功すれば、ステータスに接続から経過した時間が表示されます。 技術基準適合証明との闘い 日本で電波を発生させる機器を使うためには、電波法令に準拠していることを証明するために「 技術基準適合証明 」を取得する必要があります。 通称「技適」と呼ばれるものですね。 LoRaWANの場合、Gatewayとデバイスの両方が技適を取得している必要があります。 前回のブログ で書いた通り、Gatewayは技適を取得した「LPS8-JP」を購入したので問題ありません。 問題はデバイスの「Arduino MK...

このブログの人気の投稿

ArduinoにUARTのPINを追加する

Visual StudioでAngularの開発をする

Arduinoが技適を取得した!?