void setup() { // put your setup code here, to run once: noInterrupts(); Serial.begin(115200); pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP); pinMode(6, INPUT_PULLUP); pinMode(7, INPUT_PULLUP); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 1); } void sobe(void) { digitalWrite(10, 0); digitalWrite(8, 0); digitalWrite(9, 0); while(!digitalRead(6)); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 1); } void desce(void) { digitalWrite(10, 0); digitalWrite(9, 0); while(!digitalRead(7)); digitalWrite(9, 1); digitalWrite(10, 1); } void loop() { char subiu=0; while(1) { // put your main code here, to run repeatedly: if(!digitalRead(2)) sobe(); if(!digitalRead(3)) desce(); if(!digitalRead(4)) { if(subiu) { sobe(); } else { desce(); } subiu^=1; } delay(100); } }