#define moto_x_dir 2 //X号电机方向,引脚定义2。
#define moto_y_dir 3 //Y号电机方向,引脚定义3。
#define moto_z_dir 4 //Z号电机方向,引脚定义4。
#define moto_x_stp 5 //X号电机速度,引脚定义5。
#define moto_y_stp 6 //Y号电机速度,引脚定义6。
#define moto_z_stp 7 //Z号电机速度,引脚定义8。
#define moto_all_ena 8
int spd=100; //速度变量初始值。
void setup()
{
Serial.begin(9600);
pinMode(moto_x_dir,OUTPUT);
pinMode(moto_y_dir,OUTPUT);
pinMode(moto_z_dir,OUTPUT);
pinMode(moto_x_stp,OUTPUT);
pinMode(moto_y_stp,OUTPUT);
pinMode(moto_z_stp,OUTPUT);
pinMode(moto_all_ena,OUTPUT);
digitalWrite(moto_all_ena,HIGH); //初始赋值电机为关闭状态。
delay(1000); //延迟1秒。
}
void loop()
{
if(spd<500)
{
moto();
delay(1);
Serial.println(spd); //调试追踪输出速度
spd++;
}
else
{
moto();
Serial.println(spd); //调试追踪输出速度
}
}
void moto()
{
digitalWrite(moto_all_ena,LOW); //启动电机工作状态。
digitalWrite(moto_x_dir,HIGH);
digitalWrite(moto_y_dir,HIGH);
digitalWrite(moto_z_dir,HIGH);
digitalWrite(moto_x_stp,HIGH);
digitalWrite(moto_y_stp,HIGH);
digitalWrite(moto_z_stp,HIGH);
tone(moto_x_stp,spd);
delay(1);
tone(moto_y_stp,spd);
delay(1);
tone(moto_z_stp,spd);
delay(1);
}
程序运行后,只有最上面的tone_x电机会动。y,z电机不会动。如果把最上面的tone_x换成y或者z,那么y或者z也能动,但其他多久不会动。
刚接触arduino,tone是不是同时只能输出一路。不能多路同时输出???
#define moto_y_dir 3 //Y号电机方向,引脚定义3。
#define moto_z_dir 4 //Z号电机方向,引脚定义4。
#define moto_x_stp 5 //X号电机速度,引脚定义5。
#define moto_y_stp 6 //Y号电机速度,引脚定义6。
#define moto_z_stp 7 //Z号电机速度,引脚定义8。
#define moto_all_ena 8
int spd=100; //速度变量初始值。
void setup()
{
Serial.begin(9600);
pinMode(moto_x_dir,OUTPUT);
pinMode(moto_y_dir,OUTPUT);
pinMode(moto_z_dir,OUTPUT);
pinMode(moto_x_stp,OUTPUT);
pinMode(moto_y_stp,OUTPUT);
pinMode(moto_z_stp,OUTPUT);
pinMode(moto_all_ena,OUTPUT);
digitalWrite(moto_all_ena,HIGH); //初始赋值电机为关闭状态。
delay(1000); //延迟1秒。
}
void loop()
{
if(spd<500)
{
moto();
delay(1);
Serial.println(spd); //调试追踪输出速度
spd++;
}
else
{
moto();
Serial.println(spd); //调试追踪输出速度
}
}
void moto()
{
digitalWrite(moto_all_ena,LOW); //启动电机工作状态。
digitalWrite(moto_x_dir,HIGH);
digitalWrite(moto_y_dir,HIGH);
digitalWrite(moto_z_dir,HIGH);
digitalWrite(moto_x_stp,HIGH);
digitalWrite(moto_y_stp,HIGH);
digitalWrite(moto_z_stp,HIGH);
tone(moto_x_stp,spd);
delay(1);
tone(moto_y_stp,spd);
delay(1);
tone(moto_z_stp,spd);
delay(1);
}
程序运行后,只有最上面的tone_x电机会动。y,z电机不会动。如果把最上面的tone_x换成y或者z,那么y或者z也能动,但其他多久不会动。
刚接触arduino,tone是不是同时只能输出一路。不能多路同时输出???