55
RoBoard 與 LEGO NXT

RoBoard 與 Lego NXT Sensors 之連接

  • Upload
    roboard

  • View
    1.012

  • Download
    0

Embed Size (px)

Citation preview

  • 1. RoBoard LEGO NXT

2. LEGO NXT 3. RoBoard 24 PWM PWM servo 4 serial ports serial servo I2C/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 SensorsPin Number Color Name(Sensor)1 White Anx2 Black GND3 Red GND4 Green IPOWERx5 Yellow DIGIxI06 Blue DIGIxI1 7. NXT MotorPin Number Color Name(Motor)1 White Mx12 Black Mx23 Red GND4 Green POWERMx5 Yellow TACHOx06 Blue TACHOx1 8. RoBoard NXT : LEGO NXT 1( ) 6( )RoBoard NXT (1)LEGO NXT 9. RoBoard NXT (2) 10. AD ( 10K pull-upresistor ) : 10K 1 ( ) 2 ( )RoBoard NXT sensors (1)10(9+1) k 11. RoBoard NXT sensors (2) 12. NXT Touch Sensor 13. RoBoard NXT Touch Sensor (1) Touch Sensor 14. Touch Sensor RoBoard RoBoard NXT Touch Sensor (2)Touch SensorVCC(5V)AD-VINxGNDGNDRoBoardwith a 10K pull-up resistor 15. RoBoard NXT Touch Sensor (3) 16. Touch Sensor RoBoard RoBoard NXT Touch Sensor (4) 17. RoBoard NXT Touch Sensor :int val;roboio_SetRBVer(RB_100); // RoBoard spi_Init(SPICLK_21400KHZ); // SPIval = adc_ReadCH(0); // AD CH0 if (val == ADC_READFAIL)printf("ERROR: fail to read ADC value on channel 0!n");elseprintf("ADC value on channel 0 = %4dr", val);RoBoard NXT Touch Sensor (5) 18. NXT Light Sensor 19. RoBoard NXT Light Sensor (1) Light Sensor 20. Light Sensor RoBoard RoBoard NXT Light Sensor (2)VCC(5V)AD-VINxGNDVCC(5V)GPIOwith a 10K pull-up resistorRoBoardLight Sensor 21. RoBoard NXT Light Sensor (3) 22. Light Sensor RoBoard RoBoard NXT Light Sensor (4)PS: GPIO : GPIO 1 GPIO 0 23. 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 converterrcservo_Init(RCSERVO_USENOPIN); // GPIO val = adc_ReadCH(0); // AD CH0 if (val > 600)rcservo_OutPin(RCSERVO_PINS6, 0); // elsercservo_OutPin(RCSERVO_PINS6, 1); // 24. NXT Sound Sensor dB( ) dBA( ) 25. RoBoard NXT Sound Sensor (1) Sound Sensor 26. RoBoard NXT Sound Sensor (2) Sound Sensor RoBoard VCC(5V)AD-VINxGNDVCC(5V)GPIOGPIOwith a 10K pull-up resistorRoBoardSound Sensor 27. RoBoard NXT Sound Sensor (3) 28. Light Sensor RoBoard dB( ) dBA( ) ( GPIO PIN5, PIN6 high, low )RoBoard NXT Sound Sensor (4) ; 29. 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 converterrcservo_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");elseprintf("Sound sensor return val = %4dr", val); 30. NXT Ultrasonic Sensor 31. Ultrasonic Sensor RoBoard NXT Ultrasonic Sensor (1) 32. NXT I2C V.S. Standard I2CStandard I2CNXT I2CSDASCL 33. RoBoard NXT Ultrasonic Sensor (2) Ultrasonic Sensor RoBoard VCC(9V)GNDGNDVCC(5V)SCLSDARoBoardUltrasonic Sensor 34. RoBoard NXT Ultrasonic Sensor (3) 35. RoBoard NXT Ultrasonic Sensor (4) Ultrasoni Sensor RoBoard 36. 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 100msi2c_SensorRead(0x02 >> 1, 0x42, data, 1); // Ultrasonic Sensor printf("data = %8dr", data[0]); // AD CH1 37. NXT Motor NXT Motor 38. RoBoard NXT Motor (1)NXT Motor NXT Motor Servo Motor 39. RoBoard NXT Motor (2) : H - Bridge 40. RoBoard NXT Motor (3) : H - Bridge 41. RoBoard NXT Motor (4) 42. H-Bridge IC IC :RoBoard NXT Motor (5) 43. PIN Color Name1 White Mx12 Black Mx23 Red GND4 Green POWERx5 Yellow TACHOx06 Blue TACHOx1MotorEncoderNXT MotorRoBoard NXT Motor (6) NXT Motor : 44. RoBoard NXT Motor (7) RoBoard H-Bridge IC Motor ( )IN1IN2OUT1OUT2GNDVCCPIN Color Name1 White Mx12 Black Mx2PWMPWMGNDVxxGPIOGPIOH-Bridge RoBoardNXT Motor 45. RoBoard NXT Motor (8) 46. 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); // Clockwisercservo_StopPWM(RCSERVO_PINS3);rcservo_SendCPWM(RCSERVO_PINS4, period, duty); // Counterclockwisercservo_StopPWM(RCSERVO_PINS4);rcservo_Close(); 47. RoBoard NXT Motor (10) NXT Moter : 48. PIN Case 1 Case 2 Case 3 Case 4PIN5 H H H L L L L HPIN6 L H H H H L L L : RoBoard NXT Motor (11)PIN5PIN6 49. PIN Case 1 Case 2 Case 3 Case 4PIN5 H H H L L L L HPIN6 H L L L L H H HRoBoard NXT Motor (12) : PIN6PIN5 50. RoBoard NXT Motor (13) H-Bridge IC 51. RoBoard NXT Motor (14) RoBoard H-Bridge IC Motor ( )IN1IN2OUT1OUT2GNDVCCPIN Color1 White2 Black3 Red4 Green5Yellow6 BlueNXT MotorH-BridgePWMPWMGNDVCC(5V)GPIOGPIORoBoardGPIO 52. RoBoard NXT Motor (15) 53. 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 = 0count -= 1; // 3 : PIN5 = PIN6 = 1else if(pre_data == 3L && data == 1L)count += 1;pre_data = data;}Printf(%dn, count); 54. Thanks