RoBoard 與 LEGO NXT
LEGO NXT
RoBoard
• 24 PWM ⇒ 控制 PWM servo
• 4 serial ports ⇒ 控制 serial servo
• I2
C/ADC port ⇒ 各種 sensor, LEGO NXT
• USB port ⇒ Camera, Wii, Kinect
• Computing Power ⇒ 複雜的控制演算法
RoBoard 的附加價值
• 上網 , 打 BBS, MSN
– 雖然 不動跑 YouTube
• 動物機
– 超低功耗 (2W), P2P 極品
• 打 Word, 做投影片
OutLine
• RoBoard <--> NXT sensors 轉接線材製作
• RoBoard 控制 NXT Touch Sensor 原理
• RoBoard 控制 NXT Light Sensor 原理
• RoBoard 控制 NXT Sound Sensor 原理
• RoBoard 控制 NXT Ultrasonic Sensor 原理
• RoBoard 控制 NXT Motor 原理
NXT Sensors
Pin Number Color Name(Sensor)
1 White Anx
2 Black GND
3 Red GND
4 Green IPOWERx
5 Yellow DIGIxI0
6 Blue DIGIxI1
NXT Motor
Pin Number Color Name(Motor)
1 White Mx1
2 Black Mx2
3 Red GND
4 Green POWERMx
5 Yellow TACHOx0
6 Blue TACHOx1
• RoBoard 連接 NXT 轉接頭線材之製作
準備材料 : LEGO NXT 轉接頭  1( 可由翰尼斯購得 )
線材  6( 一般材料行購得 )
RoBoard <--> NXT 轉接線材製作 (1)
LEGO NXT 轉接頭
RoBoard <--> NXT 轉接線材製作 (2)
• 製作 AD 使用的連接線 ( 包含 10KΩ pull-up
resistor )
準備材料 : 10KΩ 電阻  1 ( 一般材料行購得 )
線材  2 ( 一般材料行購得 )
RoBoard <--> NXT sensors 轉接線材製作 (1)
10(9+1) kΩ 電阻
RoBoard <--> NXT sensors 轉接線材製作 (2)
NXT Touch Sensor
• 觸碰感測器藉由是否被按下可以知道與物
體之間的碰撞情形
• 通常會用在偵測機器人是否與物體有接觸
或碰撞
RoBoard 控制 NXT Touch Sensor 原理
(1)
• Touch Sensor 的內部電路圖
• Touch Sensor 與 RoBoard 的連接
RoBoard 控制 NXT Touch Sensor 原理
(2)
Touch Sensor
VCC(5V)
AD-VINx
GND
GND
RoBoard
with a 10KΩ pull-up resistor
RoBoard 控制 NXT Touch Sensor 原理
(3)
• Touch Sensor 在 RoBoard 上的回傳值定義
RoBoard 控制 NXT Touch Sensor 原理
(4)
• RoBoard 控制 NXT Touch Sensor 範例 :
int val;
roboio_SetRBVer(RB_100); // 設定 RoBoard 版本
spi_Init(SPICLK_21400KHZ); // 初始化 SPI
val = adc_ReadCH(0); // 讀取 AD CH0 的值
if (val == ADC_READFAIL)
printf("ERROR: fail to read ADC value on channel 0!n");
else
printf("ADC value on channel 0 = %4dr", val);
RoBoard 控制 NXT Touch Sensor 原理
(5)
NXT Light Sensor
• 光線明暗感測器可偵測反射物質的亮度。
• 國際奧林匹克機器人競賽中的軌跡賽項目
,便是利用此感測器去應用的。
RoBoard 控制 NXT Light Sensor 原理 (1)
• Light Sensor 的內部電路圖
• Light Sensor 與 RoBoard 的連接
RoBoard 控制 NXT Light Sensor 原理 (2)
VCC(5V)
AD-VINx
GND
VCC(5V)
GPIO
with a 10KΩ pull-up resistor
RoBoard
Light Sensor
RoBoard 控制 NXT Light Sensor 原理 (3)
• Light Sensor 在 RoBoard 上回傳值的定義
RoBoard 控制 NXT Light Sensor 原理 (4)
當光線亮度較高時,回傳值會
較低。
當光線亮度較低時,回傳值會
較高。
PS: 另外紅色燈光的部分可藉由 GPIO 控制 : GPIO 1 ⇒
亮
GPIO 0 ⇒ 暗
RoBoard 控制 NXT Light Sensor 原理 (5)
• RoBoard 控制 NXT Light Sensor 範例 :
int val;
roboio_SetRBVer(RB_100); // 設定 RoBoard 版本
spi_Init(SPICLK_21400KHZ); //init SPI lib for accessing the A/D converter
rcservo_Init(RCSERVO_USENOPIN); // 設定為 GPIO 模式
val = adc_ReadCH(0); // 讀取 AD CH0 的值
if (val > 600)
rcservo_OutPin(RCSERVO_PINS6, 0); // 關掉紅燈
else
rcservo_OutPin(RCSERVO_PINS6, 1); // 開啟紅燈
NXT Sound Sensor
• 聲音感測器用來偵測週遭聲音大小,其測
量單位分為 dB( 分貝 ) 和 dBA( 調整分貝 ) 兩
種。
• 在機器人的應用上可以用來記錄聲音的聲
紋,進而做比對、辨識的應用。
RoBoard 控制 NXT Sound Sensor 原理
(1)
• Sound Sensor 的內部電路圖
RoBoard 控制 NXT Sound Sensor 原理
(2)
• Sound Sensor 與 RoBoard 的連接
VCC(5V)
AD-VINx
GND
VCC(5V)
GPIO
GPIO
with a 10KΩ pull-up resistor
RoBoard
Sound Sensor
RoBoard 控制 NXT Sound Sensor 原理
(3)
• Light Sensor 在 RoBoard 上回傳值的定義
測量單位分為 dB( 分貝 ) 和 dBA( 調整分貝 ) 兩種 ( 利用
GPIO 改變 PIN5, PIN6 的 high, low 來控制測量單位 )
RoBoard 控制 NXT Sound Sensor 原理
(4)
聲音較大時回傳值較低 ; 聲音較小時,回傳值較高
。
RoBoard 控制 NXT Sound Sensor 原理
(5)
• RoBoard 控制 NXT Light Sensor 範例 :
int val;
roboio_SetRBVer(RB_100); // 設定 RoBoard 版本
spi_Init(SPICLK_21400KHZ); //init SPI lib for accessing the A/D converter
rcservo_Init(RCSERVO_USENOPIN); // 設定為 GPIO 模式
rcservo_OutPin(RCSERVO_PINS6, 0); // 設定測量單位 (dB or dBA)
rcservo_OutPin(RCSERVO_PINS7, 1); //(dB:1, 0 ; dBA:0, 1)
val = adc_ReadCH(1); // 讀取 AD CH1 的值
if (val == ADC_READFAIL)
printf("ERROR: fail to read Sound sensor on channel 1!n");
else
printf("Sound sensor return val = %4dr", val);
NXT Ultrasonic Sensor
• 超音波感測器藉由發射聲波至物體碰撞反
射回來的時間來判斷距離的遠近
• 檢測前方是否有物體,並測量與物體的距
離,可以進行閃避或清除的工作
• Ultrasonic Sensor 的內部電路圖
RoBoard 控制 NXT Ultrasonic Sensor 原理
(1)
NXT I2C V.S. Standard I2C
Standard I2C
NXT I2C
SDA
SCL
RoBoard 控制 NXT Ultrasonic Sensor 原理
(2)
• Ultrasonic Sensor 與 RoBoard 的連接
VCC(9V)
GND
GND
VCC(5V)
SCL
SDA
RoBoard
Ultrasonic Sensor
RoBoard 控制 NXT Ultrasonic Sensor 原理
(3)
RoBoard 控制 NXT Ultrasonic Sensor 原理
(4)
• Ultrasoni Sensor 在 RoBoard 上回傳值的定義
當回傳的值越低時,代表離障礙物距離越短。
RoBoard 控制 NXT Ultrasonic Sensor 原理
(5)
• RoBoard 控制 NXT Ultrasonic Sensor 範例 :
unsigned char data[1] = {0};
roboio_SetRBVer(RB_100); // 設定 RoBoard 版本
i2c_InitSW(I2CSW_LEGO, 100); // 設定 I2C 為 LEGO Mode, clock delay 100ms
i2c_SensorRead(0x02 >> 1, 0x42, data, 1); // 讀取 Ultrasonic Sensor 的值
printf("data = %8dr", data[0]); // 讀取 AD CH1 的值
NXT Motor
• NXT Motor 可做為驅動車子的馬達,或是應用於需要
旋轉的關節等等。使用者可以控制馬達的轉向、轉動
角度與轉動速度。
RoBoard 控制 NXT Motor 原理
(1)
馬達
編碼器
NXT Motor
• NXT Motor 為直流馬達與編碼器所組成,跟伺服馬達相比
,少了控制器。
馬達
編碼器
Servo Motor
控制器
RoBoard 控制 NXT Motor 原理 (2)
• 方向控制 : H - Bridge
RoBoard 控制 NXT Motor 原理 (3)
• 方向控制 : H - Bridge
RoBoard 控制 NXT Motor 原理 (4)
• 轉速控制
平均電
壓

為了方便,可以在電子材料行購買 H-Bridge IC ,一
般常見的 IC 腳位 :
RoBoard 控制 NXT Motor 原理 (5)
PIN Color Name
1 White Mx1
2 Black Mx2
3 Red GND
4 Green POWERx
5 Yellow TACHOx0
6 Blue TACHOx1
Motor
Encoder
NXT Motor
RoBoard 控制 NXT Motor 原理 (6)
• NXT Motor 訊號腳位 :
RoBoard 控制 NXT Motor 原理 (7)
• RoBoard 、 H-Bridge IC 和 Motor 的連接 ( 無回朔 )
IN1
IN2
OUT1
OUT2
GND
VCC
PIN Color Name
1 White Mx1
2 Black Mx2
PWM
PWM
GND
Vxx
GPIO
GPIO
H-Bridge RoBoard
NXT Motor
RoBoard 控制 NXT Motor 原理 (8)
RoBoard 控制 NXT Motor 原理 (9)
• RoBoard 控制 NXT 範例 :
Unsigned long duty = 60L, period = 128L;
roboio_SetRBVer(RB_100);
rcservo_Init(RCSERVO_USEPINS3 + RCSERVO_USEPINS4);
rcservo_EnterPWMMode();
rcservo_SendCPWM(RCSERVO_PINS3, period, duty); // Clockwise
rcservo_StopPWM(RCSERVO_PINS3);
rcservo_SendCPWM(RCSERVO_PINS4, period, duty); // Counterclockwise
rcservo_StopPWM(RCSERVO_PINS4);
rcservo_Close();
RoBoard 控制 NXT Motor 原理 (10)
• NXT Moter 回朔方式 :
PIN Case 1 Case 2 Case 3 Case 4
PIN5 H → H H → L L → L L → H
PIN6 L → H H → H H → L L → L
• 回朔訊號 : 逆時針旋轉
RoBoard 控制 NXT Motor 原理 (11)
PIN5
PIN6
PIN Case 1 Case 2 Case 3 Case 4
PIN5 H → H H → L L → L L → H
PIN6 H → L L → L L → H H → H
RoBoard 控制 NXT Motor 原理 (12)
• 回朔訊號 : 順時針旋轉
PIN6
PIN5
RoBoard 控制 NXT Motor 原理 (13)
• H-Bridge IC 的電流回朔功能,偵測直流馬達的的電
流大小。
簡易直流馬達等效電
路
RoBoard 控制 NXT Motor 原理 (14)
• RoBoard 、 H-Bridge IC 和 Motor 的連接 ( 有回朔 )
IN1
IN2
OUT1
OUT2
GND
VCC
PIN Color
1 White
2 Black
3 Red
4 Green
5
Yello
w
6 Blue
NXT Motor
H-Bridge
PWM
PWM
GND
VCC(5V)
GPIO
GPIO
RoBoard
GPIO
RoBoard 控制 NXT Motor 原理 (15)
RoBoard 控制 NXT Motor 原理 (16)
• RoBoard 讀取 NXT Motor 回授範例 :
int count = 0; // 周期數
unsigned long data, pre_data;
roboio_SetRBVer(RB_100);
pre_data = rcservo_Inps(RCSERVO_USEPINS1 + RCSERVO_USEPINS2);
while(!kbhit()){ // 監控 PIN 腳的電位變化
data = rcservo_Inps(RCSERVO_USEPINS1 + RCSERVO_USEPINS2);
if(pre_data == 1L && data == 3L) // 1 : PIN5 = 1, PIN6 = 0
count -= 1; // 3 : PIN5 = PIN6 = 1
else if(pre_data == 3L && data == 1L)
count += 1;
pre_data = data;
}
Printf(“%dn”, count);
Thanks

RoBoard 與 Lego NXT Sensors 之連接

  • 1.
  • 2.
  • 3.
    RoBoard • 24 PWM⇒ 控制 PWM servo • 4 serial ports ⇒ 控制 serial servo • I2 C/ADC port ⇒ 各種 sensor, LEGO NXT • USB port ⇒ Camera, Wii, Kinect • Computing Power ⇒ 複雜的控制演算法
  • 4.
    RoBoard 的附加價值 • 上網, 打 BBS, MSN – 雖然 不動跑 YouTube • 動物機 – 超低功耗 (2W), P2P 極品 • 打 Word, 做投影片
  • 5.
    OutLine • RoBoard <-->NXT sensors 轉接線材製作 • RoBoard 控制 NXT Touch Sensor 原理 • RoBoard 控制 NXT Light Sensor 原理 • RoBoard 控制 NXT Sound Sensor 原理 • RoBoard 控制 NXT Ultrasonic Sensor 原理 • RoBoard 控制 NXT Motor 原理
  • 6.
    NXT Sensors Pin NumberColor Name(Sensor) 1 White Anx 2 Black GND 3 Red GND 4 Green IPOWERx 5 Yellow DIGIxI0 6 Blue DIGIxI1
  • 8.
    NXT Motor Pin NumberColor Name(Motor) 1 White Mx1 2 Black Mx2 3 Red GND 4 Green POWERMx 5 Yellow TACHOx0 6 Blue TACHOx1
  • 9.
    • RoBoard 連接NXT 轉接頭線材之製作 準備材料 : LEGO NXT 轉接頭  1( 可由翰尼斯購得 ) 線材  6( 一般材料行購得 ) RoBoard <--> NXT 轉接線材製作 (1) LEGO NXT 轉接頭
  • 10.
    RoBoard <--> NXT轉接線材製作 (2)
  • 11.
    • 製作 AD使用的連接線 ( 包含 10KΩ pull-up resistor ) 準備材料 : 10KΩ 電阻  1 ( 一般材料行購得 ) 線材  2 ( 一般材料行購得 ) RoBoard <--> NXT sensors 轉接線材製作 (1) 10(9+1) kΩ 電阻
  • 12.
    RoBoard <--> NXTsensors 轉接線材製作 (2)
  • 13.
    NXT Touch Sensor •觸碰感測器藉由是否被按下可以知道與物 體之間的碰撞情形 • 通常會用在偵測機器人是否與物體有接觸 或碰撞
  • 14.
    RoBoard 控制 NXTTouch Sensor 原理 (1) • Touch Sensor 的內部電路圖
  • 15.
    • Touch Sensor與 RoBoard 的連接 RoBoard 控制 NXT Touch Sensor 原理 (2) Touch Sensor VCC(5V) AD-VINx GND GND RoBoard with a 10KΩ pull-up resistor
  • 16.
    RoBoard 控制 NXTTouch Sensor 原理 (3)
  • 17.
    • Touch Sensor在 RoBoard 上的回傳值定義 RoBoard 控制 NXT Touch Sensor 原理 (4)
  • 18.
    • RoBoard 控制NXT Touch Sensor 範例 : int val; roboio_SetRBVer(RB_100); // 設定 RoBoard 版本 spi_Init(SPICLK_21400KHZ); // 初始化 SPI val = adc_ReadCH(0); // 讀取 AD CH0 的值 if (val == ADC_READFAIL) printf("ERROR: fail to read ADC value on channel 0!n"); else printf("ADC value on channel 0 = %4dr", val); RoBoard 控制 NXT Touch Sensor 原理 (5)
  • 19.
    NXT Light Sensor •光線明暗感測器可偵測反射物質的亮度。 • 國際奧林匹克機器人競賽中的軌跡賽項目 ,便是利用此感測器去應用的。
  • 20.
    RoBoard 控制 NXTLight Sensor 原理 (1) • Light Sensor 的內部電路圖
  • 21.
    • Light Sensor與 RoBoard 的連接 RoBoard 控制 NXT Light Sensor 原理 (2) VCC(5V) AD-VINx GND VCC(5V) GPIO with a 10KΩ pull-up resistor RoBoard Light Sensor
  • 22.
    RoBoard 控制 NXTLight Sensor 原理 (3)
  • 23.
    • Light Sensor在 RoBoard 上回傳值的定義 RoBoard 控制 NXT Light Sensor 原理 (4) 當光線亮度較高時,回傳值會 較低。 當光線亮度較低時,回傳值會 較高。 PS: 另外紅色燈光的部分可藉由 GPIO 控制 : GPIO 1 ⇒ 亮 GPIO 0 ⇒ 暗
  • 24.
    RoBoard 控制 NXTLight Sensor 原理 (5) • RoBoard 控制 NXT Light Sensor 範例 : int val; roboio_SetRBVer(RB_100); // 設定 RoBoard 版本 spi_Init(SPICLK_21400KHZ); //init SPI lib for accessing the A/D converter rcservo_Init(RCSERVO_USENOPIN); // 設定為 GPIO 模式 val = adc_ReadCH(0); // 讀取 AD CH0 的值 if (val > 600) rcservo_OutPin(RCSERVO_PINS6, 0); // 關掉紅燈 else rcservo_OutPin(RCSERVO_PINS6, 1); // 開啟紅燈
  • 25.
    NXT Sound Sensor •聲音感測器用來偵測週遭聲音大小,其測 量單位分為 dB( 分貝 ) 和 dBA( 調整分貝 ) 兩 種。 • 在機器人的應用上可以用來記錄聲音的聲 紋,進而做比對、辨識的應用。
  • 26.
    RoBoard 控制 NXTSound Sensor 原理 (1) • Sound Sensor 的內部電路圖
  • 27.
    RoBoard 控制 NXTSound Sensor 原理 (2) • Sound Sensor 與 RoBoard 的連接 VCC(5V) AD-VINx GND VCC(5V) GPIO GPIO with a 10KΩ pull-up resistor RoBoard Sound Sensor
  • 28.
    RoBoard 控制 NXTSound Sensor 原理 (3)
  • 29.
    • Light Sensor在 RoBoard 上回傳值的定義 測量單位分為 dB( 分貝 ) 和 dBA( 調整分貝 ) 兩種 ( 利用 GPIO 改變 PIN5, PIN6 的 high, low 來控制測量單位 ) RoBoard 控制 NXT Sound Sensor 原理 (4) 聲音較大時回傳值較低 ; 聲音較小時,回傳值較高 。
  • 30.
    RoBoard 控制 NXTSound Sensor 原理 (5) • RoBoard 控制 NXT Light Sensor 範例 : int val; roboio_SetRBVer(RB_100); // 設定 RoBoard 版本 spi_Init(SPICLK_21400KHZ); //init SPI lib for accessing the A/D converter rcservo_Init(RCSERVO_USENOPIN); // 設定為 GPIO 模式 rcservo_OutPin(RCSERVO_PINS6, 0); // 設定測量單位 (dB or dBA) rcservo_OutPin(RCSERVO_PINS7, 1); //(dB:1, 0 ; dBA:0, 1) val = adc_ReadCH(1); // 讀取 AD CH1 的值 if (val == ADC_READFAIL) printf("ERROR: fail to read Sound sensor on channel 1!n"); else printf("Sound sensor return val = %4dr", val);
  • 31.
    NXT Ultrasonic Sensor •超音波感測器藉由發射聲波至物體碰撞反 射回來的時間來判斷距離的遠近 • 檢測前方是否有物體,並測量與物體的距 離,可以進行閃避或清除的工作
  • 32.
    • Ultrasonic Sensor的內部電路圖 RoBoard 控制 NXT Ultrasonic Sensor 原理 (1)
  • 33.
    NXT I2C V.S.Standard I2C Standard I2C NXT I2C SDA SCL
  • 34.
    RoBoard 控制 NXTUltrasonic Sensor 原理 (2) • Ultrasonic Sensor 與 RoBoard 的連接 VCC(9V) GND GND VCC(5V) SCL SDA RoBoard Ultrasonic Sensor
  • 35.
    RoBoard 控制 NXTUltrasonic Sensor 原理 (3)
  • 36.
    RoBoard 控制 NXTUltrasonic Sensor 原理 (4) • Ultrasoni Sensor 在 RoBoard 上回傳值的定義 當回傳的值越低時,代表離障礙物距離越短。
  • 37.
    RoBoard 控制 NXTUltrasonic Sensor 原理 (5) • RoBoard 控制 NXT Ultrasonic Sensor 範例 : unsigned char data[1] = {0}; roboio_SetRBVer(RB_100); // 設定 RoBoard 版本 i2c_InitSW(I2CSW_LEGO, 100); // 設定 I2C 為 LEGO Mode, clock delay 100ms i2c_SensorRead(0x02 >> 1, 0x42, data, 1); // 讀取 Ultrasonic Sensor 的值 printf("data = %8dr", data[0]); // 讀取 AD CH1 的值
  • 38.
    NXT Motor • NXTMotor 可做為驅動車子的馬達,或是應用於需要 旋轉的關節等等。使用者可以控制馬達的轉向、轉動 角度與轉動速度。
  • 39.
    RoBoard 控制 NXTMotor 原理 (1) 馬達 編碼器 NXT Motor • NXT Motor 為直流馬達與編碼器所組成,跟伺服馬達相比 ,少了控制器。 馬達 編碼器 Servo Motor 控制器
  • 40.
    RoBoard 控制 NXTMotor 原理 (2) • 方向控制 : H - Bridge
  • 41.
    RoBoard 控制 NXTMotor 原理 (3) • 方向控制 : H - Bridge
  • 42.
    RoBoard 控制 NXTMotor 原理 (4) • 轉速控制 平均電 壓
  • 43.
     為了方便,可以在電子材料行購買 H-Bridge IC,一 般常見的 IC 腳位 : RoBoard 控制 NXT Motor 原理 (5)
  • 44.
    PIN Color Name 1White Mx1 2 Black Mx2 3 Red GND 4 Green POWERx 5 Yellow TACHOx0 6 Blue TACHOx1 Motor Encoder NXT Motor RoBoard 控制 NXT Motor 原理 (6) • NXT Motor 訊號腳位 :
  • 45.
    RoBoard 控制 NXTMotor 原理 (7) • RoBoard 、 H-Bridge IC 和 Motor 的連接 ( 無回朔 ) IN1 IN2 OUT1 OUT2 GND VCC PIN Color Name 1 White Mx1 2 Black Mx2 PWM PWM GND Vxx GPIO GPIO H-Bridge RoBoard NXT Motor
  • 46.
    RoBoard 控制 NXTMotor 原理 (8)
  • 47.
    RoBoard 控制 NXTMotor 原理 (9) • RoBoard 控制 NXT 範例 : Unsigned long duty = 60L, period = 128L; roboio_SetRBVer(RB_100); rcservo_Init(RCSERVO_USEPINS3 + RCSERVO_USEPINS4); rcservo_EnterPWMMode(); rcservo_SendCPWM(RCSERVO_PINS3, period, duty); // Clockwise rcservo_StopPWM(RCSERVO_PINS3); rcservo_SendCPWM(RCSERVO_PINS4, period, duty); // Counterclockwise rcservo_StopPWM(RCSERVO_PINS4); rcservo_Close();
  • 48.
    RoBoard 控制 NXTMotor 原理 (10) • NXT Moter 回朔方式 :
  • 49.
    PIN Case 1Case 2 Case 3 Case 4 PIN5 H → H H → L L → L L → H PIN6 L → H H → H H → L L → L • 回朔訊號 : 逆時針旋轉 RoBoard 控制 NXT Motor 原理 (11) PIN5 PIN6
  • 50.
    PIN Case 1Case 2 Case 3 Case 4 PIN5 H → H H → L L → L L → H PIN6 H → L L → L L → H H → H RoBoard 控制 NXT Motor 原理 (12) • 回朔訊號 : 順時針旋轉 PIN6 PIN5
  • 51.
    RoBoard 控制 NXTMotor 原理 (13) • H-Bridge IC 的電流回朔功能,偵測直流馬達的的電 流大小。 簡易直流馬達等效電 路
  • 52.
    RoBoard 控制 NXTMotor 原理 (14) • RoBoard 、 H-Bridge IC 和 Motor 的連接 ( 有回朔 ) IN1 IN2 OUT1 OUT2 GND VCC PIN Color 1 White 2 Black 3 Red 4 Green 5 Yello w 6 Blue NXT Motor H-Bridge PWM PWM GND VCC(5V) GPIO GPIO RoBoard GPIO
  • 53.
    RoBoard 控制 NXTMotor 原理 (15)
  • 54.
    RoBoard 控制 NXTMotor 原理 (16) • RoBoard 讀取 NXT Motor 回授範例 : int count = 0; // 周期數 unsigned long data, pre_data; roboio_SetRBVer(RB_100); pre_data = rcservo_Inps(RCSERVO_USEPINS1 + RCSERVO_USEPINS2); while(!kbhit()){ // 監控 PIN 腳的電位變化 data = rcservo_Inps(RCSERVO_USEPINS1 + RCSERVO_USEPINS2); if(pre_data == 1L && data == 3L) // 1 : PIN5 = 1, PIN6 = 0 count -= 1; // 3 : PIN5 = PIN6 = 1 else if(pre_data == 3L && data == 1L) count += 1; pre_data = data; } Printf(“%dn”, count);
  • 55.

Editor's Notes

  • #30 dBA , dBB , dBC 這三組濾波電路是針對人耳對於低頻的感觀在某個音壓下,會有不同的聆聽表現, 舉例當我們聆聽小聲的音樂電平時,對於低頻的反應是不靈敏,然後就量測麥克風儀器而言, 在任何音壓裡,對於低頻應有的能量取得是一樣的靈敏,這樣會造成在小音壓底下,麥克風量到的 與耳朵聽到的會不一致,為了讓人耳這樣的等響曲線與量測的曲線相似,在音壓量計上,或是量測曲線儀上,都會提供大約 2~3 個不同音壓範圍的曲線濾波選擇。 聲壓位準在 20~55 dB SPL 範圍內,建議使用 A 加權曲線網路 . 聲壓位準在 55~85 dB SPL 範圍內,建議使用 B 加權曲線網路 . 聲壓位準在 85~140 dB SPL 範圍內,建議使用 C 加權曲線網路