ROBOTC LEGO LEGO1 4 ROBOTC LEGO LEGO2 5




ROBOTC & LEGO • LEGO韌體更新流程-1 4

ROBOTC & LEGO • LEGO韌體更新流程-2 5

ROBOTC & LEGO • LEGO韌體更新流程-3 6

ROBOTC & LEGO • LEGO韌體更新流程-4 7








感測器與連接埠設定 • #pragma config(Sensor, S 1, Touch, sensor. Touch) • #pragma config(Sensor, S 2, Sound, sensor. Sound. DB) • #pragma config(Sensor, S 3, Light, sensor. Light. Active) • #pragma config(Sensor, S 4, Sonar, sensor. SONAR) • const t. Sensors light. Sensor = (t. Sensors) S 3; 15

ROBOTC程式編寫 • 感測器實作-Touch Sensor • const t. Sensors touch. Sensor = (t. Sensors) S 1; • task main() • { • while(Sensor. Value(touch. Sensor) == 0) • { • motor[motor. C] = 100; • motor[motor. B] = 100; • } • motor[motor. C] = -30; • motor[motor. B] = -75; • wait 1 Msec(1500); • } 16

ROBOTC程式編寫 • • • • 感測器實作-Sound Sensor #pragma config(Sensor, S 2, sound. Sensor, task main() { wait 1 Msec(1000); while(Sensor. Value(sound. Sensor) < 70) { motor[motor. C] = 75; motor[motor. B] = 75; } motor[motor. C] = 0; motor[motor. B] = 0; } sensor. Sound. DB) 17

ROBOTC程式編寫 • 感測器實作- Sound Sensor -2 • #pragma config(Sensor, S 2, sound. Sensor, sensor. Sound. DB) • task main() • { • wait 1 Msec(1000); • while(true) • { • motor[motor. B] = Sensor. Value[sound. Sensor]; • motor[motor. C] = Sensor. Value[sound. Sensor]; • } 18

ROBOTC程式編寫 • • • • • 感測器實作-Light Sensor #pragma config(Sensor, S 3, light. Sensor, task main() { wait 1 Msec(50); while(true) { if(Sensor. Value[light. Sensor] < 45) { motor[motor. B] = 60; motor[motor. C] = 20; } else { motor[motor. B] = 20; motor[motor. C] = 60; } } } sensor. Light. Active) 19

ROBOTC程式編寫 • 感測器實作-Sonar Sensor • • • #pragma config(Sensor, S 4, sonar. Sensor, sensor. SONAR) task main() { int distance_in_cm = 20; while(Sensor. Value[sonar. Sensor] > distance_in_cm) motor[motor. B] = 75; motor[motor. C] = 75; } motor[motor. B] = 0; motor[motor. C] = 0; } 20

ROBOTC程式編寫 • • • • • • 動力輸出控制-1 #pragma config(Sensor, S 1, #pragma config(Sensor, S 3, task main() { touch, light. Sensor, sensor. Touch) sensor. Light. Active) while(Sensor. Value(touch) == 0) { wait 1 Msec(50); if(Sensor. Value[light. Sensor] < 45) { motor[motor. B] = 60; motor[motor. C] = 20; } else { motor[motor. B] = 20; motor[motor. C] = 60; } } } 21

ROBOTC程式編寫 • • • • • • 動力輸出控制-2 #pragma config(Sensor, S 1, #pragma config(Sensor, S 3, #pragma config(Sensor, S 4, task main() { touch, light. Sensor, Sonar, sensor. Touch) sensor. Light. Active) sensor. SONAR) while(Sensor. Value(Sonar)>20) { wait 1 Msec(50); if(Sensor. Value[light. Sensor] < 45) { motor[motor. B] = 60; motor[motor. C] = 20; } else { motor[motor. B] = 20; motor[motor. C] = 60; } } } 22

Q &A 23

- Slides: 24