久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
電子設(shè)計(jì)大賽電磁炮STM32源代碼 兩軸云臺(tái)
[打印本頁(yè)]
作者:
wuxiaowen
時(shí)間:
2019-8-28 00:21
標(biāo)題:
電子設(shè)計(jì)大賽電磁炮STM32源代碼 兩軸云臺(tái)
代碼,電賽基本要求可以完成。
spi讀取GY953數(shù)據(jù),加上ANO6.5通訊協(xié)議,PWM_IN_OUT
單片機(jī)源程序如下:
#include "stm32f10x.h" // 相當(dāng)于51單片機(jī)中的 #include <reg51.h>
#include "bsp_usart.h"
#include "delay.h"
#include <stdio.h>
#include <string.h>
#include <math.h>
#include "bsp_servo.h"
#include "bsp_daba.h"
#include "bsp_keyscan.h"
#include "bsp_led.h"
#include "oled.h"
#include "bsp_keyscan.h"
int16_t tim = 0;
uint16_t volatile receivebuff[1024]={0};
extern uint16_t aim_x,aim_y,flag;
extern volatile uint16_t num;
u8 key = 16,key1=16,single=1,select_yaw=0,select_d=0;
u16 yaw=0,d=0,v0=5;
u16 single_index=0;
double pitch=0;
u16 SINGLE[20]={30,35,40,45,50,55,60,65,70};//????
u8 pattern_flag=1;
u16 temp=0;
extern int16_t aim_distances,aim_yaw;
int main(void)
{
LED_GPIO_Config();
USART1_Config();
printf("串口成功!\n");
KeyBoard_Init();
OLED_Init();
Servo_Init(20000, 72-1,1500,1500);//20ms周期 頭:600-2350(10-170度) 底座:500-2500(0-180度), 1500對(duì)應(yīng)90度asddadasdsada
printf("222");
while(1)
{
oled_show();
//printf("%d",d);
//key=Read_KyeValue();
//printf("%d",key);
// delay_ms(100);
if((Read_KyeValue()==14) && (pattern_flag==1))//??1???
{
delay_ms(10);
//LED1_TOGGLE ;
printf("123");
LED1_OFF;//chongdianjidianqi
LED2_ON;//fangdainjidianqi
delay_ms(Tchong);//???
LED1_ON;
LED2_ON;
//delay_ms(200);
//printf("443");
LED1_ON;
LED2_OFF;
delay_ms(100);
LED1_ON;
LED2_ON;
}
if((Read_KyeValue()==10))//????
{
delay_ms(5);
++pattern_flag;
while(Read_KyeValue()!=16);
if(pattern_flag==4)
{
pattern_flag=1;
}
}
/************************************************/
if((Read_KyeValue()==11) && (pattern_flag==2)) //??2,????
{
delay_ms(10);
if(Read_KyeValue()==11)
{
d=0;
while(Read_KyeValue()!=16);
select_d=1;
while(select_d)
{
key=Read_KyeValue();
if(key!=16)
{
delay_ms(20);
if(key!=16)
{
if(key!=12&&key!=13&&key!=11)//??0-9
{
if(d==0){d=key;}
else if(d>0&&d<10){d=d*10+key;}
else{d=d*10+key;}
}
if(key==13)
{
key=16;select_d=0;
}//??
if(key==11){key=16;d=0;}//??
}
delay_ms(20);
while(Read_KyeValue()!=16);
daba(d,1500);
delay_ms(TG);
LED1_OFF;//chongdianjidianqi
LED2_ON;//fangdainjidianqi
delay_ms(Tchong);//???
LED1_ON;
LED2_ON;
//delay_ms(200);
//printf("443");
LED1_ON;
LED2_OFF;
delay_ms(100);
LED1_ON;
LED2_ON;
}
}
}
printf("%d",d);
}
/********************************/
if((Read_KyeValue()==11) && (pattern_flag==3)) //3
{
delay_ms(100);
if(Read_KyeValue()==11)
{
d=0;
while(Read_KyeValue()!=16);
select_d=1;
select_yaw=1;
printf("rrrr");
while(select_d)
{
key=Read_KyeValue();
//printf("%d",key);
if(key!=16)
{
//printf("juli");
delay_ms(5);
if(key!=16)
{
if(key!=12&&key!=13&&key!=11)//??0-9
{
if(d==0){d=key;}
else if(d>0&&d<10){d=d*10+key;}
else if(d>10&&d<100){d=d*10+key;}
else if(d>100&&d<1000){d=d*10+key;}
else {temp=d*10+key;}
}
if(key==13)
{
key=16;
select_d=0;
//select_yaw=1;
}//??
//if(key==11){key=16;d=0;}//??
}
delay_ms(5);
while(Read_KyeValue()!=16);
}
}
}
d=temp/100;
yaw=temp%100;
/****************************/
/*if(USART_RXBUF[5] == '-')
{
aim_yaw = (angle*9.3333)+1500;
}
else
{
aim_yaw = 1500-(angle*12.3333);
}*/
/*******************************/
if(yaw>=30 && yaw<=60)
{
aim_yaw=yaw;
aim_yaw=(aim_yaw-30)*9.3333+1500;
}
else if(yaw<30 && yaw>=0)
{
aim_yaw=30-yaw;
aim_yaw=1500-(aim_yaw*12.3333);
}
else
{
aim_yaw=1500;
}
daba(d,aim_yaw);
delay_ms(TG);
LED1_OFF;//chongdianjidianqi
LED2_ON;//fangdainjidianqi
delay_ms(Tchong);//???
LED1_ON;
LED2_ON;
//delay_ms(200);
//printf("443");
LED1_ON;
LED2_OFF;
delay_ms(100);
LED1_ON;
LED2_ON;
printf("%d\n",d);
printf("%d\n",yaw);
}
// if(Read_KyeValue()==13)//???
// {
// delay_ms(5);
// //printf("yaw:%d,d:%d\n",yaw,d);
// //pitch=(0.5*(asin(d*9.8/(v0*v0*100)))*180/3.14);//pitch=0.5*arcsin(d*g/(v0*v0));
// // printf("yaw:%d,pitch:%f,single:%d\n",yaw,pitch,single);
// if(single==1)
// {
// Servo_PWM_Updata((pitch*10.9375)+1450,(yaw*11.1111)+1500);
// }
// else
// {
// Servo_PWM_Updata((pitch*10.9375)+1450,1500-(yaw*11.1111));
// }
// if(Read_KyeValue()==14)//chongdian
// {
// //LED1_TOGGLE ;
// printf("123");
// LED1_OFF;//chongdianjidianqi
// LED2_ON;//fangdainjidianqi
// delay_ms(4000);//剛剛好
// LED1_ON;
// LED2_ON;
// //delay_ms(200);
// printf("443");
// LED1_ON;
// LED2_OFF;
// delay_ms(100);
// LED1_ON;
// LED2_ON;
//
//
// }
tim ++;
if(tim%1==0)
{
//daba(aim_distances,aim_yaw);//正式程序恢復(fù)
}
if(tim ==10)
{
tim = 0;
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
兩軸云臺(tái)2.0.7z
(204.31 KB, 下載次數(shù): 133)
2019-8-29 18:15 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
超神NK
時(shí)間:
2019-9-6 20:36
您好,請(qǐng)問(wèn)您用的超級(jí)電容是多大的
作者:
aaaaaa。
時(shí)間:
2019-10-12 19:30
請(qǐng)問(wèn)一下,電磁炮打靶你是怎么做的
作者:
wuxiaowen
時(shí)間:
2020-2-23 23:02
aaaaaa。 發(fā)表于 2019-10-12 19:30
請(qǐng)問(wèn)一下,電磁炮打靶你是怎么做的
兩個(gè)自由度的舵機(jī)
作者:
wuxiaowen
時(shí)間:
2020-2-23 23:02
aaaaaa。 發(fā)表于 2019-10-12 19:30
請(qǐng)問(wèn)一下,電磁炮打靶你是怎么做的
兩個(gè)自由度的舵機(jī),用按鍵控制角度
作者:
邢世偉
時(shí)間:
2021-6-5 22:56
在座的老鐵們,有人實(shí)驗(yàn)過(guò)嗎?
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲午夜视频在线观看
|
欧美精品一区在线观看
|
欧美日韩中文字幕在线观看
|
久久久夜色精品
|
久久国产精品99久久人人澡
|
天天色网站
|
4438成人网
|
久久爱综合
|
日韩小视频在线观看
|
欧美精品在线免费观看
|
欧美综合在线视频
|
欧美精品在线观看视频
|
91porn在线
|
日韩一区二区三区免费
|
国产精品海角社区
|
亚洲精品91
|
天堂√
|
在线观看一区
|
三级久久久
|
福利视频一区二区
|
色一情一乱一乱一区91av
|
成年人免费在线视频
|
日韩精品极品
|
国产福利在线视频
|
三年中文在线观看免费大全中国
|
伊人久久影院
|
www.日本在线观看
|
久久久久久97
|
日韩精品福利
|
日韩免费一区二区三区
|
国产中文一区
|
亚洲免费在线
|
国产成人在线视频
|
免费看黄色网址
|
视频一区二区三区在线观看
|
欧洲av网站
|
国产小视频在线观看
|
午夜在线视频观看
|
日韩专区在线
|
亚洲精品小视频
|
91成人亚洲
|