const int EchoPin = 2//超声波信号输入
const int TrigPin = 3//超声波控制信号输出
int currDist = 0
void setup(){
pinMode(EchoPin, INPUT)
for (int pinindex = 3pinindex <8pinindex++) {
pinMode(pinindex, OUTPUT)// set pins 3 to 10 as outputs
}
pinMode(A0,OUTPUT)
pinMode(A1,OUTPUT)
pinMode(A2,OUTPUT)
pinMode(A3,OUTPUT)
digitalWrite(A0,LOW)
digitalWrite(A1,LOW)
digitalWrite(A2,LOW)
digitalWrite(A3,LOW)
Serial.begin(9600)
}
void loop(){
currDist = MeasuringDistance()//读取前端距离
//Serial.println(currDist)
if(currDist >25){
}
//power开关看个人需要,这里没有启用
//else if(currDist <8){
// mpower()
// }
else if(currDist <7){
mpause()
}
else if(currDist <15){
mnext()
}
else if(currDist <25){
mprev()
}
}
long MeasuringDistance() {
long duration
digitalWrite(TrigPin, LOW)
delayMicroseconds(2)
digitalWrite(TrigPin, HIGH)
delayMicroseconds(10)
digitalWrite(TrigPin, LOW)
duration = pulseIn(EchoPin, HIGH)
return duration / 29 / 2
}
//mplay播放
void mplay() {
digitalWrite(A0, HIGH)
delay(100)
digitalWrite(A0, LOW)
Serial.println("mplay")
}
//mprev上一首
void mprev() {
digitalWrite(A1, HIGH)
delay(1000)
digitalWrite(A1, LOW)
Serial.println("mprev")
}
//mnext下一首
void mnext() {
digitalWrite(A2, HIGH)
//return
delay(1000)
digitalWrite(A2, LOW)
Serial.println("mnext")
}
//mpause暂停
void mpause() {
digitalWrite(A0, HIGH)
delay(1000)
digitalWrite(A0, LOW)
Serial.println("mpause")
}
//mpower
//void mpower() {
// digitalWrite(A3, HIGH)
// delay(500)
//digitalWrite(A3, LOW)
// Serial.println("mpower")
//}
Arduino使用KS103步进电机控制器,可以通过Arduino板中的数字输出端口来控制步进电机,步进电机可以根据设定的步骤和方向精确地旋转指定的角度。1、将KS103控制器与Arduino板连接:将KS103控制器的数字输出端口连接到Arduino板的数字输出端口,将KS103控制器的电源端口连接到Arduino板的电源端口;
2、编写Arduino程序:在Arduino开发环境中编写程序,定义数字输出端口,并设置步骤、方向和旋转角度;
3、上传程序:将编写的程序上传到Arduino板中,完成步进电机的控制;
4、测试:运行程序,检查步进电机是否按照设定的步骤和方向旋转指定的角度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)