ブログパーツUL5

ついにデジタルオシロを購入

 ヤフオクで1つ前のモデルの新品を運よく落札できたので、安く購入できました。ヤフオクに旧モデルのSLを出品して購入資金に回せたので、1、5万円で一番安いデジタルオシロが入手でき、測定器キットなどのチャチィものよりずーと本格的な測定器です。
 製作した回路動作をテスターのDCと周波数カウンターで動作確認していましたが、これで、PWMなどの波形観測などができるようになり、動作の解析や理解も早くなります。

 購入したデジタルオシロ一式
デジタルオシロ

 OWONのSDS5032
デジタルオシロ

 基準信号でのテスト(1KHz/5V)
デジタルオシロ

 まだマニュアルを読んでいないのですが、まず試しに製作したパワーパックの出力波形を観測してみました。

 加速のPWM波形
 
 波形観測で、減速の最小にして停車状態ではわずかに波形が出ていることがわかり、加速して最大になるとDCににまでなることがわかりました。ほぼ設計どおりで安心しました。
 PWMの周波数は計算上14.59KHz(Duty52%)で、過去のテスターの周波数カウンターの実測は16.27KHzで、今回の波形観測で15.5KHzでした。

 出力波形の波高調整(VR)
 
 VRを回すことで出力波形が変化していることがわかり、この機能で室内との明るさを調整することができます。
0

    Arduino UNO対応のタッチパネル(SmartGPU2)

     Arduino UNO対応したタッチパネルを探していたところ、VIZIC社のSmartGPU2というパネルが見つかりました。まだ、日本では入手できないようですが、LCDパネルの基板とArduino UNOのシールド基板から構成されており、Arduinoのライブラリーもあるようで期待が持てそうである。

     LCDは320×240で解像度はあまり高くはないですが、コントローラとして使用するには十分なように思います。詳細は、SmartGPU 2を参照ください。価格は、$89.00 USDとちょっと高いかもしれません。

    SmartGPU 2
    SmartGPU2

     オシロスコープにも(?)

     これができるのであれば、1つ購入してもいいかも。




    0

      Bluetooth部品(HC-06)で接続する方法

       Bluetooth部品のHC-05も届く。HC-05も基本的にHC-06と類似しているので接続方法は同じで問題は無い。HC-06は子機しかならないが、HC-05の方は親機と子機の設定ができるため高機能になる。そのため、ATコマンドで設定できるこことが多い。

       Bluetooth部品のHC-06とHC-05
      HC-06とHC-05
       基板は共通のようで、ペアリングの押しボタンがあるかないか位の違いしかなく、HC-05の方がピン数が多い。それにしても1桁も安く入手できるようになったのには驚くばかりである。

       HC-06とHC-05の接続方法
      接続
       HC-06とHC-05の電源は内部に3.3Vへの降圧回路があるので、3.6V〜6Vの供給となっており5Vに接続するのが正解である。珠に、3,3Vに繋いでいるのがあるが不正解である。モジュール内部は3.3Vなので、TXやTXの信号線は3.3Vでの入出力である。そのため、レベルシフト回路で5V←→3.3Vの変換をする必要があります。簡易的な処置で、3.3Vの信号は5V系の入力にそのまま繋いでも動作しますが、3.3V信号入力に5V信号を接続すれば壊れることが想定されます。そこで、抵抗分割で5Vを3.3Vに降圧して接続します。

       基本的な動作テストは、Bluetooth部品(HC-06)で接続する方法と同じです。HC-05にあるATコマンドをテストできれば、問題なしです。
      0

        Android開発環境の構築

         スマホのアプリを開発するために、Android開発環境を構築する必要があります。そこで、入門書を参考に必要なツール(ソフトウェア)をインストールします。忘れないようにメモをしながら、作業を進めていきます。

         Androidのスマホのアプリ開発には、主に下記の3つのツールが必要です。
        1.JDK(Java Debvelopment Kit、Java開発キット)
        2.Android Staudio(統合開発環境)
        3.Android SDK(Android Development Kit)

         インストールする。Windowsno32bit版OSにインストールする場合には、「Java SE 8」で検索して探さないと見つかりません。
        1.JDKをインストール
        http://www.oracle.com/technetwork/java/javase/downloads/index.htmlのORACLEにアクセス
        ・JavaのうちJava SEを選択して、Dwonloadボタンをクリックする
        java SE
        ・JDKのDWONLOADボタンをクリックする。ここではWindows64bit版しか見つかりません。
        JDK
        ・JDKのAccept License Agreementを同意して、ダウンロードファイルを選択する
        JDK

         インストール後に、コントロールパネルで「システムとセキュリティ」→「システム」→「システムの詳細設定」→「環境変数」を開いて設定を追加します。
        システム環境変数→新規で
        ・変数名:「JAVA_HOME」と入力
        ・変数値:jdkをインストールしたディレクトリのパスを記載
        してOKをクリックします。


        2.Android Staudioのインストール
        ・windows10 64bit版は下記のURLからダウンロードしてインストールできます。
         https://developer.android.com/studio/index.htmlにアクセスする。
        Android Staudio
        ・私はWindows7 32bit版のため、32bit版を探し他のバージョンをダウンロードしました。直近のバージョンは上記のURLの下の方にありますが、それ以外は検索しないとみつかりません。
        Android Staudio

         「Android入門」と同じバージョンの入手は下記のURLですが、インストールしても問題がありました(?)。原因わからず。
        http://tools.android.com/download/studio/canary/1-2-2
        Android Studio
         インストールと削除を5、6回してみましたが、「Android入門」のようにならずSDKはインストールできませんでした。結局、問題の起きないバージョンをインストールしておきました。

         Winodows10 64bit版は全く問題なく素直にインストールできますので、もうWindows7 32bit版はサポートしていないのかもしれません。悪戦苦闘の1日で、今日はここまでです。
        0

          Bluetooth部品(HC-06)とスマホの通信

           Bluetooth部品(HC-06)とスマホの通信できることは確認できたのですが、コマンドを打つのもスマートではないのでアプリを開発しなければならなくなりそうです。しかし、アプリ開発は全くやったことが無くハードルが高すぎます。一応、図書館から入門版の本を借りてきましたが、開発環境もまったくないのでどうしようかと思います。

           そこで、Arduino bluetooth controllerというのがあり、ゲーム風のインターフェイスがありテストでは使用できるかもしれません。

           テスト中
          テスト中
          いづれ自分で開発できればいいのですが、難しそう。

           こんなGUIができれば最高なのですが・・・
          GUI
          0

            Bluetooth部品(HC-06)で接続する方法

             Arduino UNOでBluetooth部品(HC-06)およびスマとペアリングしてうまく接続する方法には、キーポイントがあります。忘れてもいいように自分の記録としてまとめてみました。
             なお、やっている間にわかったことですが、HC-06は子機(スレーブ)には使用できますが、親機(マスター)には使用できません。親機に使用する場合には、子機/親機兼用(マスター/スレーブ)のHC-05を使用することになる。

            HC-06(表面と裏面)
            HC-06

            接続キーポイント
            ・Arduino UNOで接続する端子は、D0(RX)とD1(TX)は回避する
             →この端子はArduino UNOにスケッチを書き込む端子と共有している
              スケッチ書込み時に外せばよい。面倒なのでD2、D3を指定する
            ・HC-06の供給電源(Vcc)は3.6V〜5Vで問題ない
             →従って、3.3Vでは電圧不足となり、5Vに接続する
            ・HC-06のRXD,TXDは3.3V系の入出力となる
             →3.3V/5Vのレベルシフト回路が必要ですが、簡易的な対象で十分
              出力(TXD)はそのまま接続で、入力系(RXD)は抵抗分割する
              Arduinoの出力電圧を1,8KΩ+3.3KΩで3.3Vレベルにして入力する

            接続の確認方法
            1.まず、最初にArduino UNOでBluetooth部品(HC-06)の接続確認する。
             ・Bluetooth部品(HC-06)はペアリングさせない状態(LED点滅)で確認する。
             ・下記のテストスケッチを書込んで確認する。

            //----------------- Test Program 1 ----------------------------
            // HC-06 の TXDは、Arduino の Pin2(D2)に接続する
            // HC-06 の RXDは、Arduino の Pin3(D3)に抵抗分割で接続する
            // HC-05 の TX は、Arduino の Pin10(D10)に接続する
            // HC-05 の RX は、Arduino の Pin(D11)に抵抗分割で接続する
            //-------------------------------------------------------------
            #include
            SoftwareSerial BTserial(2, 3); // HC-06 : RX | TX
            //SoftwareSerial BTserial(10, 11); // HC-05 : RX | TX

            void setup()
            {
            // PCとArduinoのシリアル速度は、9600bps
            Serial.begin(9600);
            Serial.println("AT コマンド入力 :");
            // HC-06 のデフォルトでのシリアル速度は、9600bps
            BTserial.begin(9600);
            }
            void loop()
            {
            // HC-06からATコマンドを読み、Arduino IDEのシリアルモニタに通信する
            if (BTserial.available())
            {
            Serial.write(BTserial.read());
            }

            // Arduino IDEのシリアルモニタから送信データを読み、HC-06に通信する
            if (Serial.available())
            {
            BTserial.write(Serial.read());
            }
            }
            //--------------------------- End -----------------------------------

            ・起動すると、シリアルモニタに「AT コマンド入力 :」が表示される
            ・「AT」を送信すると、「OK」と表示されれば接続はOKです
            ・Bluetooth部品(HC-06)に対するATコマンドによる設定や確認はこの状態で行なう
            ・HC-06のATコマンドは子機専用なので、HC-05よりもかなり少ない
             
            原文ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
            HC-06 AT commands are limited, all I could find are given here.
            AT : check the connection
            AT+NAME: Change name. No space between name and command.
            AT+BAUD: change baud rate, x is baud rate code, no space between command and code.
            AT+PIN: change pin, xxxx is the pin, again, no space.
            AT+VERSION

            change baud rate, type AT+BAUDX, where X=1 to 9.
            1 set to 1200bps
            2 set to 2400bps
            3 set to 4800bps
            4 set to 9600bps (Default)
            5 set to 19200bps
            6 set to 38400bps
            7 set to 57600bps
            8 set to 115200bps
            ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

            2.Bluetooth部品(HC-06)とスマホとの接続確認
            ・まずスマホのBluetooth Terminalをインストールする
             →私は、Serial Bluetooth terminalというアプリが使い勝手がよかった。
            ・ペアリングすべきBluetooth機器を検索する。ここでは「HC-06」と表示される
            ・同じ機器がある場合は、1.の状態で「AT+NAME」コマンドを使って変更する
             (ex. AT+NAMEHC-06_1
            ・ペアリング機器を指定して、デフォルトのPINである「1234」を入力する
            ・PINを変更したい場合は、1.の状態で「AT+PIN」コマンドを使って変更する
             (ex. AT+PIN4321
            ・シリアル通信を変更する場合、1.の状態で「AT+BAND」コマンドを使って変更する
             (ex. AT+BAND6
            ・ペアリングが完了すると、Bluetooth部品(HC-06)のLEDが点滅から点灯に変わる
            ・この状態で、下記のテストスケッチをArduinoに書込む。

            //----------------- Test Program 2 ----------------------------
            // HC-06を繋いだArduinoとスマホリアルモニタを使った通信用スケッチ
            // ボーレートは 9600
            // NL+CR をコマンドに追加しない
            //-------------------------------------------------------------
            #include
            SoftwareSerial BTserial(2, 3); // RX | TX

            void setup()
            {
            BTserial(9600);
            }
            char a;
            void loop()
            {
            if (BTserial.available()) {
            a = (BTserial.read());
            if (a == '1') {
            BTserial.println("HELLO <Bluetooth> WORLD!");
            }
            if (a == '2') {
            BTserial.println("2 is comming.");
            }
            }
            }
            //--------------------------------- Eed -------------------------------

             スマホのBluetooth Terminalアプリを起動して、ペアリング接続したの後に「1」を送信すると、「HELLO<Bluetooth>WORLD」と返信され、「2」と送信すると「2 is comming.」と返信されます。これでBluetoothの接続確認が出来たことになります。
            0

              Arduinoで温度、湿度、気圧の製作

               Arduinoで温度、湿度、気圧の測定ができたので、正式に製作することにしました。問題はケースですが、あまりコストを掛けたくいないので、透明なアクリル板の余り板がありこれを利用することにしました。アクリル板を曲げるのが初めてなのであまりうまく出来ず温度コントロールを失敗してしまいました。折り曲げ部分を隠すことで利用できそうであり良しとしました。

               簡易ケース(?)の出来上がり
              ケース前
              ケース後
               これに、Arduinoのブートローダーを書き込んで専用基板を製作して取り付ける予定でした。しかし、LCDへの接続配線が多く見栄えが悪いので、LCDの裏に専用基板を取り付けるように変更しました。電源はバッテリーを辞めて、USB端子の電源から取るようにUSB端子を取り付けました。PCのUSB端子から電源供給できる方が使い勝手がいいと考えます(データ通信はできません)。

               配線が終わってセンサーの端子表示が見えなくて配線を間違えていることに気づかず電源投入してしまい壊れてしまい、安いとはいえセンサーを再購入という痛い出費となりました。

               別のセンサー(BME280で湿度のないもの)を取り付けて動作テスト

               センサーとして湿度の計測値がないためエラー表示していますが、一応これで正常動作していることが確認できたので完成です。センサーを入手できしだい交換して完了です。ちょっと格好いいでしょ。

               センサーを正規版にして完成!
              正規版
              0

                1

                カレンダ

                  12345
                6789101112
                13141516171819
                20212223242526
                2728293031  
                << May 2018 >>