找回密码
 立即注册

QQ登录

只需一步,快速开始

点击进入授权页面

只需一步,快速开始

  • QQ空间
  • 回复
  • 收藏

参加活动: 0

组织活动: 0

  • TA的每日心情

    1500176867
  • 签到天数: 44 天

    三水 高级会员 2012-3-27 13:44 楼主
    -。-之前写的,搬运过来。。。现在看这段代码感觉问题百出,但是至少还是能控制的,丢过来先
    1. int sp1=10;//定义舵机接口数字接口7
    2. int pulsewidth;//定义脉宽变量
    3. int val;
    4. int val1;
    5. int myangle1;
    6. //下面是servopulse函数部分(此函数意思:也就是說每次都是0.5ms高電平 1.98ms低電平 然後再0.52ms低電平 17ms延時也是低電平)

    7. void servopulse(int sp1,int val1)//定义一个脉冲函数
    8. {
    9.   myangle1=map(val1,0,180,500,2480);
    10.   digitalWrite(sp1,HIGH);//将舵机接口电平至高
    11.   delayMicroseconds(myangle1);//延时脉宽值的微秒数
    12.   digitalWrite(sp1,LOW);//将舵机接口电平至低
    13.   delay(20-val1/1000);
    14. }
    15. //servopulse函数部分到此结束
    16. void setup()
    17. {
    18.   pinMode(sp1,OUTPUT);//设定舵机接口为输出接口
    19.   //设置两组串口波特率
    20.   Serial.begin(9600);
    21.   delay(500);
    22.   Serial.println("servu=o_seral_simple ready" ) ;
    23. }

    24. void loop()//将0到9的数转化为0到180角度,并让LED闪烁相应数的次数
    25. {
    26.   val=Serial.read();//读取串行端口的值

    27.   if(val>'0'&&val<='9')
    28.   {
    29.     val1=val-'0';//将特征量转化为数值变量
    30.     val1=map(val1,0,9,0,180);//将角度转化为500-2480的脉宽值
    31.     Serial.print("moving servo to ");
    32.     Serial.print(val1,DEC);
    33.     Serial.println();
    34.     for(int i=0;i<=50;i++)//给予舵机足够的时间让它转到指定角度
    35.     {
    36.       servopulse(sp1,val1);//引用脉冲函数
    37.     }
    38.   }

    39. }
    复制代码

    老师,我没看懂
    支持下~~~~
    {:soso_e181:}还不错
    DFRobot玲 发表于 2012-5-7 09:18
    还不错

    围观妹纸...
    如果以上内容对你有帮助,你可以通过打赏支持作者
    奈何col 发表于 2012-5-7 09:51
    围观妹纸...

    呵呵呵
    亲,map 是干什么的?
    背死了0.0            
    记不下来      
    啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
    顶一下
    很好的 不错支持
    123下一页
    发新帖
    发表评论
    高级模式  
    您需要登录后才可以回帖 登录 | 立即注册  
    关闭

    推荐主题 上一条 /2 下一条