怎样用Arduino通过PWM方法调整电机转速,求大神!!!
怎样用Arduino通过PWM方法调整电机转速,求代码!!! 本帖最后由 顺子 于 2015-10-28 18:41 编辑这个是51的程序,我没有使用过Arduino,单我觉得应该是一样的。所以代码贴给你看看
希望对你有用
sbit PWM=P0^4;
sbit key_inc = P3^4;
sbit key_dec = P3^7;
#define MAX_SPEED 80 // 最高占空比
#define MIN_SPEED 30 //最低占空比
void Timer0Int() interrupt 1
{
TH0=(65536-(FOSC/12*TIME_US)/1000000)/256;
TL0=(65536-(FOSC/12*TIME_US)/1000000)%256;
timer1++;
if(timer1>100)//PWM周期为100*0.05ms
{
timer1=0;
}
if(timer1 < speed) //改变speed这个值可以改变直流电机的速度
{
PWM=1;
}
else
{
PWM=0;
}
}
void KeyScan(void)
{
if(key_inc==0)
{
Delayms(5);
if(key_inc==0);
{
while(key_inc==0);
speed++;
if(speed > MAX_SPEED) speed = MAX_SPEED;
}
}
if(key_dec==0)
{
Delayms(5);
if(key_dec==0);
{
while(key_dec==0);
if(speed <= MIN_SPEED) speed = MIN_SPEED;
speed--;
}
}
}
void setup ()
{
pinMode(6,OUTPUT);
}
void loop()
{
int n;
analogWrite(6,n); //使用PWM控制6号口输出,变量n的取值范围是0-255
} 雨中漫步 发表于 2015-10-29 10:55 static/image/common/back.gif
void setup ()
{
pinMode(6,OUTPUT);
嘿嘿 谢谢啊 顺子 发表于 2015-10-28 18:40 static/image/common/back.gif
这个是51的程序,我没有使用过Arduino,单我觉得应该是一样的。所以代码贴给你看看
希望对你有用
sbit PW ...
谢谢了 嘿嘿 新手 路过 学习学习。谢谢! arduino基础代码吧:L
页:
[1]