管材切割机 按下一直拉紧,向下无法松 1.0
代码如下
:
//管子切割自动收紧器!2017-6-25 bool as_b=false; bool aj_b=false; bool x_x_b=false;//向下标志位 bool s_b=false; bool j_b=false;//紧标志位 bool led=false;//led闪烁灯标志 #define x_x 4//向下 输入 24V继电器一个接GND #define as 3//按键松 输入 #define aj 2//按键紧 输入 #define song 6// 入芯子 输出 继电器 5v-24V #define jin 7// 抽芯子 输出 继电器 5v-24V #define L1 13 int temp_t1=0;//临时变量秒(每秒执行) void setup() { Serial.begin(115200); Serial.println("XiaoHe520:496631085_TEL:17051329108_v1.0"); pinMode(L1,OUTPUT); pinMode(jin,OUTPUT); pinMode(song,OUTPUT); pinMode(aj,INPUT_PULLUP); pinMode(as,INPUT_PULLUP); pinMode(x_x,INPUT_PULLUP); digitalWrite(song,HIGH); digitalWrite(jin,HIGH); } void loop() { pda(); meimiao(); //run_p(); /*bool as_b=false; bool aj_b=false; bool x_x_b=false;//向下标志位 bool s_b=false; bool j_b=false;//紧标志位 */ if(as_b==true&&aj_b==false) {digitalWrite(song,LOW);s_b=true;} else digitalWrite(song,HIGH); if(aj_b==true) { digitalWrite(jin,LOW); j_b=true; } else {digitalWrite(jin,HIGH);j_b=false;} }//LOOP 结束 void pda() { if(digitalRead(x_x)==LOW)//判断是否按下 向下 { delay(10); if(digitalRead(x_x)==LOW) { x_x_b=true; j_b=true;//如果向下 就紧 } } else if(digitalRead(x_x)==HIGH) x_x_b=false; //_______________________ if(digitalRead(aj)==LOW) { delay(10); if(digitalRead(aj)==LOW) { aj_b=true; } } else aj_b=false; //_______________________ //必须向下为假才能松按钮 if(digitalRead(as)==LOW) { if(x_x_b==false) { delay(10); if(digitalRead(as)==LOW) { as_b=true; } } } else as_b=false;// //__________________________________ } //—————————————————— void meimiao() { if(temp_t1!=millis()/1000) {temp_t1=millis()/1000; if(led==true){digitalWrite(L1,LOW);led=false;} else {digitalWrite(L1,HIGH);led=true;} Serial.print(led); Serial.print("as_b:"); Serial.print(as_b); Serial.print(" aj_b:"); Serial.print(aj_b); Serial.print(" x_x_b:"); Serial.print(x_x_b); Serial.print(" s_b:"); Serial.print(s_b); Serial.print(" j_b:"); Serial.println(j_b); } }