Navigation

    obniz Developer's Community Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. Inventor 1m
    I
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Inventor 1m

    @Inventor 1m

    0
    Reputation
    15
    Posts
    320
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    Inventor 1m Follow

    Best posts made by Inventor 1m

    This user hasn't posted anything yet.

    Latest posts made by Inventor 1m

    • RE: カラーセンサ

      ご回答いただき、ありがとうございます。

      this.i2c = obniz.getI2CWithConfig(this.params);の行を消したら
      エラーが出なくなりました。
      しかし、PC上でプログラムをはしらせると
      エラーが出ないのが不思議です。
      理由がわかれば教えていただきたいです。

      オブナイズの3Dデータの件は承知いたしました。
      ご確認いただき、ありがとうございます。

      以上、よろしくお願いいたします。

      posted in Technical Support
      I
      Inventor 1m
    • RE: カラーセンサ

      ご回答いただき、ありがとうございます。

      早速、試してみましたが、解決されませんでした。

      複数回同じエラーが出ておりましたが
      1回になりました。

      最初は測定毎にエラーが出ており
      アドバイス頂いたfor文の外に出すことで
      最初の1回目のエラーのみになったと思います。

      他におかしなところはないでしょうか?

      よろしくお願いいたします。

      posted in Technical Support
      I
      Inventor 1m
    • RE: カラーセンサ

      色々とご回答いただき、ありがとうございます。

      19年5月末にご質問いたしましたが
      進捗はいかがでしょうか?

      ご確認をお願いいたします。
      質問内容は
      PC上で実行すると、エラーは表示されないのですが
      スマホ上で行うと no more I2C Available.max=1
      やno more i2c Availableというエラーが表示されます。

      プログラムは下記のようになります。
      <html>
      <head>
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
      <script src="https://unpkg.com/obniz@2.0.3/obniz.js"></script>
      </head>
      <body>

      <script>
        var obniz = new Obniz("aaaaaaaa");
      

      class SS {
      constructor() {
      this.keys = ['vcc', 'sda', 'scl', 'i2c', 'gnd'];
      this.requiredKeys = [];

        this.address = 0x38;
        this.regAdrs = {};
        this.regAdrs.ctrl = 0x40;
        this.regAdrs.modectrl1 = 0x41;
        this.regAdrs.modectrl2 = 0x42;
        this.regAdrs.interrupt = 0x60;
        this.regAdrs.persistence = 0x61;
        this.regAdrs.sensorRed = 0x50;
        this.regAdrs.sensorGreen = 0x52;
        this.regAdrs.sensorBlue = 0x54;
        this.regAdrs.sensorClear = 0x58;
      }
      
      static info() {
        return {
          name: 'SS',
        };
      }
      
      async wired(obniz) {
        this.obniz = obniz;
        obniz.setVccGnd(this.params.vcc, this.params.gnd, '3v');
        await this.obniz.wait(100);
        this.params.clock = 100000;
        this.params.pull = '3v';
        this.params.mode = 'master';
        this.i2c = obniz.getI2CWithConfig(this.params);
        await this.obniz.wait(100);
      }
      
      async init() {
        obniz.i2c0.start({mode:"master", sda:1, scl:2, clock:100000, pull:"3v"}); 
        obniz.i2c0.write(this.address, [this.regAdrs.ctrl, 0x70,0x8D]);
        obniz.i2c0.write(this.address, [this.regAdrs.modectrl1, 0x70,0x2D]);
        obniz.i2c0.write(this.address, [this.regAdrs.modectrl2, 0x70,0x10]);
      }
      
      async getVal() {
        obniz.i2c0.start({mode:"master", sda:1, scl:2, clock:100000, pull:"3v"}); 
        obniz.i2c0.write(this.address, [this.regAdrs.sensorRed,0x71]);
        let ret = await obniz.i2c0.readWait(this.address, 12);
        let level = [0, 0, 0, 0];
        level[0] = (ret[1] << 8) | ret[0];
        level[1] = (ret[3] << 8) | ret[2];
        level[2] = (ret[5] << 8) | ret[4];
        level[3] = (ret[9] << 8) | ret[8];
        return level;
      }
      

      }

      if (typeof module === 'object') {
      module.exports = SS;
      }

      obniz.onconnect = async function() {
      for(var i=0;i<100;i++){
      Obniz.PartsRegistrate(SS);
      var colorSens = obniz.wired("SS", {vcc:0, sda:1, scl:2, gnd:3});
      colorSens.init();
      var ret = await colorSens.getVal();
      console.log("getVal:"+ ret);
      var red = ret[0];
      var green = ret[1]; 
      var blue = ret[2]; 
      var ir = ret[3];

        console.log("Red:"+ red);
        console.log("Green:"+ green);
        console.log("Blue:"+ blue);
        console.log("IR:"+ ir);
        await obniz.wait(1000);
        }
      

      }
      </script>
      </body>
      </html>

      posted in Technical Support
      I
      Inventor 1m
    • RE: スイッチ機能について

      ご回答いただき、ありがとうございます。

      ご回答の内容で承知いたしました。

      お忙しい所、ご対応いただき、ありがとうございました。

      今後ともよろしくお願いいたします。

      posted in Technical Support
      I
      Inventor 1m
    • RE: スイッチ機能について

      ご連絡をありがとうございます。
      勉強になります。

      教えていただいたURLより、イメージとしては
      オブナイズに端子A,Bを接続し、端子C,Dに5Vラインの回路を接続すると
      いう認識でよろしいでしょうか?

      また、オブナイズ単体でリレーのような動作は可能でしょうか?

      ご確認をお願いいたします。

      posted in Technical Support
      I
      Inventor 1m
    • スイッチ機能について

      オブナイズ自体から5Vを出力したり0Vを出力したりしてスイッチングさせるのではなく、回路上の5Vラインをオープンさせたり、ショートさせたりしたいですが、どのようにすればよいでしょうか?

      posted in Technical Support
      I
      Inventor 1m
    • RE: センサ等で取得した値の保存方法について

      ご連絡が遅くなり、大変申し訳ありません。

      ご回答いただき、ありがとうございます。

      内容を確認いたしました。
      私の思っていた通りのことができました。

      お忙しい所、
      色々とご対応いただき、ありがとうございました。

      不明点等がでましたら、再度、ご連絡させていただきますので
      その際はよろしくお願いいたします。

      posted in Technical Support
      I
      Inventor 1m
    • RE: センサ等で取得した値の保存方法について

      ご回答いただき、ありがとうございます。

      ご回答内容を参考にプログラムを作成して
      一応、データの追加は出来たのですが
      なぜか途中にカンマが入ったり入らなかったりします。
      これを直すことはできるのでしょうか?
      また、データの追加方法を縦並びにすることは可能でしょうか?
      下記のプログラムはカラーセンサの値を取り出した例です。

      obniz.onconnect = async function() {
      var j= [];
      for(var i=0;i<5;i++){
      Obniz.PartsRegistrate(SS);
      var colorSens = obniz.wired("SS", {vcc:0, sda:1, scl:2, gnd:3});
      colorSens.init();
      var ret = await colorSens.getVal();
      console.log("getVal:"+ ret);
      var red = ret[0];
      var green = ret[1]; 
      var blue = ret[2]; 
      var ir = ret[3];

        console.log("Red:"+ red);
        console.log("Green:"+ green);
        console.log("Blue:"+ blue);
        console.log("IR:"+ ir);
        
        var dbx = new Dropbox.Dropbox({ accessToken: '111111' });
        dbx.filesDownload({path: '/suncon.txt'})
          .then(function (response) {
          var blob = response.fileBlob;
          var reader = new FileReader();
          reader.addEventListener("loadend", function() {
              console.log(reader.result); // will print out file content
              j[i]=reader.result;
          });
          reader.readAsText(blob);
      })
      .catch(function (error) {
        alert(error);
      }) 
       dbx.filesUpload({path: '/11111.txt', contents:j + "Red:"+ red + "Green:"+ green + "Blue:"+ blue + "IR:"+ ir, mode: 'overwrite' })
       .catch(function(error) {
       alert(error);
          });
          await obniz.wait(5000);
        }
      

      txtファイルの内容は
      ,Red:1693Green:3562Blue:1758IR:1259,Red:1660Green:3497Blue:1726IR:1142,,Red:1693Green:3562Blue:1758IR:1259Red:1644Green:3454Blue:1708IR:1177Red:1657Green:3485Blue:1719IR:1173
      となります。

      ご対応をよろしくお願いいたします。

      posted in Technical Support
      I
      Inventor 1m
    • RE: センサ等で取得した値の保存方法について

      ご回答をいただき、ありがとうございます。
      追記がないことは承知いたしました。
      一つのファイルにまとめたいので、
      前者の方法を考えていますが、具体的にはどのようにすればよいでしょうか?

      聞いてばかりで、大変申し訳ありませんが
      よろしくお願いいたします。

      posted in Technical Support
      I
      Inventor 1m