Robofun 機器人論壇

標題: 想請問srf08更改address的問題 [打印本頁]

作者: stevek    時間: 2009-2-16 15:07
標題: 想請問srf08更改address的問題
我是使用PIC16F877A

  i2c_start();                    
  i2c_write(0xA0);
  i2c_write(0xAA);
  i2c_write(0xA5);
  i2c_write(0xE2);
  i2c_stop();
更改位址的方法我是按照他的說明

可是修改完以後 我把兩個srf08串起來使用
第二個出現的值都是65535
以下是第二個的接收
我是直接用第一個接收的方式 只是把位址改掉而已
不知道是不是有錯誤的地方
  i2c_start();                    //initate start condition
  i2c_write(0xE2);                //device address
  i2c_write(0x00);                //register address
  i2c_write(0x51);                //set units to centimeters
  i2c_stop();
  delay_ms(105);                  //wait for returning ping
  i2c_start();                    //initiate a new start condition
  i2c_write(0xE2);                //device address
  i2c_write(0x02);                //address of high byte register
  i2c_start();
  i2c_write(0xE1);                //device address but read
  for (i=0;i<17;i++)
  {
  range[i] = i2c_read(1);         //read first byte and shift left
  range[i] = range[i] << 8;
  if(i<16)
  range[i] += i2c_read(1);           //read second byte and add to 1st
  else
  range[i] += i2c_read(0);
  }
  i2c_stop();
  for (i=0;i<17;i++)
  {
   printf("range in centimeters = %lu\n\r", range[i]);
  }

謝謝進來看以及回答的各位<(_ _)>
作者: chensnowenglish    時間: 2011-7-6 16:20
我公司供應超越SRF08的KS101B超聲波感測器,她採用I2C介面的超聲波測距模組. 探測範圍1cm-650cm.並涵蓋高精溫度、光強度探測.

● 包含即時溫度補償的距離探測,高探測精度
● 採用專利技術的探測模式,探測範圍1cm~650cm
● 探測頻率可達500Hz,即每秒可探測500次
● 使用I2C介面與主機通信,自動回應主機的I2C控制指令
● 共20個可修改的I2C地址,範圍為0xd0 ~ 0xfe (0xf0,0xf2,0xf4,0xf6除外)
● 支持0x00廣播位址
● 83ms快速、高精度的溫度探測,隨時感知環境精確溫度
● 5s未收到I2C控制指令自動進入uA級休眠,並可隨時被主機I2C控制指令喚醒
● 短距探測量程由10cm、20cm、……、至470cm,滿足快速近距探測
● 1ms快速光強探測,即時探測即時光強
● 使用工業級配置,工作溫度 (-30℃~+85℃)
● 寬工作電壓範圍 (3.0V~5.5V)
● 採用獨特的可調濾波降噪技術,電源電壓受干擾或噪音較大時,仍可正常工作
資料資料下載:
中文版說明書及C代碼
英文版說明書及C代碼
http://www.dauxi.com/




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2