接上篇:【沁恒 CH32V208 开发板免费试用】机器人六路舵机控制(1)开箱测试(开源) - RISC-V MCU威廉希尔官方网站
社区 - 电子威廉希尔官方网站
论坛 - 广受欢迎的专业电子论坛! https://bbs.elecfans.com/jishu_2350335_1_1.html#pid8891927
继续沁恒 CH32V208 开发板机器人六路舵机控制的项目。
先改造个舵机:
可变电阻:
齿轮箱盖:
齿轮组:
焊接电路:
电机部分:
改造完成,待用:
接下来连接沁恒 CH32V208 开发板测试一下。
程序代码:
#include "debug.h"
/* Global define */
/* Global Variable */
/*********************************************************************
* @fn GPIO_Toggle_INIT
*
* [url=home.php?mod=space&uid=2666770]@Brief[/url] Initializes GPIOA.0
*
* [url=home.php?mod=space&uid=1141835]@Return[/url] none
*/
void GPIO_Toggle_INIT(void)
{
GPIO_InitTypeDef GPIO_InitStructure = {0};
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
/*********************************************************************
* @fn main
*
* @brief Main program.
*
* @return none
*/
int main(void)
{
int var;
int max=30;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
Delay_Init();
USART_Printf_Init(115200);
printf("SystemClk:%d\r\n", SystemCoreClock);
printf("GPIO Toggle TEST\r\n");
GPIO_Toggle_INIT();
while(1)
{
for (var = 1; var < max; ++var) {
GPIO_WriteBit(GPIOA, GPIO_Pin_0, 1);
Delay_Ms(1);
GPIO_WriteBit(GPIOA, GPIO_Pin_0, 0);
Delay_Ms(19);
}
for (var = 1; var < max; ++var) {
GPIO_WriteBit(GPIOA, GPIO_Pin_1, 1);
Delay_Ms(1);
GPIO_WriteBit(GPIOA, GPIO_Pin_1, 0);
Delay_Ms(18);
}
for (var = 1; var < max; ++var) {
GPIO_WriteBit(GPIOA, GPIO_Pin_2, 1);
Delay_Ms(1);
GPIO_WriteBit(GPIOA, GPIO_Pin_2, 0);
Delay_Ms(19);
}
for (var = 1; var < max; ++var) {
GPIO_WriteBit(GPIOA, GPIO_Pin_3, 1);
Delay_Ms(1);
GPIO_WriteBit(GPIOA, GPIO_Pin_3, 0);
Delay_Ms(18);
}
for (var = 1; var < max; ++var) {
GPIO_WriteBit(GPIOA, GPIO_Pin_0, 1);
Delay_Ms(2);
GPIO_WriteBit(GPIOA, GPIO_Pin_0, 0);
Delay_Ms(18);
}
for (var = 1; var < max; ++var) {
GPIO_WriteBit(GPIOA, GPIO_Pin_1, 1);
Delay_Ms(2);
GPIO_WriteBit(GPIOA, GPIO_Pin_1, 0);
Delay_Ms(18);
}
for (var = 1; var < max; ++var) {
GPIO_WriteBit(GPIOA, GPIO_Pin_2, 1);
Delay_Ms(2);
GPIO_WriteBit(GPIOA, GPIO_Pin_2, 0);
Delay_Ms(18);
}
for (var = 1; var < max; ++var) {
GPIO_WriteBit(GPIOA, GPIO_Pin_3, 1);
Delay_Ms(2);
GPIO_WriteBit(GPIOA, GPIO_Pin_3, 0);
Delay_Ms(18);
}
}
}
沁恒 CH32V208 开发板测试成功,后续会继续折腾一下,在此基础上加入更多的功能。此开发板上手特别快,主频、功率、响应时间都非常不错,值得上手,支持国产!!!