Omvandling av gamla skrivare till automatiserade stämpelmaskin (4 / 5 steg)
Steg 4: kodning
#include < LiquidCrystal.h >
#include < Servo.h >
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
CONST int buttonPin0 = A0; sensor stift papper i sensor
CONST int buttonPin1 = A1; System på switch stift
CONST int buttonPin2 = A2; transport vänster flytta knapp
CONST int buttonPin3 = A3; transport rätt flytta knapp
int servoPin = 7. servo ansluten
Servo myservo;
int buttonState0 = 0; variabel för att läsa tryckknapp status
int buttonState1 = 0; variabel för att läsa tryckknapp status
int buttonState2 = 0;
int buttonState3 = 0;
int UT2 = 2; Push-pull switch ansluten
int UT3 = 3; papper ut motor 1
int out4 = 4; papper ut motor 2
int out5 = 5; papper i rullen motor
int out0 = 0; transport vänster
int out1 = 1; transport rätt
void setup() {
pinMode (buttonPin0, ingång);
pinMode (buttonPin1, ingång);
pinMode (buttonPin2, ingång);
pinMode (buttonPin3, ingång);
pinMode (out0, produktionen);
pinMode (out1, produktionen);
pinMode (UT2, produktionen);
pinMode (UT3, produktionen);
pinMode (out4, produktionen);
pinMode (out5, produktionen);
LCD.BEGIN (16, 2);
myservo.attach(servoPin);
}
void loop() {
LCD.Clear();
buttonState1 = digitalRead(buttonPin1); kontroll av läget
digitalWrite (out5, låg);
digitalWrite (UT3, låg);
digitalWrite (out4, låg);
digitalWrite (out0, låg);
digitalWrite (out1, låg);
Kontrollera om tryckknappen trycks.
om det är, är buttonState hög:
om (buttonState1 == låg)
{
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
om (buttonState2 == hög) {
LCD.Print ("stämpel >>");
digitalWrite (out0, hög);
digitalWrite (out1, låg);
Delay(100);
digitalWrite (out0, låg);
digitalWrite (out1, låg);
}
om (buttonState3 == hög)
{
LCD.Print ("<< stämpel");
digitalWrite (out1, hög);
digitalWrite (out0, låg);
Delay(100);
digitalWrite (out0, låg);
digitalWrite (out1, låg);
}
annat {
LCD.Print ("stämpel POSITION");
}
}
om (buttonState1 == hög) {
digitalWrite (out5, hög); processen för motor på
digitalWrite (UT3, låg);
digitalWrite (out4, låg);
digitalWrite (out0, låg);
digitalWrite (out1, låg);
Läs statligt av tryckknapp värdet:
buttonState0 = digitalRead(buttonPin0);
Kontrollera om tryckknappen trycks.
om det är, är buttonState hög:
om (buttonState0 == låg) {
LCD.Clear();
digitalWrite (out5, låg);
Delay(200);
LCD.Print ("SYSTEM ON");
Delay(500);
LCD.Clear();
digitalWrite (UT2, hög); stämpel på
LCD.Print("Stamp");
Delay(1000);
digitalWrite (UT2, låg);
LCD.Clear();
LCD.Print ("papper ut");
Delay(500);
myservo.write(90); plattformen flytta upp
Delay(500);
digitalWrite (UT3, hög); papper ut motor på
digitalWrite (out4, hög);
Delay(1000);
digitalWrite (UT3, låg); papper ut motor off
digitalWrite (out4, låg);
Delay(500);
myservo.write(0); plattformen flytta ner
LCD.Clear();
Delay(1000);
}
annat {
LCD.Print ("Infoga papper");
digitalWrite (out5, hög); processen för motor på rullen motor på
}
Delay(500);
}
}