Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int arrayOfPinsRelay[6] = {
- 2,
- 3,
- 4,
- 5,
- 6,
- 7
- };
- int arrayOfSwitches[6] = {
- 8,
- 9,
- 10,
- 11,
- 12,
- 13
- };
- int button = 0;
- int countSwitches = 6;
- int countRelay = 6;
- bool startposition = false;
- bool finishposition = false;
- bool firstStartEngine = true;
- void setup() {
- for (int i = 0; i < countRelay; i++) {
- pinMode(arrayOfPinsRelay[i], OUTPUT);
- }
- for (int i = 0; i < countSwitches; i++) {
- pinMode(arrayOfSwitches[i], INPUT);
- }
- if (digitalRead(13) == LOW && digitalRead(12) == LOW) {
- moveToStartPosition(12, 7);
- delay(1000);
- moveToStartPosition(10, 5);
- delay(1000);
- moveToStartPosition(8, 3);
- delay(1000);
- } else if (digitalRead(11) == LOW && digitalRead(10) == LOW) {
- moveToStartPosition(10, 5);
- delay(1000);
- moveToStartPosition(8, 3);
- delay(1000);
- } else if (digitalRead(9) == LOW && digitalRead(8) == LOW) {
- moveToStartPosition(8, 3);
- delay(1000);
- }
- startposition = true;
- firstStartEngine = false;
- }
- void loop() {
- // put your main code here, to run repeatedly:
- if (!firstStartEngine) {
- finishposition = true;
- startposition = false;
- if(digitalRead(9) == LOW && analogRead(button) > 500){
- startMotorUp(8, 2, 9);
- delay(1000);
- }
- if(digitalRead(11) == LOW && analogRead(button) > 500){
- startMotorUp(10, 4, 11);
- delay(1000);
- }
- if(digitalRead(13) == LOW && analogRead(button) > 500){
- startMotorUp(12, 6, 13);
- delay(1000);
- }
- finishposition = false;
- startposition = true;
- if(digitalRead(12) == LOW && analogRead(button) == 0){
- startMotorDown(13, 7, 12);
- delay(1000);
- }
- if(digitalRead(10) == LOW && analogRead(button) == 0){
- startMotorDown(11, 5, 10);
- delay(1000);
- }
- if(digitalRead(8) == LOW && analogRead(button) == 0){
- startMotorDown(9, 3, 8);
- delay(1000);
- }
- }
- }
- void startMotorUp(int Switch, int relay, int nextSwitch) {
- bool flag = false;
- while (digitalRead(nextSwitch) == LOW) {
- if (flag == false) {
- digitalWrite(relay, HIGH);
- }
- flag = true;
- }
- digitalWrite(relay, LOW);
- }
- void startMotorDown(int Switch, int relay, int nextSwitch) {
- bool flag = false;
- while (digitalRead(nextSwitch) == LOW) {
- if (flag == false) {
- digitalWrite(relay, HIGH);
- }
- flag = true;
- }
- digitalWrite(relay, LOW);
- }
- void moveToStartPosition(int Switch, int relay) {
- bool flag = false;
- while (digitalRead(Switch) == LOW) {
- if (flag == false) {
- digitalWrite(relay, HIGH);
- }
- flag == true;
- }
- digitalWrite(relay, LOW);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement