//power stapler //(C) SHVED 2019 const byte rdy = 2; //tray in pin pin4 DIP28 const byte pos = 3; //position in pin pin5 DIP28 const byte go = 12; //go button in pin18 DIP28 const byte led = 13; //alarm led out pin19 DIP28 const byte low_staples_led = 11; //low staples led out pin17 DIP28 const byte motor = 5; //motor mosfet out pin11 DIP28 const byte low_staples_sensor = 4; //low staples sensor in pin6 DIP28 const byte paper_sensor = 6; //paper sensor in pin12 DIP28 void setup() { pinMode(rdy, INPUT_PULLUP); pinMode(pos, INPUT_PULLUP); attachInterrupt(1, cycle_stop, FALLING); pinMode(go, INPUT_PULLUP); pinMode(led, OUTPUT); pinMode(low_staples_led, OUTPUT); pinMode(motor, OUTPUT); pinMode(low_staples_sensor, INPUT_PULLUP); pinMode(paper_sensor, INPUT_PULLUP); digitalWrite(led, LOW); digitalWrite(low_staples_led, LOW); digitalWrite(motor, LOW); } void cycle_stop(){ digitalWrite(motor, LOW); } void loop() { int start = digitalRead(go); if(start == 0){ int paper = digitalRead(paper_sensor); if(paper == 1){ int ready = digitalRead(rdy); if(ready == 0){ digitalWrite(motor, HIGH); delay (1000); cycle_stop(); }else{ digitalWrite(led, HIGH); delay (1000); } }else{ digitalWrite(led, HIGH); delay (1000); } } int low_staples = digitalRead(low_staples_sensor); digitalWrite(led, LOW); digitalWrite(low_staples_led, low_staples); }