资讯详情

电位器(摇杆)和舵机组合应用

文章目录

  • 任务:
  • 完成代码

任务:

如果是180,电位器和舵机的组合应用°舵机和电位器的有效范围也是180°,如果是90°舵机,电位器有效范围为90°,电位器与舵机角度同步,电位器有效起点自定,终点为(起点 90°/180°)

开发板上的电位器是左侧的全向摇杆,用摇杆的x轴或y轴控制舵机的角度

例如,摇杆对应于最左侧的舵机0°,拉到最右侧的舵机到180° 舵机的角度均匀分布在摇杆的起点和终点

摇杆的本质是可调电阻。电阻分压后可使用单片机ADC获取位置状态

完成代码

 int main (void){ 
        //主程序      delay_ms(500); //上电时等待其他器件  RCC_Configuration(); ///系统时钟初始化   TOUCH_KEY_Init();//初始化触摸按钮  RELAY_Init();///继电器初始化    TIM3_PWM_Init(59999,23);   ADC_Configuration(); //ADC初始化设置(模拟摇杆ADC初始化)  JoyStick_Init(); ///模拟摇杆按钮的初始化   I2C_Configuration();//I2C初始化  OLED0561_Init(); //OLED初始化  OLED_DISPLAY_8x16_BUFFER(0," YoungTalk "); //显示字符串  OLED_DISPLAY_8x16_BUFFER(2," ADC TEST "); //显示字符串  OLED_DISPLAY_8x16_BUFFER(4," ADC_IN6: "); //显示字符串  OLED_DISPLAY_8x16_BUFFER(6," ADC_IN7: "); //显示字符串    while(1){ 
           //将光敏电阻的ADC数据显示在OLED上   OLED_DISPLAY_8x16(4/span>,10*8,ADC_DMA_IN[0]/1000+0x30);// OLED_DISPLAY_8x16(4,11*8,ADC_DMA_IN[0]%1000/100+0x30);// OLED_DISPLAY_8x16(4,12*8,ADC_DMA_IN[0]%100/10+0x30);// OLED_DISPLAY_8x16(4,13*8,ADC_DMA_IN[0]%10+0x30);// OLED_DISPLAY_8x16(6,10*8,ADC_DMA_IN[1]/1000+0x30);// OLED_DISPLAY_8x16(6,11*8,ADC_DMA_IN[1]%1000/100+0x30);// OLED_DISPLAY_8x16(6,12*8,ADC_DMA_IN[1]%100/10+0x30);// OLED_DISPLAY_8x16(6,13*8,ADC_DMA_IN[1]%10+0x30);// //方法一:分区间控制(简单) // if(ADC_DMA_IN[0]<100) // TIM_SetCompare3(TIM3,1500);  // // if(ADC_DMA_IN[0]>=100&&ADC_DMA_IN[0]<1700) // TIM_SetCompare3(TIM3,ADC_DMA_IN[0]+1500); // if(ADC_DMA_IN[0]>=1700&&ADC_DMA_IN[0]<2000) // TIM_SetCompare3(TIM3,ADC_DMA_IN[0]+2300); // // if( ADC_DMA_IN[0]>=2000&&ADC_DMA_IN[0]<3500) // TIM_SetCompare3(TIM3,ADC_DMA_IN[0]+2500); // if( ADC_DMA_IN[0]>=3500&&ADC_DMA_IN[0]<4000) // TIM_SetCompare3(TIM3,ADC_DMA_IN[0]+3500); //  // if( ADC_DMA_IN[0]>4000) // TIM_SetCompare3(TIM3,7500); // delay_ms(10); //方法二:写公式转换(难) TIM_SetCompare3(TIM3,ADC_DMA_IN[0]*(3.3/4096)*1820+1500); if(GPIO_ReadInputDataBit(JoyStickPORT,JoyStick_KEY)==0){ 
          OLED_DISPLAY_8x16(0,0,'Y');// }else{ 
          OLED_DISPLAY_8x16(0,0,' ');// } delay_ms(200); //延时 } } 

标签: 301可调电位器获取电位器的角度

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台