极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13909|回复: 2

求助关于arduino中断在舵机中的使用!!

[复制链接]
发表于 2016-6-27 15:14:57 | 显示全部楼层 |阅读模式
自己做了个机械手用mg966r舵机做动力。
暂时用10k电位器控制手的握力(舵机旋转度数),
想在手指安装微动开关实现自动控制(舵机旋转度数)我想应该用中断,但不知如何添加程序。
程序如下:
#include <Servo.h>
Servo myservo;                  //创建一个舵机控制对象
int led1=10;                       //创建工作状态指示灯引脚
int led2=11;                        
int pos = 0;
int val;                                //该变量控制舵机归0和运动
int val2;                                  // 该变量用与存储舵机角度位置

void setup()
{
  myservo.attach(9);              // 该舵机由arduino第九脚控制
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
}

void loop()
{
  val=analogRead(0);
  val2=analogRead(2);
  if(val>150)                        //当0脚输入值大于150时舵机开始运动
  {
   digitalWrite(led1,LOW);    //工作状态指示灯
   digitalWrite(led2,HIGH);
   pos =val2/6;                     //读取电位器的数值控制舵机度数
   
                                                  
    myservo.write(pos);        // 指定舵机转向的角度
    delay(15);                       // 等待15ms让舵机到达指定位置
   
  }
  if(val<50)                         //当0脚输入值小于50时舵机归0
  {
   digitalWrite(led2,LOW);
   digitalWrite(led1,HIGH);
  pos = 0;                           //回到0度运动  
                                 
    myservo.write(pos);         // 指定舵机转向的角度
    delay(15);                        // 等待15ms让舵机到达指定位置

  }
}
回复

使用道具 举报

发表于 2016-6-27 19:35:03 | 显示全部楼层
舵机和中断,我怎么记得不能组合在一起
我记得中断不能和带有延时和mills函数的东西一起用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-27 20:30:06 | 显示全部楼层
不能一起用?那把舵机改成步进电机呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 23:06 , Processed in 0.032005 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表