亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
單片機怎么控制舵機這樣旋轉啊?
[打印本頁]
作者:
shirowhite
時間:
2018-11-5 15:35
標題:
單片機怎么控制舵機這樣旋轉啊?
可以通過程序來這樣控制嘛?我按一個鍵位,舵機轉動90度然后轉回去。我按第二個鍵位舵機來回轉動90度(5次)。可以通過一個舵機來控制嗎?如果不可以那么分開用一個單片機控制兩個舵機可以做到嘛?
作者:
shirowhite
時間:
2018-11-5 15:36
如果能有大佬寫程序的話可以在加黑幣。本人窮逼只能送黑幣希望有大佬幫幫忙。
作者:
上善若水001
時間:
2018-11-5 22:02
可以實現的,51單片機和STM32都可以的
作者:
jiaosw410923
時間:
2018-11-6 08:54
電機 加驅動模塊 加單片機就可以了
作者:
new_hand
時間:
2018-11-6 10:22
pwm控制
作者:
qingfengyu
時間:
2018-11-7 18:13
單片機是不能直接接在電機上的 所以要加驅動模塊隔離 兩個按鍵 直接判斷是哪個按鍵按下再給接驅動的io輸出是轉一次 還是5次的的程序不就好了嗎
作者:
xiabing0420
時間:
2018-11-7 20:00
脈寬調頻控制
作者:
戎馬半生戀
時間:
2018-11-7 20:53
pwm脈沖帶寬調制,用stm32,杜洋教程有詳細介紹
作者:
戎馬半生戀
時間:
2018-11-7 20:56
b站中杜洋教程有stm32,pwm控制的詳細介紹視頻以及工程
作者:
Dremt
時間:
2018-11-8 13:03
#include <reg52.h>
unsigned char count; //0.5ms次數標識
sbit pwm =P0^1 ; //PWM信號輸出
sbit jia =P1^2; //角度增加按鍵檢測IO口
sbit jan =P1^1; //角度減少按鍵檢測IO口
unsigned char jd; //角度標識
void delay(unsigned char i)//延時
{
unsigned char j,k;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
void Time0_Init() //定時器初始化
{
TMOD = 0x01; //定時器0工作在方式1
IE = 0x82;
TH0 = 0xfe;
TL0 = 0x33; //11.0592MZ晶振,0.5ms
TR0=1; //定時器開始
}
void Time0_Int() interrupt 1 //中斷程序
{
TH0 = 0xfe; //重新賦值
TL0 = 0x33;
if(count< jd) //判斷0.5ms次數是否小于角度標識
pwm=1; //確實小于,PWM輸出高電平
else
pwm=0; //大于則輸出低電平
count=(count+1); //0.5ms次數加1
count=count%40; //次數始終保持為40 即保持周期為20ms
}
void keyscan() //按鍵掃描
{
if(jia==0) //角度增加按鍵是否按下
{
delay(10); //按下延時,消抖
if(jia==0) //確實按下
{
jd++; //角度標識加1
count=0; //按鍵按下 則20ms周期從新開始
if(jd==6)
jd=5; //已經是180度,則保持
while(jia==0); //等待按鍵放開
}
}
if(jan==0) //角度減小按鍵是否按下
{
delay(10);
if(jan==0)
{
jd--; //角度標識減1
count=0;
if(jd==0)
jd=1; //已經是0度,則保持
while(jan==0);
}
}
}
void main()
{
jd=3;
count=0;
Time0_Init();
while(1)
{
keyscan(); //按鍵掃描
}
}
作者:
mogui37
時間:
2018-11-8 16:26
可以啊,舵機轉動的角度是跟pwm波的占空比對應的
作者:
yly1314
時間:
2018-11-8 20:26
程序控制的吧
作者:
123liao
時間:
2018-11-8 21:45
操作步驟: 1 單片機,舵機,電源共地; 2 用兩個穩壓芯片進行供電,將電源分開來; 3 舵機信號端沒有直接連接單片機IO口,我串了一個10K的電阻,也就是這一步之后就可以控制舵機。
作者:
123liao
時間:
2018-11-8 21:46
#include<REG52.H>
#define OUT P0
#define CON P2
#define ms0_5Con 461
#define ms2_5Con 2304
typedef unsigned char unit8;
typedef unsigned short unit_16;
sbit servo0=OUT^0;
sbit servo1=OUT^1;
sbit servo2=OUT^2;
sbit servo3=OUT^3;
sbit servo4=OUT^4;
sbit servo5=OUT^5;
sbit servo6=OUT^6;
sbit servo7=OUT^7;
sbit KEY1=CON^0;
sbit KEY2=CON^1;
unit_16 pwm[8]={1382,1382,1382,1382,1382,1382,1382,1382}; //??90?,(???1382.4,???1382)
void Inter_Form()
{
TMOD|=0x01;
TH0 =0xf7;
TL0 =0x00;
TR0 =1;
ET0 =1;
EA =1;
}
void delay(unit8 x)
{
unit8 i=0;
while(x--)
{
for(i=0;i<125;i++);
}
}
/*------------------------?????--------------------------*/
/*unit_16 Transform(uchar val)
{
//0?=0.5ms, 45?=1ms, 90?=1.5ms, 135?=2ms, 180?=2.5ms
//2.5 ms??? F700, (12n/11059200=2.5/1000, n=2304, X=65536-2304=63232 > F700)
//return (unit_16)(((float)(2/180)*X+0.5)/1000*11059200/12);
unit_16 a = (val+46)*10;
if(a<ms0_5Con)
a=ms0_5Con;
if(a>ms2_5Con)
a=ms2_5Con;
return a;
} */
/*-------------------------???---------------------------*/
void Steering_UP(unit8 val)
{
if(pwm[val]>ms2_5Con)
pwm[val]=ms2_5Con;
pwm[val]=pwm[val]+10;
}
void Steering_Down(unit8 val)
{
if(pwm[val]<ms0_5Con)
pwm[val]=ms0_5Con;
pwm[val]=pwm[val]-10;
}
void main(void)
{
Inter_Form();
while(1)
{
if(!KEY1)
{
delay(2);
if(!KEY1)
Steering_UP(0);
}
else if(!KEY2)
{
delay(2);
if(!KEY2)
Steering_Down(0);
}
}
}
/*------------------------??????--------------------------*/
void SteeringGear() interrupt 1
{
static unit8 pwm_flag=0;
switch(pwm_flag)
{
case 1: servo0=1; TH0=-pwm[0]>>8; TL0=-pwm[0]; break;
case 2: servo0=0; TH0=-(ms2_5Con-pwm[0])>>8; TL0=-(ms2_5Con-pwm[0]); break;
case 3: servo1=1; TH0=-pwm[1]>>8; TL0=-pwm[1]; break;
case 4: servo1=0; TH0=-(ms2_5Con-pwm[1])>>8; TL0=-(ms2_5Con-pwm[1]); break;
case 5: servo2=1; TH0=-pwm[2]>>8; TL0=-pwm[2]; break;
case 6: servo2=0; TH0=-(ms2_5Con-pwm[2])>>8; TL0=-(ms2_5Con-pwm[2]); break;
case 7: servo3=1; TH0=-pwm[3]>>8; TL0=-pwm[3]; break;
case 8: servo3=0; TH0=-(ms2_5Con-pwm[3])>>8; TL0=-(ms2_5Con-pwm[3]); break;
case 9: servo4=1; TH0=-pwm[4]>>8; TL0=-pwm[4]; break;
case 10: servo4=0; TH0=-(ms2_5Con-pwm[4])>>8; TL0=-(ms2_5Con-pwm[4]); break;
case 11: servo5=1; TH0=-pwm[5]>>8; TL0=-pwm[5]; break;
case 12: servo5=0; TH0=-(ms2_5Con-pwm[5])>>8; TL0=-(ms2_5Con-pwm[5]); break;
case 13: servo6=1; TH0=-pwm[6]>>8; TL0=-pwm[6]; break;
case 14: servo6=0; TH0=-(ms2_5Con-pwm[6])>>8; TL0=-(ms2_5Con-pwm[6]); break;
case 15: servo7=1; TH0=-pwm[7]>>8; TL0=-pwm[7]; break;
case 16: servo7=0; TH0=-(ms2_5Con-pwm[7])>>8; TL0=-(ms2_5Con-pwm[7]); break;
default:TH0=0xff; TL0=0x80; pwm_flag=0;
}
pwm_flag++;
作者:
123liao
時間:
2018-11-8 21:47
操作步驟:
1 單片機,舵機,電源共地;
2 用兩個穩壓芯片進行供電,將電源分開來;
3 舵機信號端沒有直接連接單片機IO口,我串了一個10K的電阻,也就是這一步之后就可以控制舵機
作者:
999999999瀟灑
時間:
2018-11-17 12:34
參考
https://download.csdn.net/download/chenshm/2656320?web=web
作者:
Z1235789
時間:
2018-11-18 20:35
[圖片][圖片] 一個就能做到
作者:
封小墨
時間:
2018-11-19 17:57
可以通過代買來實現的,可以通過一個舵機來實現的。
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1