Etikettier Funktion (diejenige, um die es eigentlich geht ;-)) zugefügt

This commit is contained in:
sven 2021-03-19 20:03:28 +01:00
parent d07f251b04
commit 8e847d9c3b

View file

@ -87,6 +87,7 @@ unsigned char MotorDelay = 1;
unsigned char MotorDelayOld = 0;
unsigned char MotorDelayEEPROM = 0;
unsigned long previousMillis = 0;
unsigned long previousMillisEti = 0;
int UP = 0;
int DOWN = 0;
int ENTER = 0;
@ -94,10 +95,23 @@ int UP_OLD = 0;
int DOWN_OLD = 0;
int ENTER_OLD = 0;
int gapDetected = 0;
int run = 0;
int finish = 1;
unsigned long Motor;
void setup() {
pinMode(SCK, INPUT);
pinMode(MOSI, INPUT);
pinMode(MISO, INPUT);
pinMode(12, OUTPUT);
pinMode(11, INPUT);
pinMode(7, INPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
@ -105,14 +119,15 @@ pinMode(MISO, INPUT);
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
MotorDelayEEPROM = EEPROM.read(0);
MotorDelay = MotorDelayEEPROM;
testdrawbitmap(); // Draw a small bitmap image
delay(2000); // Pause for 2 seconds
// Clear the buffer
display.clearDisplay();
display.display();
MotorDelayEEPROM = EEPROM.read(0);
MotorDelay = MotorDelayEEPROM;
}
}
void loop() {
unsigned long currentMillis = millis();
@ -131,7 +146,6 @@ void loop() {
}
if (ENTER == 1){
if (currentMillis - previousMillis >= 2000) {
// save the last time you blinked the LED
previousMillis = currentMillis;
EEPROM.write(0, MotorDelay);
MotorDelayEEPROM = EEPROM.read(0);
@ -142,6 +156,37 @@ void loop() {
else {
previousMillis = currentMillis;
}
unsigned long currentMillisEti = millis();
Motor = MotorDelay * 100;
if (digitalRead(11) == HIGH && run == 0 && finish == 1){
run = 1;
finish = 0;
}
if (run == 1) {
digitalWrite(12, HIGH);
if (digitalRead(7) == HIGH){
gapDetected = 1;
}
if(gapDetected = 1) {
if (currentMillisEti - previousMillisEti >= Motor) {
previousMillisEti = currentMillisEti;
run = 0;
}
}
else {
previousMillisEti = currentMillisEti;
}
}
else {
digitalWrite(12, LOW);
previousMillisEti = currentMillisEti;
}
if (run == 0 && digitalRead(11) == 0){
finish = 1;
}
UP_OLD = UP;
DOWN_OLD = DOWN;
ENTER_OLD = ENTER;