当前位置:网站首页>Analog rocker controlled steering gear
Analog rocker controlled steering gear
2022-07-04 22:39:00 【Let everything burn】
List of articles
Mission :
Potentiometer and steering gear combined application , If it is 180° The steering gear , The effective range of potentiometer is also 180°, If it is 90° The steering gear , The effective range of potentiometer is 90°, Potentiometer and steering gear angle position are synchronized , The effective starting point of potentiometer is self-determined , The finish for ( The starting point +90°/180°)
Ideas
The potentiometer on the yangtao development board is the omnidirectional rocker on the left , With rocker x Axis or y The axis controls the angle of the steering gear
For example, the rocker on the far left corresponds to the steering gear 0°, Pull to the rightmost steering gear and turn 180°
The angle of the steering gear is evenly distributed at the beginning and end of the rocker
The rocker is essentially an adjustable resistor , After the resistance voltage is divided, the single chip microcomputer can be used ADC Get location status
Completion code
int main (void){
// The main program
delay_ms(500); // Wait for other devices to be ready when powered on
RCC_Configuration(); // System clock initialization
TOUCH_KEY_Init();// Touch the button to initialize
RELAY_Init();// Relay initialization
TIM3_PWM_Init(59999,23);
ADC_Configuration(); //ADC Initialize settings ( Simulate the of the rocker ADC initialization )
JoyStick_Init(); // Simulate the key initialization of the rocker
I2C_Configuration();//I2C initialization
OLED0561_Init(); //OLED initialization
OLED_DISPLAY_8x16_BUFFER(0," YoungTalk "); // display string
OLED_DISPLAY_8x16_BUFFER(2," ADC TEST "); // display string
OLED_DISPLAY_8x16_BUFFER(4," ADC_IN6: "); // display string
OLED_DISPLAY_8x16_BUFFER(6," ADC_IN7: "); // display string
while(1){
// Turn the of the photoresist ADC The data is shown in OLED On
OLED_DISPLAY_8x16(4,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);//
// Method 1 : Inter partition control ( Simple but troublesome )
// 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);
// Method 2 : Write formula conversion ( Difficult but convenient )
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); // Time delay
}
}
边栏推荐
- Attack and Defense World MISC Advanced Area Erik baleog and Olaf
- In Linux, I call odspcmd to query the database information. How to output silently is to only output values. Don't do this
- Alibaba launched a new brand "Lingyang" and is committed to becoming a "digital leader"
- Attack and defense world misc advanced area ditf
- 啃下大骨头——排序(二)
- 测试必会:BUG的分类及推进解决
- The proofreading activity of data science on the command line second edition was restarted
- PostgreSQL JOIN实践及原理
- With this PDF, we finally got offers from eight major manufacturers, including Alibaba, bytek and Baidu
- Logo special training camp section 1 Identification logo and logo design ideas
猜你喜欢
随机推荐
LOGO特训营 第一节 鉴别Logo与Logo设计思路
9 - 类
Wake up day, how do I step by step towards the road of software testing
Lost in the lock world of MySQL
页面关闭前,如何发送一个可靠请求
odps 中 对表进行了一次备份,为什么在元数据库查m_table 时,两张表的逻辑大小不一致,但数
PostgreSQL server programming aggregation and grouping
特征缩放 标准化 归一化
2022-07-04: what is the output of the following go language code? A:true; B:false; C: Compilation error. package main import “fmt“ func main() { fmt.Pri
With this PDF, we finally got offers from eight major manufacturers, including Alibaba, bytek and Baidu
Convolutional neural network model -- lenet network structure and code implementation
关于栈区、堆区、全局区、文字常量区、程序代码区
蓝队攻防演练中的三段作战
MYSQL架构——逻辑架构
Attack and Defense World MISC Advanced Area Erik baleog and Olaf
Tiktok actual combat ~ the number of comments is updated synchronously
Embedded development: skills and tricks -- seven skills to improve the quality of embedded software code
Google Earth Engine(GEE)——基于 MCD64A1 的 GlobFire 日常火灾数据集
idea中pom.xml依赖无法导入
NFT Insider #64:电商巨头eBay提交NFT相关商标申请,毕马威将在Web3和元宇宙中投入3000万美元