|
该程序吾所编也,乃和舵机与中断程序于一体也,然不知何处编译有误。故求诸位有识之士代为指正,鄙人感激不尽。{:soso__1039173773029404865_2:}
#include <Servo.h> //舵机模块
Servo myservo;
int potpin = 0;
int val;
//中断模块
int pbIn = 0; // 定义中断引脚为0,也就是D2引脚
volatile int state = LOW; // 定义默认输入状态
void setup()
{ myservo.attach(9);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT); //蜂鸣,警示灯
pinMode(pbIn, INPUT);
attachInterrupt(pbIn,statechange,CHANGE); // 监视中断输入引脚的变化
Serial.begin (9600);
}
void loop()
{
val = analogRead(potpin); // 舵机模块
val = map(val, 0, 1023, 0, 180);
myservo.write(val);
//digitalWrite(9,50);
//delay(100);
//digitalWrite(9,70);
//delay(100);
Serial.println (val);
}
void statechange() //中断模块
{val =0;
myservo.write(val);
Serial.println (val);
digitalWrite(12,0);
digitalWrite(13,0);
delay(10);
digitalWrite(12,1);
digitalWrite(13,1);
delay(10);
}
|
|