独立時計師の標準装備品(?)万能投影機を購入しました。新品は買えないので当然中古品です。ヤフオクで即決価格で出品されたものがあったので速攻落札です。落札したは良いのですが問題は万能投影機の重量です。100kgぐらいあります。配送方法も西濃運輸の営業所止め、自分で取りに行く必要があります。さらに設置する場所は自宅の2F。ひとりで二階まで上げて設置する必要があります。設営までの記録です。 続きを読む
ESP-WROOM-02を使ったデータ送信。 webページの背景色を変える
Arduino UNO+ESP-WROOM-02を使ったデータ送信のデモとして、アナログ入力値を無線LANでサーバに送信してWebページの背景色を変えるという物を作ってみました。 ESP-WROOM-02はUNO用のシールドになっていて挿すだけで簡単に使える様になっています。このシールドについてはこちらの記事を参照。サーバはサクラのレンタルサーバを使っています。 「だから何?」と突っ込まないで下さい。ただの技術デモンストレーションです。 サーバに設置したPHPがArduinoから送られた文字列を受け取り、ファイルに保存をします。WebページではAjaxを使いファイルの中身を読み取り背景の色を変更しています。
iPhoneのブラウザで試してみた動画です。ボリュームを回すと背景色の赤を変えています。最大で255、最低で0。他の値(green,blue)は0のままなので赤から黒まで色が変化します。ボリュームを3つ付ければRGBでフルカラーのコントロールも可能です。
送信にタイムラグがあるのでレスポンスはよくありませんが、データの送信は出来ています。測定値を送信してサーバ側で処理するといった用途には十分に使う事が出来ます。いわゆるIoTというやつです。 続きを読む
フェイスミルの製作
切削加工では広い面の平面を出すために直径の大きなエンドミルで切削する事があります。最大で10mmのエンドミルを使っていますが刃先が欠けると交換になるので、コストパフォーマンスがよくありません。そこでフェイスミルを使います。フェイスミルはチップを交換して刃先を新しく出来るので経済的です。しかし10mmのストレートシャンクに取付できるフェイルミルは市販されていません。そこで自作です!
CNCフライス盤 テーブルの交換
久しぶりのCNCネタです。半年前に行っていた作業ですが、ブログに載せていなかったので書きます。自作CNCフライスのテーブル、ステッピングモータ、コントロールボードを交換しました。目的は工作精度の向上です。それと切削液の循環の改良です。
ESP-WROOM-02 Arduino UNO シールド
ESP-WROOM-02とArduino UNO webからデータを取得する。
過去記事は次の通りです。初めての方は一通り目を通される事をお勧めします。
- ESP8266 (ESP-WROOM-02)を使う
- ESP-WROOM-02の通信速度の設定
- ESP-WROOM-02とArduino UNOでhttp通信
- Arduino UNOでインターネット上の情報を取得する
- ESP-WROOM-02とArduino UNO 受信したデータから整数を取り出す
Arduino UNO + ESP-WROOM-02(ESP8266)
PHPが返してくるレスポンスから整数にするところまで出来ました。後はArduino UNOでどのような処理を行うのかアイデア次第です。現在のPHPでは毎回同じ値を返してくるだけなので実用性が有りません。そこでwebからなにかしらのデータを取得してみたいと思います。 とりあえず練習として気象庁のサイトから情報を持って来ます。
ESP-WROOM-02とArduino UNO 受信したデータから整数を取り出す
今までの流れです。
- ESP8266 (ESP-WROOM-02)を使う
- ESP-WROOM-02の通信速度の設定
- ESP-WROOM-02とArduino UNOでhttp通信
- Arduino UNOでインターネット上の情報を取得する
Arduino UNO + ESP-WROOM-02(ESP8266)
サーバに設置したPHPから情報を取得しました。Arduinoはサーバから返って来た返答が文字列として入っています。ここから必要な値だけを取り出します。サーバからの文字列は次の様になっています。 続きを読む
Arduino UNOでインターネット上の情報を取得する
Arduino UNOとESP-WROOM-02を繋いで通信が出来る様になりました。過去記事については以下を参照してください。
これでhttpサーバから情報を入手する事が出来ますが、そのままwebの情報を読み取るとArduinoのとっては情報が大き過ぎて扱いに困ります。そこで、必要な情報だけを送信するようにPHPを処理を行います。まずは単純なPHPをサーバに設置してテストします。
ESP-WROOM-02とArduino UNOでhttp通信
Arduino UNOとESP-WROOM-02をSoftware Serialで接続します。ESP-WROOM-02は前の記事で9600bpsに通信速度を設定してあります。Software.Serialを使いATコマンドを文字列として送信すれば良いのですが、通信の様々な処理を考えるとライブラリを使った方が楽です。
こちらのページからDownload ZIPでファイルをダウンロードしてきます。
Arduinoのポートは5V、ESP-WROOM-02のポートは3.3Vです。そのため5Vと3.3Vの変換を行うロジックレベルコンバータが必要になります。秋月やスイッチサイエンスで商品としてありますが、できるだけ小さくしたかったのでBSS138を使い自作する事にしました。参考にした回路図はコチラ。感光基板で基板を作成して部品をハンダ付けします。BSS138は秋月で購入。NchチップMOS-FET BSS138
基板はCADを使うまでもないのでAdobe Illustratorで作りました。抵抗は10KΩの2016サイズ。パターンは下図の通りです。PDFを印刷して透明フィルムに印刷して感光基板で作れます。表面実装なので、字が反転しています。基板になった時には正常な向きになります。LVが3.3V、HVが5Vになります。
ESP-WROOM-02の通信速度の設定
前回の記事ESP8266 (ESP-WROOM-02)を使う でESP-WROOM-02とシリアル通信でATコマンドを送りアクセスポイントへのアクセスまで行いました。次にArduinoとの接続を行います。ArduinoとはSoftware Serialで繋ぐ事にします。Arduinoの標準通信ポートはプログラムの時に使うので他のポートでESP-WROOM-02と通信した方がデバッグが簡単になります。しかし、ここで一つ問題があります。ESP-WROOM-02の標準通信速度は115200bpsです。ArduinoのSoftware Serialは115200bpsでは通信出来ないようです。
SoftwareSerial: begin(speed)を見ると115200bpsでも通信できると書いてありますが、試した所できませんでした…
そこで、ESP-WROOM-02の通信速度を9600bpsまで落とします。57600bpsとかでも良さそうですが、ESP-WROOM-02の旧バージョンのFirmwareでは9600bpsだったのでそれに合わせます。
通信速度の設定は以下のコマンドで行います。
AT+UART_DEF=9600,8,1,0,0