Stap 4: codering
#include < LiquidCrystal.h >
#include < Servo.h >
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
Const int buttonPin0 = A0; sensor pin papier sensor
Const int buttonPin1 = a1 worden verkregen; Systeem op schakelaar pin
Const int buttonPin2 = A2; knop voor vervoer liet verplaatsen
Const int buttonPin3 = A3; vervoer juiste knop verplaatsen
int servoPin = 7; Servo aangesloten
Servo myservo;
int buttonState0 = 0; variabele voor het lezen van de drukknop status
int buttonState1 = 0; variabele voor het lezen van de drukknop status
int buttonState2 = 0;
int buttonState3 = 0;
int out2 = 2; Push pull schakelaar aangesloten
int out3 = 3; papier uit de motor 1
int out4 = 4; papier uit de motor 2
int out5 = 5; papier in roller motor
int out0 = 0; vervoer links
int out1 = 1; juiste vervoer
VOID Setup {}
pinMode (buttonPin0, INPUT);
pinMode (buttonPin1, INPUT);
pinMode (buttonPin2, INPUT);
pinMode (buttonPin3, INPUT);
pinMode (out0, OUTPUT);
pinMode (out1, OUTPUT);
pinMode (out2, OUTPUT);
pinMode (out3, OUTPUT);
pinMode (out4, OUTPUT);
pinMode (out5, OUTPUT);
LCD.begin (16, 2);
myservo.attach(servoPin);
}
void loop {}
LCD.Clear();
buttonState1 = digitalRead(buttonPin1); modus controleren
digitalWrite (out5, laag);
digitalWrite (out3, laag);
digitalWrite (out4, laag);
digitalWrite (out0, laag);
digitalWrite (out1, laag);
Controleer als de drukknop ingedrukt is.
Als het is, is de buttonState hoog:
Als (buttonState1 == laag)
{
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
Als (buttonState2 == HIGH) {}
LCD.Print ("stempel >>");
digitalWrite (out0, hoge);
digitalWrite (out1, laag);
delay(100);
digitalWrite (out0, laag);
digitalWrite (out1, laag);
}
Als (buttonState3 == HIGH)
{
LCD.Print ("<< stempel");
digitalWrite (out1, hoge);
digitalWrite (out0, laag);
delay(100);
digitalWrite (out0, laag);
digitalWrite (out1, laag);
}
else {}
LCD.Print ("stempel positie");
}
}
Als (buttonState1 == HIGH) {}
digitalWrite (out5, hoge); proces voor motor op
digitalWrite (out3, laag);
digitalWrite (out4, laag);
digitalWrite (out0, laag);
digitalWrite (out1, laag);
Lees de stand van de drukknop waarde:
buttonState0 = digitalRead(buttonPin0);
Controleer als de drukknop ingedrukt is.
Als het is, is de buttonState hoog:
Als (buttonState0 == LOW) {}
LCD.Clear();
digitalWrite (out5, laag);
delay(200);
LCD.Print ("SYSTEM ON");
delay(500);
LCD.Clear();
digitalWrite (out2, hoge); stempel op
LCD.Print("Stamp");
delay(1000);
digitalWrite (out2, laag);
LCD.Clear();
LCD.Print ("papieren OUT");
delay(500);
myservo.write(90); platform omhoog
delay(500);
digitalWrite (out3, hoge); papier uit de motor op
digitalWrite (out4, hoge);
delay(1000);
digitalWrite (out3, laag); papier uit de motor uit
digitalWrite (out4, laag);
delay(500);
myservo.write(0); platform omlaag
LCD.Clear();
delay(1000);
}
else {}
LCD.Print ("invoegen papier");
digitalWrite (out5, hoge); proces voor motor op roller motor op
}
delay(500);
}
}