OpenCR入门教程-布局以及引脚分配图
说明
- 本教程将介绍openCR的基本布局以及引脚分配图
基本布局以及引脚分配图
WARNING: Check the pinout! The pinout of Dynamixel can differ from the pinout of connector manufacturer.
1.Arduino Connector
OpenCR板包含一个与Arduino Uno pinmap兼容的连接器
其中的引脚0到21与Arduino Uno相同,然后将它们映射添加到OpenCR的引脚上
Pin No. | Function | 1 | 2 | 3 | etc |
---|---|---|---|---|---|
0 | UART RXD | UART6_RX | FT |
||
1 | UART TXD | UART6 TX | FT |
||
2 | EXTI_0 | FT |
|||
3 | PWM | TIM3_CH1 | EXTI_1 | FT |
|
4 | EXTI_2 | FT |
|||
5 | PWM | TIM1_CH1 | FT |
||
6 | PWM | TIM2_CH3 | FT |
||
7 | EXTI_3 | FT |
|||
8 | EXTI_4 | FT |
|||
9 | PWM | TIM9_CH2 | FT |
||
10 | PWM/NSS | TIM11_CH1 | SPI2_NSS | FT |
|
11 | PWM/MOSI | TIM12_CH2 | SPI2_MOSI | FT |
|
12 | MISO | SPI2_MISO | FT |
||
13 | SCK | SPI2_SCK | FT |
||
14 | SDA | I2C1_SDA | FT |
||
15 | SCL | I2C1_SCL | FT |
||
16 | ADC | A0 | FT |
||
17 | ADC | A1 | FT |
||
18 | ADC | A2 | FT |
||
19 | ADC | A3 | FT |
||
20 | ADC | A4 | FT |
||
21 | ADC | A5 | FT |
FT引脚为5V容忍,除非处于模拟模式
FT引脚上的最大注入电流为
-5mA
另外,由所有I/O引脚的总输入出和总输出电流分别为
120mA/-120mA
2.User LED
- OpenCR板上有四个User LED,分别映射到Arduino的22-25针
Name | Arduino Pin | Pin Name |
---|---|---|
USER1 | 22 | BDPIN_LED_USER_1 |
USER2 | 23 | BDPIN_LED_USER_2 |
USER3 | 24 | BDPIN_LED_USER_3 |
USER4 | 25 | BDPIN_LED_USER_4 |
STS | 36 | BDPIN_LED_STATUS |
Arduino | 13 | LED_BUILTIN |
3.Dip Switch
Arduino Pin | Pin Name |
---|---|
26 | BDPIN_DIP_SW_1 |
27 | BDPIN_DIP_SW_2 |
4.GPIO
- openCR板有一个18针通用GPIO扩展,并映射到Arduino的GPIO针
Pin Number | Arduino Pin | Pin Name | Pin Number | Arduino Pin | Pin Name | etc |
---|---|---|---|---|---|---|
1 | - | 3.3V | 2 | - | GND | - |
3 | 50 | BDPIN_GPIO_1 | 4 | 51 | BDPIN_GPIO_2 | FT |
5 | 52 | BDPIN_GPIO_3 | 6 | 53 | BDPIN_GPIO_4 | FT |
7 | 54 | BDPIN_GPIO_5 | 8 | 55 | BDPIN_GPIO_6 | FT |
9 | 56 | BDPIN_GPIO_7 | 10 | 57 | BDPIN_GPIO_8 | FT |
11 | 58 | BDPIN_GPIO_9 | 12 | 59 | BDPIN_GPIO_10 | FT |
13 | 60 | BDPIN_GPIO_11 | 14 | 61 | BDPIN_GPIO_12 | FT |
15 | 62 | BDPIN_GPIO_13 | 16 | 63 | BDPIN_GPIO_14 | FT |
17 | 64 | BDPIN_GPIO_15 | 18 | 65 | BDPIN_GPIO_16 | FT |
19 | 66 | BDPIN_GPIO_17 | 20 | 67 | BDPIN_GPIO_18 | FT |
FT pin
s are 5V tolerant except when in analog mode. The maximum injected current on FT pins are-5mA
. Also total output current sunk/sourced by sum of all I/O pins are120mA/-120mA
respectively.
NOTE : 其上拉/下拉电阻为40kΩ
5.ROBOTIS 5-pin Connector
6.Push Switch
Arduino Pin | Pin Name |
---|---|
34 | BDPIN_PUSH_SW_1 |
35 | BDPIN_PUSH_SW_2 |
7.External Interrupt
- 外部中断分配给以下引脚,并且可以与attachInterrupt(EXTI_Pin,callbackFunction,Mode)宏一起使用
EXTI Pin | Arduino Pin | Pin Name |
---|---|---|
0 | 2 | - |
1 | 3 | TIM3_CH1 |
2 | 4 | - |
3 | 7 | - |
4 | 8 | - |
5 | 42 | OLLO_P1_ADC |
6 | 45 | OLLO_P2_ADC |
7 | 72 | OLLO_P3_ADC |
8 | 75 | OLLO_P4_ADC |
/*
EXTI_0 is assigned to Arduino PIN 2
*/
pinmode(2, INPUT_PULLDOWN); //set Arduino Pin 2 as input with pull-down
attachInterrupt(0, changeDirection_EXIT_0, RISING);
void changeDirection_EXIT_0(void){
Serial.println("EXIT_Interrupt! 0");
}
8.UART(Serial)
Class Instance | Arduino Pin | Hardware |
---|---|---|
Serial | USB | USB |
Serial1 | 0(RX), 1(TX) | USART6 |
Serial2 (SerialBT1) | UART1 | USART2 |
Serial3 | DXL Port | USART3 |
Serial4 (SerialBT2) | UART2 | UART8 |
- 注意:由于Serial3用于Dynamixel,因此其用法与其他串口不同(更多相关信息,请参阅DynamixelWorkbench)
9.Pin Definition
extern const Pin2PortMapArray g_Pin2PortMapArray[]=
{
{GPIOC, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 0 UART6_RX
{GPIOC, GPIO_PIN_6, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 1 UART6_TX
{GPIOG, GPIO_PIN_6, NULL, NO_ADC , NULL , NO_PWM , 0 }, // 2 EXTI_0
{GPIOB, GPIO_PIN_4, NULL, NO_ADC , &hTIM3 , TIM_CHANNEL_1, 1 }, // 3 TIM3_CH1 EXTI_1
{GPIOG, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , 2 }, // 4 EXTI_2
{GPIOA, GPIO_PIN_8, NULL, NO_ADC , &hTIM1 , TIM_CHANNEL_1, NO_EXTI }, // 5 TIM1_CH1
{GPIOA, GPIO_PIN_2, NULL, NO_ADC , &hTIM2 , TIM_CHANNEL_3, NO_EXTI }, // 6 TIM2_CH3
{GPIOC, GPIO_PIN_1, NULL, NO_ADC , NULL , NO_PWM , 3 }, // 7 EXTI_3
{GPIOC, GPIO_PIN_2, NULL, NO_ADC , NULL , NO_PWM , 4 }, // 8 EXTI_4
{GPIOA, GPIO_PIN_3, NULL, NO_ADC , &hTIM9 , TIM_CHANNEL_2, NO_EXTI }, // 9 TIM9_CH2
{GPIOB, GPIO_PIN_9, NULL, NO_ADC , &hTIM11, TIM_CHANNEL_1, NO_EXTI }, // 10 TIM11_CH1 SPI2_NSS
{GPIOB, GPIO_PIN_15, NULL, NO_ADC , &hTIM12, TIM_CHANNEL_2, NO_EXTI }, // 11 TIM12_CH2 SPI2_MOSI
{GPIOB, GPIO_PIN_14, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 12 SPI2_MISO
{GPIOA, GPIO_PIN_9, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 13 LED SPI2_SCK
{GPIOB, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 14 I2C1_SDA
{GPIOB, GPIO_PIN_8, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 15 I2C1_SCL
{GPIOA, GPIO_PIN_0, &hADC3, ADC_CHANNEL_0 , NULL , NO_PWM , NO_EXTI }, // 16 A0
{GPIOF, GPIO_PIN_10, &hADC3, ADC_CHANNEL_8 , NULL , NO_PWM , NO_EXTI }, // 17 A1
{GPIOF, GPIO_PIN_9, &hADC3, ADC_CHANNEL_7 , NULL , NO_PWM , NO_EXTI }, // 18 A2
{GPIOF, GPIO_PIN_8, &hADC3, ADC_CHANNEL_6 , NULL , NO_PWM , NO_EXTI }, // 19 A3
{GPIOF, GPIO_PIN_7, &hADC3, ADC_CHANNEL_5 , NULL , NO_PWM , NO_EXTI }, // 20 A4
{GPIOF, GPIO_PIN_6, &hADC3, ADC_CHANNEL_4 , NULL , NO_PWM , NO_EXTI }, // 21 A5
{GPIOG, GPIO_PIN_12, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 22 BDPIN_LED_USER_1
{GPIOE, GPIO_PIN_5, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 23 BDPIN_LED_USER_2
{GPIOE, GPIO_PIN_4, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 24 BDPIN_LED_USER_3
{GPIOG, GPIO_PIN_10, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 25 BDPIN_LED_USER_4
{GPIOG, GPIO_PIN_11, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 26 BDPIN_DIP_SW_1
{GPIOE, GPIO_PIN_6, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 27 BDPIN_DIP_SW_2
{GPIOA, GPIO_PIN_4, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 28 BDPIN_SPI_CS_IMU
{GPIOC, GPIO_PIN_0, &hADC3, ADC_CHANNEL_10, NULL , NO_PWM , NO_EXTI }, // 29 BDPIN_BAT_PWR_ADC
{GPIOC, GPIO_PIN_3, &hADC3, ADC_CHANNEL_13, NULL , NO_PWM , NO_EXTI }, // 30
{GPIOF, GPIO_PIN_14, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 31 BDPIN_BUZZER
{GPIOF, GPIO_PIN_15, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 32 BDPIN_DXL_PWR_EN
{GPIOG, GPIO_PIN_14, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 33
{GPIOG, GPIO_PIN_3, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 34 BDPIN_PUSH_SW_1
{GPIOC, GPIO_PIN_12, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 35 BDPIN_PUSH_SW_2
{GPIOG, GPIO_PIN_9, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 36 BDPIN_LED_STATUS
{GPIOA, GPIO_PIN_5, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 37 BDPIN_SPI_CLK_IMU
{GPIOA, GPIO_PIN_6, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 38 BDPIN_SPI_SDO_IMU
{GPIOB, GPIO_PIN_5, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 39 BDPIN_SPI_SDI_IMU
{GPIOB, GPIO_PIN_0, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 40 OLLO_P1_SIG1
{GPIOC, GPIO_PIN_8, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 41 OLLO_P1_SIG2
{GPIOA, GPIO_PIN_7, &hADC1, ADC_CHANNEL_7 , NULL , NO_PWM , 5 }, // 42 OLLO_P1_ADC EXTI_5
{GPIOC, GPIO_PIN_5, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 43 OLLO_P2_SIG1
{GPIOB, GPIO_PIN_1, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 44 OLLO_P2_SIG2
{GPIOC, GPIO_PIN_4, &hADC1, ADC_CHANNEL_14, NULL , NO_PWM , 6 }, // 45 OLLO_P2_ADC EXTI_6
{GPIOD, GPIO_PIN_10, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 46 OLLO_SLEEP
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 47
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 48
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 49
{GPIOB, GPIO_PIN_10, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 50 BDPIN_GPIO_1
{GPIOB, GPIO_PIN_11, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 51 BDPIN_GPIO_2
{GPIOC, GPIO_PIN_13, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 52 BDPIN_GPIO_3
{GPIOD, GPIO_PIN_2, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 53 BDPIN_GPIO_4
{GPIOE, GPIO_PIN_3, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 54 BDPIN_GPIO_5
{GPIOG, GPIO_PIN_2, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 55 BDPIN_GPIO_6
{GPIOE, GPIO_PIN_10, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 56 BDPIN_GPIO_7
{GPIOE, GPIO_PIN_11, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 57 BDPIN_GPIO_8
{GPIOE, GPIO_PIN_12, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 58 BDPIN_GPIO_9
{GPIOE, GPIO_PIN_13, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 59 BDPIN_GPIO_10
{GPIOE, GPIO_PIN_14, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 60 BDPIN_GPIO_11
{GPIOE, GPIO_PIN_15, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 61 BDPIN_GPIO_12
{GPIOF, GPIO_PIN_0, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 62 BDPIN_GPIO_13
{GPIOF, GPIO_PIN_1, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 63 BDPIN_GPIO_14
{GPIOF, GPIO_PIN_2, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 64 BDPIN_GPIO_15
{GPIOD, GPIO_PIN_8, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 65 BDPIN_GPIO_16
{GPIOF, GPIO_PIN_4, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 66 BDPIN_GPIO_17
{GPIOD, GPIO_PIN_9, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 67 BDPIN_GPIO_18
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 68
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 69
{GPIOF, GPIO_PIN_12, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 70 OLLO_P3_SIG1
{GPIOF, GPIO_PIN_11, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 71 OLLO_P3_SIG2
{GPIOF, GPIO_PIN_5, &hADC3, ADC_CHANNEL_15, NULL , NO_PWM , 7 }, // 72 OLLO_P3_ADC EXTI_7
{GPIOE, GPIO_PIN_9, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 73 OLLO_P4_SIG1
{GPIOE, GPIO_PIN_8, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 74 OLLO_P4_SIG2
{GPIOF, GPIO_PIN_3, &hADC3, ADC_CHANNEL_9 , NULL , NO_PWM , 8 }, // 75 OLLO_P4_ADC EXTI_8
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 76
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 77
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 78
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 79
{GPIOD, GPIO_PIN_6, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 80 BDPIN_UART1_RX
{GPIOD, GPIO_PIN_5, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 81 BDPIN_UART1_TX
{GPIOE, GPIO_PIN_0, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 82 BDPIN_UART2_RX
{GPIOE, GPIO_PIN_1, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 83 BDPIN_UART2_TX
{NULL , 0 , NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }
};
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号