RoBoard魔人的機器人日誌

2012/1/24

[NXT系列第三彈] RoBoard控制Ultrasonic Sensor

NXT-Ultrasonic Sensor



終於到了超音波感測器~

線材依然是不多說囉~

不過這一次不需要用到AD   也就是   分岔的白線不需要用到

因為超音波是用I2C

在蠻久之前有講過I2C    就是G146以及wii搖桿的時候

所以相信大家都蠻熟析這介面的





先來看看怎麼接吧!

白 ───VCC(9V)
黑 ──────GND
紅 ──────GND
綠 ──────VCC(5V)
黃 ──────SCL
藍 ──────SDA


注意白線是給9V
紅線是給5V




本魔在此是使用110
所以我servo power直接給9V的電   PWM輸出就是9V了!
用的是100   你也可以直接把電源給9V    或另外接外部電源
至於Ultrasonic sensor的位址以及命令為何呢?


addr : 0x02>>1
cmd : 0x42






這樣基本上就可以去讀取sensor回傳的值囉!


範例影片:






範例code:
#include "stdio.h"
#define USE_COMMON
#include "common.h"
#include "conio.h"
#include "roboard.h"
int main(){
 roboio_SetRBVer(RB_110);
 int val = 0;
 i2c_InitSW(I2CSW_LEGO,100);
 unsigned char data[1] = {0};
 while(!kbhit()){
  i2c_SensorRead(0x02>>1,0x42,data,1);
  delay_ms(100);
  printf("%3d\r",data[0]);
 }
 i2c_Close();
 return 0;
}
Share:

2 則留言:

  1. 想請問一下喔,i2c_InitSW()是藏在i2c.h裡面嗎?為什麼我找不到呢?

    回覆刪除

技術提供:Blogger.

追蹤者