0件のコメントArduinoでデータを取得したあとにグラフ化とCSV保存したいことってありますよね?Processingとは?ArduinoはC言語をベースにした開発環境ですが、ProcessingはJava言語をベースにしたWindowsやMacなどのパソコン向け開発環境です。特徴としてグラフィックや音がかんたんに制御可能です。2017Arduinoでのデータ測定結果送信Arduino側はアナログでもデジタルでもなんでもいいので、データを取得してシリアルもしくはBluetoothでデータを送信します。Module+GROVEシールド」とかだと簡単にBluetoothでデータを送信できます。BluetoothSerialを使えばBluetooth接続したパソコンからはシリアルポートに見えますので便利です。パソコンでのデータ測定結果取得パソコンから該当ArduinoへBluetooth接続することで、シリアルポートが増えます。そのシリアルポートのデータを取得すれば完成です。どんなデータが送られてくるのかはArduinoのシリアルモニタやシリアルプロッタで確認できます。普通のArduinoには時計がついていません。データ取得時間がわからないのです。リアルタイムのみであれば問題ないですが、あとでそのデータを利用しようとすると不便ですよね?一応数百円のリアルタイムクロックを利用するとか、Wi-Fi経由でntpサーバーに問い合わせるとか解決方法がありますが、今回は多少誤差はでますが受信した時間をデータの取得時間とします。2017」の1回目と2回目のスライドで丁寧に説明されています。fileName;}いきなりですが、出来上がったコードです。Processingはマイクロ秒が取得できないので、起動経過時間のマイクロ秒から無理やり計算しているロジックが最初にあります。あとは移動平均とかも計算していますが、受信したデータをリストに追加して描画しているだけです。ついでにプロジェクトのフォルダに受信したデータをCSVで出力しています。Processingを利用するとWindowsやMacの両方で動くプログラムを簡単に作ることができます。0件のコメントROVEシールド付きのESP32ボードを3枚購入したことで、200ヶ所以上のはんだ付けが必要になったので、ハンダゴテを新調しました。はんだごての種類と選び方を調べましたので共有したいと思います。電熱線ヒーターいままで使っていたのがこの方式です。普通のハンダゴテに、便利な小物がついたセットでした。普通に使っている分には問題がないのですが、大量にはんだ付けをしたり、細かいものをはんだ付けするのには不便でした。最近はダイソーでも安いものがあるので、ちょっとしたことに使うのはこの手のものでもいいと思います。非常にスキルに左右されますのではんだ付けに慣れていない人は、もう少し高いやつを購入したほうがいいと思います。セラミックヒーターヒーターが電熱線から、セラミックになっているハンダゴテです。普通のヒーターに比べてすぐに温かくなります。連続して使っていても温度が落ちにくいので使いやすいです。私が購入したのがこのタイプ。ヒーターはセラミックなのですが、温度調整が適当です。高いハンダゴテは、指定温度になったら加熱を止めるフィードバックがあるのですが、この手の安いモデルは温度表示ですが内部的にはワット数を変えています。低温度に設定すると最初の加熱も遅くなりますので、最初はそこそこ高温にしてから、使いたい温度に下げるのがいいと思います。本当にその温度になるのかわからないのと、温度の目安が不明なので私は半分ぐらいのメモリに合わせてつかっていました。頻繁に利用する場合にはステーション型が便利なようです。高いものだと設定温度と、小手先の実際の温度が表示されていたりかなり便利です。反面一般家庭にはちょっと大げさかな?セットハンダゴテ以外にもいろいろセットにした製品も最近はあります。最初に一つ揃えるのであれば便利なセットだと思います。まとめちょっと使うのであれば安いやつでもそんなに問題はでないとは思います。高いものは使いやすいですので、きれいなはんだ付けができます。見た目と性能にも影響してくるので、予算に余裕があるのであれば国産の太洋電機産業(goot)か白光(HAKKO)あたりの製品を購入しておくのが無難だと思います。1件のコメントGROVEシールド付きのESP32ボードがあったので、購入してみました。このボードは日本だと取り扱いがないのかな?そして本当にWemosの商品なのかが怪しいです。テストコード実行中ボードの特徴ESP-WROOM-32を使っていますので、技適マークもしっかりついて、使いやすいボードです。I2C経由でのOLEDが実装してあるのでちょっとした表示に使えて便利です。裏側はGROVEシールドになっており、アナログが使えるESP32って他ではあまりなかった気がします。GROVEシールドの横には3Vと5Vを切り替えるスイッチがありますので、通常は3Vに設定して使ったほうがよいと思います。国内だと扱っている店がなかったのでBanggoodで1つ千円強で購入しました。2018-07-01注文で2018-07-21到着となりました。海外からだと3週間ぐらいはかかっちゃいますね。あとはAliexpressでも何個か取扱がありましたが、ちょうどセールをしていたのでBanggoodの方が安かったです。事前準備このボードはピンヘッダーがはんだ付けされていませんので、自分でつける必要があります。表面26ヶ所に、裏面が二列分で52ヶ所、全部で78ヶ所もあります。裏側の二列部分はかなり狭いので、細い小手先がないと苦戦します。注意点としてはBluetoothとかを利用する場合ADC2が利用できなくなります。アナログは入力だけで出力ができません。LoLin32」を選択することで開発可能です。Windows環境の場合転送速度を115200に下げるか、BOOTボタンを押さないと書き込みできませんでした。delay(intervalTime);}上記のプログラムで100ms間隔でA0から取得したデータをBluetoothで送信することができます。chipidを取得して、Bluetooth待受名に追加していますので複数台動かしてもIDがかぶることはないはずです。これはWemosの製品なのか?ボードにはWemosと書いてありますが、WemosはOLED付きの製品はないと言っていますので、Wemosの製品ではない可能性が高いです。総括ちょっと出生が怪しいボードですが、GROVEのアナログセンサーなどを利用して、Bluetoothで送信したい場合にはかなり使いやすいボードではないでしょうか?OLEDに出力値やプログラムのバージョンなどを表示することができるので、ちゃんと動いているかの確認もしやすいです。ピンヘッダーのはんだ付けはかなり面倒ですし、国内で手に入りにくいって点はマイナスです。0件のコメントESP-WROOM-32を購入して、試してみました。Systems社の製品で、ベースとなるESP32にフラッシュメモリやアンテナなどを追加した製品です。ESP32とESP-WROOM-32との違い海外のサイトなどではESP-WROOM-32ではなく、ESP32などで検索したほうがヒットしやすいですが、製品としては別物です。ESP32はWi-FiとBluetoothが利用可能なチップで、それにフラッシュメモリとアンテナなどを追加したモジュールです。ESP32を利用していても、ワンチップ化していないものや、ESP-WROOM-32とは違うパッケージになっているものがあります。日本の法律上電波を利用する場合には、技適を取得している必要があります。ESP-WROOM-32は技適を取得していますが、ESP-WROOM-32以外のESP32パッケージは技適を取得していないものが多いので注意しましょう。商品の写真をみて、技適マークがあることを確認してから購入するのが無難だと思います。購入品Amazonで一番安かった製品を購入してみました。中国発送のため2週間ぐらい到着まで時間がかかります。ほしい場合には他のを選んだほうがよいと思います。上記がプライム対応です。今はあまり値段が変わらないので、プライムで購入したほうがいいかもしれません。個人的には一番右側のOLED画面付きが好きなのですが、画面無しのプレーンなESP32ボードも一枚持っていてもいいとは思います。外見ピンヘッダーははんだ付けされた状態で、特別汚いわけでもきれいなわけでもなかったです。ESP-WROOM-32に擦り傷が最初から入っていたりと、全体的にはあまりきれいな状態ではありません。V1」で書き込みができました。手元のWindows環境だと、自動書き込みができなかったのでbootボタンを押してからの、手動書き込みでテストしました。Serialを使ってWindows上でIO32のアナログ入力を取得することができました。最初IO25で試したところBluetoothを使うとanalogReadが正常な値を返しませんでした。DEKOのアヤシいお部屋。(IO35)とあったのでIO32に変更したところ、正常に取得できました。0件のコメントobnizはArduinoとはちょっと違った考え方の基板ですので紹介したいと思います。obnizとは?メインチップにESP-WROOM-32を利用したプリスクサイズの小型基板です。小さな画面と、左右と押し込むことで決定ができる入力ボタンが左上についています。この基板はWi-fiでインターネットに接続することが基本であり、接続すると上記画面のように機材のIDが画面に表示されます。そのIDを使いインターネット経由でアクセスすることができます。プログラムの方法ブラウザ上で利用できるオンラインエディタがあり、その画面を利用してJavaScriptでプログラムの作成と実行をします。サンプルとして様々なプログラムが公開されているので、自分の機材のIDを入力するだけですぐにプログラムの実行が可能です。プログラムはインターネット経由でobnizに転送され実行されます。他の基板との差メインチップはESP-WROOM-32ですので、他のESP-WROOM-32搭載基板とはハードウエアスペック的にはそんなに変わりません。画面がついていることと、側面にかんたんにアクセス可能な12ピンのIOポートがあるぐらいです。IOポートはIO0が5V、IO1がGND、IO2がアナログ入力などと自由に設定が可能です。ハードウエア的な差よりは、プログラム環境などがインターネット上に公開されており、他の人の作ったプログラムを気軽に実行できることがかなり便利です。Arduinoなどはちょっと難しそうだなって人でも、拒否感なく利用することができると思います。0件のコメントフリスクサイズの基板である、Nefryを購入してみました。BTが販売されています。BTのみの販売だと思います。Nefryとは?USBに接続するだけで利用することができる基板であり、Wi-fiを搭載しています。BTはBluetoothが利用できます。Groveシステムに対応していますので、Groveモジュールをケーブルで接続するだけで利用することができます。ケースケースも付属していますが、自分で組み立てる必要があります。中密度繊維板(MDF)をレーザーカットしたもののため、断面が炭で黒くなっています。組み立てる際に手がまっくろになるので注意しましょう。BTはESP32(ESP-WROOM-32)を利用しています。両方とも技適取得済みなので、日本で安心して利用することができます。IDEを利用して開発することができます。BTは普通のArduinoのように、USB経由で利用することができます。他のESP環境との違いここまでの内容であれば、ESP32にGroveコネクタがついているだけなのですが、Nefryではwi-fi経由で管理画面にアクセスすることができます。BTのWi-Fiセットアップ上記のページがわかりやすいですが、Nefryに直接Wi-fi接続することによってブラウザ上で管理画面が開けます。この機能は自分で実装することも可能ですが、最初から使えるのが便利ですね。管理画面の機能この管理画面がNefryの最大の特徴だと思います。以下のことが管理画面からできます。通常のArduinoだとプログラム内部にWi-fi設定を書き込む必要があります。その端末を他の場所に持っていく場合、持っていく先に応じたプログラムに書き換える必要があります。Nefryの場合には予め5つまで設定できるのと、その場で接続先だけ変更することができるので、プログラムは共通で利用することができます。環境変数を文字列10個、数値10個の設定こちらもWi-fi設定と同じく、APIの連携先やメールアドレスなどの設定をプログラムに書き込むのではなく、管理画面から簡単に変更することができます。プログラムの更新プログラム自体も管理画面からアップロードすることができますので、メールでプログラムを送って、現場の人が特別な機材を必要なく、プログラムの更新をすることが可能です。動作状況やデバッグなどで利用するコンソールを管理画面から確認することができます。通常のArduinoの場合USB接続をしている環境以外では確認することができないので、非常に便利な機能です。Groveシステム対応Groveコネクタに対応しているため、そのままGroveモジュールを接続することができます。UNO以外では正しく読み取れないモジュールばかりなので注意してください。1件のコメント電子工作をしていると利用することがあるかもしれないSeeed社の入門です。Studioという名前であったが、現在はSeeedになっているらしい。Studioだった時代の名残が残っています。少ロットでのプリント基板製造で有名な会社でして、趣味で作った基板や、サンプル品などを時間はかかりますが、非常に安く作ってくれるサービスを提供しています。今はプリント基板以外にも、電子工作で利用する道具や機材などの販売の他、Groveと呼ばれる統一コネクタを利用したアクセサリの販売も行っています。電子工作を行う場合、最初に試行錯誤しながら回路を作っていきますのでブレッドボードと呼ばれるものを利用します。ブレッドボードは穴がたくさん空いており、縦の方向は穴の下でつながっています。このボードを利用して部品やケーブルを穴に刺して実際に動かしてみて電子回路を完成させていきます。回路が完成したあと、ブレッドボードのままだと部品が取れてしまいますので、ハンダで固定する必要があります。そのときによく利用するのがユニバーサル基板と呼ばれるもので、穴だけ空いている板で、ハンダを利用して固定していきます。ユニバーサル基板は安くで使いやすいのですが、見映えが悪いのと、配線が結構大変です。そこでプリント基板と呼ばれるものを利用します。金属を表面にコーティングした板に、回路の印刷を行います。その後に酸性の液体に漬け込むことで、不要な部分の金属を溶かし、印刷をした回路の部分だけ金属が残ったものに、必要な穴を開けたものがプリント基板と呼ばれるものです。自分で作ることも可能ですが、薬剤の処理などが大変だったり、日本の業者に頼んだ場合でも穴の数に応じて金額が変わるなど手が出にくいものでした。今は世界中から注文をとってきて、1枚の大きな基板に複数の注文をまとめて製造し、あとで切り分けるという方法で劇的に安くなっています。Groveシステム関連GroveとはSeeed社が製造販売しているコネクタの規格です。共通のコネクタを利用して、ケーブルでつなげるだけで利用できるというコンセプトなのですが、利用には注意が必要です。モジュールの対応電圧と、どのコネクタに差し込んで、どのプラットフォームで動くのかが、英語のWikiページをよく見ないとわかりにくいことです。対応電圧5V一般的な電圧で、ほぼすべてのGroveモジュールで利用できます。3.3V小型基板などに利用されている電圧です。大体のセンサーなどに対応していますが、たまに5V専用のものがありますので注意が必要です。Sensor(5V専用)対応コネクタGroveには利用するモジュールに応じたコネクタがあり、使い分ける必要があります。アナログコネクタはA0などAからはじまり、複数ある場合には数字がカウントアップしていきます。5V基板の場合には0Vから5Vまでの電圧を計測する入力と、電圧を出力することができます。出力の場合には、0Vか5Vの2段階で出力をするのですが、PWMと呼ばれる制御で、5Vの出力時間を変更し、LEDの光を強くしたり弱くしたりなどの制御ができます。PWMはすべてのアナログピンで利用できるわけではなく、特定のピンのみの場合があります。アナログで注意しないといけないのがプラットフォーム別サポートです。ONEで動くかは確認したほうがいいです。Arduino以外の環境はアナログ入力の感度があまり良くなく、出力の低いセンサーの数値を取得することができません。ONEなど他の環境で利用できないアナログセンサーは、上記の表にない基板でも利用できない可能性が高いです。デジタルデジタルはボタンなどのON/OFFでの入力と、5V基板の場合には0Vから5Vまでの電圧を出力できます。UARTUARTは高速通信をするための端子です。Wi-fiなどの無線モジュールなどで利用されています。I2CI2Cは通信速度は遅いですが、複数のモジュールと通信をすることができます。ディスプレイなどに利用されていることが多いです。モジュールごとにアドレスを設定し、アドレスに対して通信を行う仕組み上、同じモジュールを複数利用する場合には、個別にアドレスが重複しないように設定をする必要があります。SPI一番はやい通信方式ですが、Groveでは利用することができません。Groveは4ピンコネクタを採用していますが、SPIには4ピン以上が必要なためです。Seeed社独自製品関連Seeed社オリジナルの製品を作っており、有名なものだけ簡単に紹介します。Piなど各種基板に対応した、シールドと呼ばれるものを販売しています。シールドは簡単に機能拡張するためのボードのことであり、Seeedでは主にGroveコネクタを拡張するためのシールドを販売しています。Arduinoの場合にはピンをコネクタに接続しているだけであり、Groveコネクタを利用しなくても、自分で配線することでGroveのモジュールを利用することができます。Piの場合にはアナログを利用することができないので、Groveシールド上で変換することでアナログモジュールが利用できるようになっています。Node非常に小さい基板で、2つのGroveコネクタがあります。左右で利用できるモジュールが違うので注意してください。Nodeの特徴として、Wi-fiを利用して、インターネットに常時接続していることです。Linkを利用して設定することで、インターネット経由でセンサーの値を読み取ったり、ディスプレイなどに表示をしたりすることができます。Nodeに対してAPI通信をする必要がありますので、どちらかというとプログラムを動かすことができるサーバーなどを持っている人向けの商品となります。VersionSIMカードを使うことでLTE通信ができる基板です。国によってLTEの通信方式が違うので、4種類販売されています。日本で利用する場合には日本バージョンを購入しましょう。LTEはそのままインターネット接続することができます。IDEで開発することができますので細かい処理まで基板上で実行することも可能です。0件のコメントArduinoについて、どんなもので、どんなことができるのかを記述します。Arduinoとは?Arduino(アルデュイー)とはCPUの他に入出力ポートや最低限必要な部品を実装したワンボードマイコンと、その統合開発環境を含めたシステムのことです。このようなワンボードマイコンは昔から様々な種類があり、評価用や開発用の他に、教育用として存在していました。古くはNECのTK-80などが有名です。Arduinoの特徴としては、類似ボードよりも安価に製造できるように設計されていることと、設計図が公開されており、他社が自由に同じようなものを製造できるという点である。Arduinoという名前に関しては正式ライセンスを受けたもの以外は利用することはできず、互換機は様々な名前で販売をされています。ハードウエアとしてのArduinoArduinoには複数の基板が存在しており、日本では購入できないものも、海外では多数販売されています。Uno」で、大きさが8cm×6cm程度となり、一般的なトランプよりは小さいサイズです。328」など、様々な種類があります。この他互換品としては、純正品とまったく同じ動きをする物の他に、独自の拡張をしたものが多数販売されています。IDE」というアプリケーションが無償で公開されており、このソフトを使って開発を行います。インストールした直後は純正品のArduino基板しか開発をすることができませんが、開発対象の基板を簡単に追加することができます。このことから、いろいろな会社が互換ボードを販売して気軽に利用できる環境になっています。どんなことができるのか?Arduinoはセンサーなどからの入力と、モーターやLEDなどへの出力を行うことができます。あとで紹介するボードのチュートリアルで扱っている内容を列挙します。この他にもインターネットを利用した通信なども可能ですが、注意事項をあとでまとめております。Uno」の完全互換機と、英語、フランス語、ドイツ語、スペイン語、イタリア語でのチュートリアル、必要な部品がキットになっています。純正品を購入するより安く、細かい部品も付属していますので最初の一台としてこちらの基板をおすすめします。Uno」は一枚持っていたほうがよく、うまく動かなかった場合などの問題の切り分けとして複数の基板で検証することが可能です。Uno」はWi-fiやBluetoothを利用した通信機能が搭載されていません。互換機では通信の機能を追加したものなどが販売されていますが、日本国内で利用すると法律違反となってしまうボードもありますので、注意して購入してください。上記の基板は非常に安いですが、日本国内で電波を飛ばすための「技適」と呼ばれる技術基準適合の認証を受けていない商品となります。「技適」の認証を取るためには数百万円の費用がかかるため、海外で販売されている商品に関しては取得していないことが多々あり、取得している商品であるかを確認して購入する必要があります。上記製品などは技適取得済みとなります。Uno」とは若干機能が違いますのでご注意ください。0件のコメントIoTなどで利用できる電子工作を簡単に解説します。電子部品の組み合わせ抵抗やLEDなどの電子部品を組み合わせて作ります。一般的な電子工作といえば、こちらを想像しますが、近年は作る人が減ってきているようです。東急ハンズなどでも店舗によりますが、LEDを光らせるキットぐらいの取扱になっています。複雑な動作をさせる場合は電子部品を組み立てるより、プログラミングが可能な基板などを利用し、その基板にセンサーはLED、モーターなどを追加して制御することできます。代表的な統合環境の種類PICICにCPUやメモリ、I/Oチップなどが収められており、小さなコンピュータになっています。前の主流であり、非常に安価ですが動かすための環境を構築する必要があり、現在はもう少し簡単に使うことができる基板が普及してきたため、出番は減ってきています。数百円程度から購入することができますので、比較的小規模な機能を実現するときに利用します。プログラムはパソコンで作成し、PICライターという装置を使って転送します。転送前後で基板とPICライターで挿し替える必要があります。これはPICを動かす環境には最低限の回路だけ実装されており、開発が完了したあとには必要ないPICライターの機能は含まれていないためです。ArduinoArduinoはPICに最低限必要な部品を組み合わせたような基板です。USB端子でパソコンに繋げることで簡単にプログラムを実行させることができ、外部のセンサーなどへの接続端子も簡単に利用できます。Arduinoはハードウエアの情報がすべて公開されており、同じものを作ることができます。安いパーツに変更したものや、通信機能を追加したもの、小さい形にしたものなど、様々な商品が販売されているのも特徴です。純正品が3000円強、互換品が1000円以下で購入することができます。複雑な計算や、大量のデータを処理することはできませんが、単純な制御であれば比較的かんたんに実現することができます。プログラムはパソコンで作成し、USB経由でそのまま転送して動かすことができます。プログラムや周辺回路が完成した場合に、そのプログラムでは利用しない部品などを取り除いたArduino互換機を使うことなどで、より安いシステムにすることも可能です。Piは上記の環境とは違い、小さなパソコンです。WindowsやLinuxなどのOSが動いており、その上でプログラムを実行します。PiはOSでサポートされているプログラム言語であれば自由に選択して利用することができます。本体が5000円以上し、SDカードや電源などの必要なものを揃えるとそれなりの値段がかかってしまいます。複雑な制御も可能ですが、LinuxなどのOSの知識も必要になってきてしまいます。Pi自体でプログラムを作って動かすことができます。その1ESP32のGPIO入力について関連記事はこちらです。関連記事はこちらです。Themegraphy。