// SAVING POSITION TO EEPROM -=-=-=-=-=-=-=-=-=-=-=-=-
{
val = digitalRead(intest3Pin); // Knapp 3 - Denna ska spara position i minnet
if (val == HIGH) { // Kollar om knappen är tryckt
EEPROM.put(0,PulseCount); // Skriver PulseCount numret till minnet, adressen är 0
lcd.setCursor(0, 1); // Dessa två rader skriver till LCD, i detta fall är 0,1 rad 2
lcd.print(PulseCount);
delay(750);
lcd.setCursor(0, 1);
lcd.print("Pos Saved!");
Serial.println("Saving liftposition to memory ");
delay(750);
}
}
// READING FROM EEPROM -=-=-=-=-=-=-=-=-=-=-=-=-
{
val = digitalRead(intest4Pin); // Knapp 4 - Ska läsa upp från minnet
if (val == HIGH) { // Kollar om knappen är tryckt
EEPROM.get(0,PulseCount); // Läser av numret som är sparat i minnet
lcd.setCursor(0, 1); // Dessa två rader skriver till LCD, i detta fall är 0,1 rad 2
lcd.print("Reading MEM");
Serial.println("Reading liftposition from memory ");
delay(1000);
}
}
// if(PulseCount < 320 && PulseCount > 280){
// ---- MOTORNS VOID LOOP - KNAPPSTYRNINGEN TILL MOTORERNA ----
// intest 1 ÅKER UPP
// intest 2 ÅKER NER
// stopsensor1Pin heter stoppsensorn som hindrar UPP
// stopsensor2Pin heter stoppsensorn som hindrar NED
// stopsensor3Pin heter stoppsensorn som ska hindra UPP eller NED
{
// ---- ÅKER UPP ----
val = digitalRead(intest1Pin); // UPP - Läser input värde
if (val == HIGH) // Checkar om knappen trycks
{
digitalWrite(controlPin1, HIGH);
digitalWrite(controlPin2, LOW);
// -- DESSA TRE TILLHÖR SENSORN SOM SKA STOPPA BÅDE UPP OCH NER
{
val = digitalRead(stopsensor3Pin);
if (val == HIGH) {
digitalWrite(controlPin1, LOW);
// -- Dessa 3 rader visar USER STOP när sensorn stoppar nedgång - delay ställer flimret men slöar också ner visningen av pulsräkningen ------
lcd.setCursor(0, 1);
lcd.print("User Stop");
Serial.println("User removeable module defined stop 1 ");
delay(50);
// -- Dessa tre rader nedanför gör pipljudet när UPP & NER stopsensorn (ovan) täcks
tone(tonePin, 600);
delay(50);
tone(tonePin, 950);
delay(70);
tone(tonePin, 800, 125);
delay(800);
noTone(tonePin);
}
}
// -- Detta är sensorn som, om täcks, hindrar motorn från att åka upp
{
val = digitalRead(stopsensor2Pin); // Sensor 2 som stoppar motorn, likaså sensor 3 vars uppgift är att stoppa både upp och ner
if (val == HIGH) {
digitalWrite(controlPin1, LOW);
// -- Dessa 3 rader visar UPSTOP när sensorn stoppar nedgång - delay ställer flimret men slöar också ner visningen av pulsräkningen ------
lcd.setCursor(0, 1);
lcd.print("Up Stop");
Serial.println("Upper security sensor reached Can only go down ");
delay(50);
// -- Dessa tre rader nedanför gör pipljudet när stopsensorn (ovan) täcks påvägen UPP
tone(tonePin, 880);
delay(125);
tone(tonePin, 400, 125);
delay(650);
noTone(tonePin);
}
// -- Dessa 3 rader visar UP när nedåtknapp trycks NED - delay ställer flimret men slöar också ner visningen av pulsräkningen ------
lcd.setCursor(0, 1);
lcd.print("Up");
Serial.println("Lift going up at full speed ");
delay(50);
}
}
// ---- ÅKER NER ----
else {
val = digitalRead(intest2Pin); // NER - Läser input värde
if (val == HIGH) { // Checkar om knappen trycks
digitalWrite(controlPin1, LOW);
digitalWrite(controlPin2, HIGH);
// -- DESSA TRE TILLHÖR SENSORN SOM SKA STOPPA BÅDE UPP OCH NER
{
val = digitalRead(stopsensor3Pin); // TEST
if (val == HIGH) {
digitalWrite(controlPin2, LOW);
// -- Dessa 3 rader visar STOP när sensorn stoppar nedgång - delay ställer flimret men slöar också ner visningen av pulsräkningen ------
lcd.setCursor(0, 1);
lcd.print("User Stop");
Serial.println("User removeable module defined stop 2 ");
delay(50);
// -- Dessa tre rader nedanför gör pipljudet när UPP & NER stopsensorn (ovan) täcks
tone(tonePin, 600);
delay(50);
tone(tonePin, 950);
delay(70);
tone(tonePin, 800, 125);
delay(800);
noTone(tonePin);
}
}
// -- Detta är sensorn som, om täcks, hindrar motorn från att åka ner
{
val = digitalRead(stopsensor1Pin); // Sensorn 1 som stoppar motorn, likaså sensor 3 vars uppgift är att stoppa både upp och ner
if (val == HIGH) {
digitalWrite(controlPin2, LOW);
// -- Dessa 3 rader visar DOWN STOP när sensorn stoppar nedgång - delay ställer flimret men slöar också ner visningen av pulsräkningen ------
lcd.setCursor(0, 1);
lcd.print("Down Stop");
Serial.println("Lower security sensor reached Can only go up ");
delay(50);
// -- Dessa tre rader nedanför gör pipljudet när stopsensorn (ovan) täcks påvägen ner
tone(tonePin, 880);
delay(125);
tone(tonePin, 400, 125);
delay(650);
noTone(tonePin);
}
// -- Dessa 3 rader visar DOWN när nedåtknapp trycks NED - delay ställer flimret men slöar också ner visningen av pulsräkningen ------
lcd.setCursor(0, 1);
lcd.print("Down");
Serial.println("Lift going down at full speed ");
delay(50);
}
// -- Dessa två rader stoppar motorn när man släpper knappen
} else
{
digitalWrite(controlPin1, LOW);
digitalWrite(controlPin2, LOW);
}
// -- Dessa rader stoppar motorn 1 sek när den är inom värdet, men bara när man kör UPP
// -- Det är dessa rader jag vill kunna programmera om med EEPROM
{
EEPROM.get( eeAddress, f ); // GET ERROR HERE - eeADRESS WAS NOT DECLARED IN THIS SCOPE
if(eeAddress){
digitalWrite(controlPin1, LOW);
digitalWrite(controlPin2, LOW);
lcd.setCursor(0, 1);
lcd.print("Prg.STOP");
Serial.println("Programmed Stop Activated ");
delay(1000);
}
}
} // Går till Åker ner
} // Går till Åker upp
} // Går till puls o grafikräkning - Högst upp