SlideShare une entreprise Scribd logo
1  sur  55
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

Contenu connexe

Tendances

六足機器人超入門簡介
六足機器人超入門簡介六足機器人超入門簡介
六足機器人超入門簡介roboard
 
用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人艾鍗科技
 
成果展簡報-Zigbee無線自動燈光及溫度調控系統
成果展簡報-Zigbee無線自動燈光及溫度調控系統成果展簡報-Zigbee無線自動燈光及溫度調控系統
成果展簡報-Zigbee無線自動燈光及溫度調控系統艾鍗科技
 
嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統艾鍗科技
 
HC 05藍芽模組連線
HC 05藍芽模組連線HC 05藍芽模組連線
HC 05藍芽模組連線Chen-Hung Hu
 
Arduino 習作工坊 - Lesson 3 電音之夜
Arduino 習作工坊 -  Lesson 3 電音之夜Arduino 習作工坊 -  Lesson 3 電音之夜
Arduino 習作工坊 - Lesson 3 電音之夜CAVEDU Education
 
2014年HFD硬件自由日活动清华站-GNURadio x HackRF - 王康 / scateu
2014年HFD硬件自由日活动清华站-GNURadio x HackRF  -  王康 / scateu 2014年HFD硬件自由日活动清华站-GNURadio x HackRF  -  王康 / scateu
2014年HFD硬件自由日活动清华站-GNURadio x HackRF - 王康 / scateu Wang Kang
 
MicroPython簡介
MicroPython簡介 MicroPython簡介
MicroPython簡介 Max Lai
 
uRock @ SITCON 2015
uRock @ SITCON 2015uRock @ SITCON 2015
uRock @ SITCON 2015宗凡 楊
 
艾鍗學院-單晶片韌體開發- LCM模組實驗
艾鍗學院-單晶片韌體開發- LCM模組實驗艾鍗學院-單晶片韌體開發- LCM模組實驗
艾鍗學院-單晶片韌體開發- LCM模組實驗艾鍗科技
 
Raspberry Pi 溫濕度發報機
Raspberry Pi 溫濕度發報機Raspberry Pi 溫濕度發報機
Raspberry Pi 溫濕度發報機艾鍗科技
 
Raspberry Pi 智能風扇
Raspberry Pi 智能風扇Raspberry Pi 智能風扇
Raspberry Pi 智能風扇艾鍗科技
 

Tendances (20)

六足機器人超入門簡介
六足機器人超入門簡介六足機器人超入門簡介
六足機器人超入門簡介
 
89S51電路板
89S51電路板89S51電路板
89S51電路板
 
S4A
S4AS4A
S4A
 
用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人
 
成果展簡報-Zigbee無線自動燈光及溫度調控系統
成果展簡報-Zigbee無線自動燈光及溫度調控系統成果展簡報-Zigbee無線自動燈光及溫度調控系統
成果展簡報-Zigbee無線自動燈光及溫度調控系統
 
嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統
 
Arduino藍牙傳輸應用
Arduino藍牙傳輸應用Arduino藍牙傳輸應用
Arduino藍牙傳輸應用
 
Project gps
Project gpsProject gps
Project gps
 
HC 05藍芽模組連線
HC 05藍芽模組連線HC 05藍芽模組連線
HC 05藍芽模組連線
 
Arduino 習作工坊 - Lesson 3 電音之夜
Arduino 習作工坊 -  Lesson 3 電音之夜Arduino 習作工坊 -  Lesson 3 電音之夜
Arduino 習作工坊 - Lesson 3 電音之夜
 
Arduino序列通訊
Arduino序列通訊Arduino序列通訊
Arduino序列通訊
 
Arduino導論
Arduino導論Arduino導論
Arduino導論
 
2014年HFD硬件自由日活动清华站-GNURadio x HackRF - 王康 / scateu
2014年HFD硬件自由日活动清华站-GNURadio x HackRF  -  王康 / scateu 2014年HFD硬件自由日活动清华站-GNURadio x HackRF  -  王康 / scateu
2014年HFD硬件自由日活动清华站-GNURadio x HackRF - 王康 / scateu
 
Arduino程式快速入門
Arduino程式快速入門Arduino程式快速入門
Arduino程式快速入門
 
MicroPython簡介
MicroPython簡介 MicroPython簡介
MicroPython簡介
 
uRock @ SITCON 2015
uRock @ SITCON 2015uRock @ SITCON 2015
uRock @ SITCON 2015
 
艾鍗學院-單晶片韌體開發- LCM模組實驗
艾鍗學院-單晶片韌體開發- LCM模組實驗艾鍗學院-單晶片韌體開發- LCM模組實驗
艾鍗學院-單晶片韌體開發- LCM模組實驗
 
Raspberry Pi 溫濕度發報機
Raspberry Pi 溫濕度發報機Raspberry Pi 溫濕度發報機
Raspberry Pi 溫濕度發報機
 
Raspberry Pi 智能風扇
Raspberry Pi 智能風扇Raspberry Pi 智能風扇
Raspberry Pi 智能風扇
 
Arduino簡介
Arduino簡介Arduino簡介
Arduino簡介
 

En vedette

Introduction to Vortex86EX SoC
Introduction to Vortex86EX SoCIntroduction to Vortex86EX SoC
Introduction to Vortex86EX SoCroboard
 
Introduction to Vortex86EX Motion Control Modules
Introduction to Vortex86EX Motion Control ModulesIntroduction to Vortex86EX Motion Control Modules
Introduction to Vortex86EX Motion Control Modulesroboard
 
LinuxCNC 入門簡介
LinuxCNC 入門簡介LinuxCNC 入門簡介
LinuxCNC 入門簡介roboard
 
86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材roboard
 
廢柴小六足機器人 DIY 課程
廢柴小六足機器人 DIY 課程廢柴小六足機器人 DIY 課程
廢柴小六足機器人 DIY 課程roboard
 
BLDC FOC 控制原理
BLDC FOC 控制原理BLDC FOC 控制原理
BLDC FOC 控制原理roboard
 
馬達基本認識與 BLDC 驅動實驗
馬達基本認識與 BLDC 驅動實驗馬達基本認識與 BLDC 驅動實驗
馬達基本認識與 BLDC 驅動實驗roboard
 
RoBoard x LabVIEW 特別節目劇情版
RoBoard x LabVIEW 特別節目劇情版RoBoard x LabVIEW 特別節目劇情版
RoBoard x LabVIEW 特別節目劇情版roboard
 
Introduction to Vortex86DX2 Motion-Control Evaluation Board
Introduction to Vortex86DX2 Motion-Control Evaluation BoardIntroduction to Vortex86DX2 Motion-Control Evaluation Board
Introduction to Vortex86DX2 Motion-Control Evaluation Boardroboard
 
伺服馬達控制
伺服馬達控制伺服馬達控制
伺服馬達控制艾鍗科技
 
Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14宗凡 楊
 

En vedette (13)

Introduction to Vortex86EX SoC
Introduction to Vortex86EX SoCIntroduction to Vortex86EX SoC
Introduction to Vortex86EX SoC
 
Introduction to Vortex86EX Motion Control Modules
Introduction to Vortex86EX Motion Control ModulesIntroduction to Vortex86EX Motion Control Modules
Introduction to Vortex86EX Motion Control Modules
 
LinuxCNC 入門簡介
LinuxCNC 入門簡介LinuxCNC 入門簡介
LinuxCNC 入門簡介
 
86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材
 
廢柴小六足機器人 DIY 課程
廢柴小六足機器人 DIY 課程廢柴小六足機器人 DIY 課程
廢柴小六足機器人 DIY 課程
 
BLDC FOC 控制原理
BLDC FOC 控制原理BLDC FOC 控制原理
BLDC FOC 控制原理
 
馬達基本認識與 BLDC 驅動實驗
馬達基本認識與 BLDC 驅動實驗馬達基本認識與 BLDC 驅動實驗
馬達基本認識與 BLDC 驅動實驗
 
Pp15z
Pp15zPp15z
Pp15z
 
RoBoard x LabVIEW 特別節目劇情版
RoBoard x LabVIEW 特別節目劇情版RoBoard x LabVIEW 特別節目劇情版
RoBoard x LabVIEW 特別節目劇情版
 
Arduino相關型錄
Arduino相關型錄Arduino相關型錄
Arduino相關型錄
 
Introduction to Vortex86DX2 Motion-Control Evaluation Board
Introduction to Vortex86DX2 Motion-Control Evaluation BoardIntroduction to Vortex86DX2 Motion-Control Evaluation Board
Introduction to Vortex86DX2 Motion-Control Evaluation Board
 
伺服馬達控制
伺服馬達控制伺服馬達控制
伺服馬達控制
 
Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14
 

Similaire à RoBoard 與 Lego NXT Sensors 之連接

IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbedIoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbedBang Min Shiue
 
PIC单片机的A/D和D/A技术
PIC单片机的A/D和D/A技术PIC单片机的A/D和D/A技术
PIC单片机的A/D和D/A技术krfantasy
 
Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)FLASH开发者交流会
 
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)Shanda innovation institute
 
Arduino Basic
Arduino BasicArduino Basic
Arduino Basicmmiwwcom
 
家庭醫療系統 PCMH
家庭醫療系統 PCMH家庭醫療系統 PCMH
家庭醫療系統 PCMH艾鍗科技
 
Avm2虚拟机浅析与as3性能优化
Avm2虚拟机浅析与as3性能优化Avm2虚拟机浅析与as3性能优化
Avm2虚拟机浅析与as3性能优化Harvey Zhang
 
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUGYingSiang Geng
 
[智慧創新應用自造松]LPWAN]技術現況與應用實務
[智慧創新應用自造松]LPWAN]技術現況與應用實務[智慧創新應用自造松]LPWAN]技術現況與應用實務
[智慧創新應用自造松]LPWAN]技術現況與應用實務MAKERPRO.cc
 
Arduino 習作工坊 - Lesson 4 通訊之夜
Arduino 習作工坊 -  Lesson 4 通訊之夜Arduino 習作工坊 -  Lesson 4 通訊之夜
Arduino 習作工坊 - Lesson 4 通訊之夜CAVEDU Education
 
Sy03091说明书
Sy03091说明书Sy03091说明书
Sy03091说明书guest8f3690
 
20120613 - Hardware knowledge which the software engineer must understand
20120613 - Hardware knowledge which the software engineer must understand20120613 - Hardware knowledge which the software engineer must understand
20120613 - Hardware knowledge which the software engineer must understandJethro Yeh
 
Argox as 8020-cl_8520_1d藍芽條碼掃描器dm
Argox as 8020-cl_8520_1d藍芽條碼掃描器dmArgox as 8020-cl_8520_1d藍芽條碼掃描器dm
Argox as 8020-cl_8520_1d藍芽條碼掃描器dmLee Leo
 
Ph03 vs 21 with tda93xx- om8371, fschq0765rt
Ph03 vs 21 with tda93xx- om8371, fschq0765rtPh03 vs 21 with tda93xx- om8371, fschq0765rt
Ph03 vs 21 with tda93xx- om8371, fschq0765rtGolijat Udjibegovic
 
COSCUP 2014 : open source compiler 戰國時代的軍備競賽
COSCUP 2014 : open source compiler 戰國時代的軍備競賽COSCUP 2014 : open source compiler 戰國時代的軍備競賽
COSCUP 2014 : open source compiler 戰國時代的軍備競賽Kito Cheng
 
Arduino 習作工坊#2 - 動力之夜150114
Arduino 習作工坊#2 - 動力之夜150114Arduino 習作工坊#2 - 動力之夜150114
Arduino 習作工坊#2 - 動力之夜150114CAVEDU Education
 
藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)GoGoPrivateRyan
 

Similaire à RoBoard 與 Lego NXT Sensors 之連接 (20)

IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbedIoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
 
PIC单片机的A/D和D/A技术
PIC单片机的A/D和D/A技术PIC单片机的A/D和D/A技术
PIC单片机的A/D和D/A技术
 
Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)
 
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
 
Arduino Basic
Arduino BasicArduino Basic
Arduino Basic
 
Stm32 technical slide_pdf
Stm32 technical slide_pdfStm32 technical slide_pdf
Stm32 technical slide_pdf
 
家庭醫療系統 PCMH
家庭醫療系統 PCMH家庭醫療系統 PCMH
家庭醫療系統 PCMH
 
Avm2虚拟机浅析与as3性能优化
Avm2虚拟机浅析与as3性能优化Avm2虚拟机浅析与as3性能优化
Avm2虚拟机浅析与as3性能优化
 
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
 
[智慧創新應用自造松]LPWAN]技術現況與應用實務
[智慧創新應用自造松]LPWAN]技術現況與應用實務[智慧創新應用自造松]LPWAN]技術現況與應用實務
[智慧創新應用自造松]LPWAN]技術現況與應用實務
 
Arduino 習作工坊 - Lesson 4 通訊之夜
Arduino 習作工坊 -  Lesson 4 通訊之夜Arduino 習作工坊 -  Lesson 4 通訊之夜
Arduino 習作工坊 - Lesson 4 通訊之夜
 
Sy03091说明书
Sy03091说明书Sy03091说明书
Sy03091说明书
 
20120613 - Hardware knowledge which the software engineer must understand
20120613 - Hardware knowledge which the software engineer must understand20120613 - Hardware knowledge which the software engineer must understand
20120613 - Hardware knowledge which the software engineer must understand
 
电子监控设备 | 4B
电子监控设备 | 4B电子监控设备 | 4B
电子监控设备 | 4B
 
Argox as 8020-cl_8520_1d藍芽條碼掃描器dm
Argox as 8020-cl_8520_1d藍芽條碼掃描器dmArgox as 8020-cl_8520_1d藍芽條碼掃描器dm
Argox as 8020-cl_8520_1d藍芽條碼掃描器dm
 
Ph03 vs 21 with tda93xx- om8371, fschq0765rt
Ph03 vs 21 with tda93xx- om8371, fschq0765rtPh03 vs 21 with tda93xx- om8371, fschq0765rt
Ph03 vs 21 with tda93xx- om8371, fschq0765rt
 
COSCUP 2014 : open source compiler 戰國時代的軍備競賽
COSCUP 2014 : open source compiler 戰國時代的軍備競賽COSCUP 2014 : open source compiler 戰國時代的軍備競賽
COSCUP 2014 : open source compiler 戰國時代的軍備競賽
 
Arduino 習作工坊#2 - 動力之夜150114
Arduino 習作工坊#2 - 動力之夜150114Arduino 習作工坊#2 - 動力之夜150114
Arduino 習作工坊#2 - 動力之夜150114
 
Arduino導讀
Arduino導讀Arduino導讀
Arduino導讀
 
藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
 

RoBoard 與 Lego NXT Sensors 之連接

  • 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 Number Color Name(Sensor) 1 White Anx 2 Black GND 3 Red GND 4 Green IPOWERx 5 Yellow DIGIxI0 6 Blue DIGIxI1
  • 7.
  • 8. 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
  • 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 <--> NXT sensors 轉接線材製作 (2)
  • 13. NXT Touch Sensor • 觸碰感測器藉由是否被按下可以知道與物 體之間的碰撞情形 • 通常會用在偵測機器人是否與物體有接觸 或碰撞
  • 14. RoBoard 控制 NXT Touch 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 控制 NXT Touch 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 控制 NXT Light 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 控制 NXT Light Sensor 原理 (3)
  • 23. • Light Sensor 在 RoBoard 上回傳值的定義 RoBoard 控制 NXT Light Sensor 原理 (4) 當光線亮度較高時,回傳值會 較低。 當光線亮度較低時,回傳值會 較高。 PS: 另外紅色燈光的部分可藉由 GPIO 控制 : GPIO 1 ⇒ 亮 GPIO 0 ⇒ 暗
  • 24. 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); // 開啟紅燈
  • 25. NXT Sound Sensor • 聲音感測器用來偵測週遭聲音大小,其測 量單位分為 dB( 分貝 ) 和 dBA( 調整分貝 ) 兩 種。 • 在機器人的應用上可以用來記錄聲音的聲 紋,進而做比對、辨識的應用。
  • 26. RoBoard 控制 NXT Sound Sensor 原理 (1) • Sound Sensor 的內部電路圖
  • 27. 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
  • 28. RoBoard 控制 NXT Sound Sensor 原理 (3)
  • 29. • Light Sensor 在 RoBoard 上回傳值的定義 測量單位分為 dB( 分貝 ) 和 dBA( 調整分貝 ) 兩種 ( 利用 GPIO 改變 PIN5, PIN6 的 high, low 來控制測量單位 ) RoBoard 控制 NXT Sound Sensor 原理 (4) 聲音較大時回傳值較低 ; 聲音較小時,回傳值較高 。
  • 30. 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);
  • 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 控制 NXT Ultrasonic Sensor 原理 (2) • Ultrasonic Sensor 與 RoBoard 的連接 VCC(9V) GND GND VCC(5V) SCL SDA RoBoard Ultrasonic Sensor
  • 35. RoBoard 控制 NXT Ultrasonic Sensor 原理 (3)
  • 36. RoBoard 控制 NXT Ultrasonic Sensor 原理 (4) • Ultrasoni Sensor 在 RoBoard 上回傳值的定義 當回傳的值越低時,代表離障礙物距離越短。
  • 37. 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 的值
  • 38. NXT Motor • NXT Motor 可做為驅動車子的馬達,或是應用於需要 旋轉的關節等等。使用者可以控制馬達的轉向、轉動 角度與轉動速度。
  • 39. RoBoard 控制 NXT Motor 原理 (1) 馬達 編碼器 NXT Motor • NXT Motor 為直流馬達與編碼器所組成,跟伺服馬達相比 ,少了控制器。 馬達 編碼器 Servo Motor 控制器
  • 40. RoBoard 控制 NXT Motor 原理 (2) • 方向控制 : H - Bridge
  • 41. RoBoard 控制 NXT Motor 原理 (3) • 方向控制 : H - Bridge
  • 42. RoBoard 控制 NXT Motor 原理 (4) • 轉速控制 平均電 壓
  • 43.  為了方便,可以在電子材料行購買 H-Bridge IC ,一 般常見的 IC 腳位 : RoBoard 控制 NXT Motor 原理 (5)
  • 44. 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 訊號腳位 :
  • 45. 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
  • 46. RoBoard 控制 NXT Motor 原理 (8)
  • 47. 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();
  • 48. RoBoard 控制 NXT Motor 原理 (10) • NXT Moter 回朔方式 :
  • 49. 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
  • 50. 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
  • 51. RoBoard 控制 NXT Motor 原理 (13) • H-Bridge IC 的電流回朔功能,偵測直流馬達的的電 流大小。 簡易直流馬達等效電 路
  • 52. 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
  • 53. RoBoard 控制 NXT Motor 原理 (15)
  • 54. 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);

Notes de l'éditeur

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