Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///////////////////////////////////
- // Motor Hoch = 10
- // Motor Runter = 11
- // LED unten = 8
- // LED mitte = 9
- // LED oben = 12
- // REED unten = 5
- // REED mitte = 6
- // REED oben = 7
- // Knopf unten = 1
- // Knopf mitte = 2
- // Knopf oben = 3
- //
- //2017.06
- //Program erstellt von
- //Philipp Hinz || Phisn
- ///////////////////////////////////
- #include <EEPROM.h>
- #define engineUp 10
- #define engineDown 11
- #define led1 8
- #define led2 9
- #define led3 12
- #define reed_bottom 5
- #define reed_mid 6
- #define reed_top 7
- #define button1 1
- #define button2 2
- #define button3 3
- #define mMove 1
- #define mWait 2
- #define mSecret 3
- int cur_position = 3;
- int fin_postion = 1;
- bool engine_eneabled = false;
- bool led_blink = false;
- bool led_blink_pin = 1;
- int led_blink_time = millis();
- int led_blink_timespan = 360;
- int mode = mMove;
- bool bs1, bs2, bs3;
- void setup() {
- pinMode(led1, OUTPUT);
- pinMode(led2, OUTPUT);
- pinMode(led3, OUTPUT);
- pinMode(down, INPUT_PULLUP);
- pinMode(mid, INPUT_PULLUP);
- pinMode(up, INPUT_PULLUP);
- pinMode(engineUp, OUTPUT);
- pinMode(engineDown, OUTPUT);
- pinMode(button1, INPUT_PULLUP);
- pinMode(button2, INPUT_PULLUP);
- pinMode(button3, INPUT_PULLUP);
- }
- void spcfnc(int e, int z, int d) {
- digitalWrite(led1, e);
- digitalWrite(led2, z);
- digitalWrite(led3, d);
- delay(200);
- }
- void loop() {
- switch(mode) {
- case mMove:
- if(cur_position != fin_postion) {
- if(!engine_eneabled) {
- if(cur_position < fin_postion) {
- digitalWrite(engineUp, HIGH);
- }
- else {
- digitalWrite(engineDown, HIGH);
- }
- engine_eneabled = true;
- }
- if(led_blink_time + led_blink_timespan >= millis()) {
- led_blink = !led_blink;
- digitalWrite(led_blink_pin, led_blink);
- led_blink_time = millis();
- }
- break;
- }
- else {
- mode = mWait;
- }
- case mWait:
- if(cur_position == fin_postion) {
- if(engine_eneabled) {
- engine_eneabled = false;
- digitalWrite(engineUp, LOW);
- digitalWrite(engineDown, LOW);
- }
- bs1 = !digitalRead(button1);
- bs2 = !digitalRead(button2);
- bs3 = !digitalRead(button3);
- if(bs1 && bs2 && bs3) {
- mode = mSecret;
- }
- else {
- if(bs1) {
- fin_postion = 1;
- }
- if(bs2) {
- fin_postion = 2;
- }
- if(bs3) {
- fin_postion = 3;
- }
- }
- }
- else {
- mode = mMove;
- }
- case mSecret:
- spcfnc(LOW, LOW, LOW);
- delay(1000);
- for(int i=1; i < 5; ++i) {
- spcfnc(HIGH, LOW, LOW);
- spcfnc(LOW, HIGH, LOW);
- spcfnc(LOW, LOW, HIGH);
- spcfnc(LOW, HIGH, LOW);
- }
- spcfnc(HIGH, LOW, LOW);
- delay(500);
- for(int i=1; i < 5; ++i) {
- spcfnc(HIGH, LOW, LOW);
- spcfnc(LOW, HIGH, LOW);
- spcfnc(LOW, LOW, HIGH);
- }
- spcfnc(HIGH, HIGH, HIGH);
- delay(1000);
- spcfnc(LOW, LOW, LOW);
- mode = mWait;
- break;
- }
- if(!digitalRead(reed_bottom) && cur_position != 1) {
- digitalWrite(led1, HIGH);
- digitalWrite(led2, LOW);
- }
- if(!digitalRead(reed_mid) && cur_position != 2) {
- digitalWrite(led1, LOW);
- digitalWrite(led2, HIGH);
- digitalWrite(led3, LOW);
- }
- if(!digitalRead(reed_top) && cur_position != 3) {
- digitalWrite(led2, LOW);
- digitalWrite(led3, HIGH);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement