Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int Pin1 = 1; //pins motore 1
- int Pin2 = 2;
- int Pin3 = 3;
- int Pin4 = 4;
- int Pin5 = 5; //pins motore 2
- int Pin6 = 6;
- int Pin7 = 7;
- int Pin8 = 8;
- int pausa = 1000;
- const int STATE = 13;
- void setup() {
- pinMode(A5, INPUT_PULLUP); //pins pulsanti da Sinistra a Destra
- pinMode(A4, INPUT_PULLUP);
- pinMode(A3, INPUT_PULLUP);
- pinMode(A2, INPUT_PULLUP);
- pinMode(9, OUTPUT);
- pinMode(10, OUTPUT);
- pinMode(11, OUTPUT);
- pinMode(12, OUTPUT);
- digitalWrite(9, LOW);
- digitalWrite(10, LOW);
- digitalWrite(11, LOW);
- digitalWrite(12, LOW);
- pinMode(1, OUTPUT);
- pinMode(2, OUTPUT);
- pinMode(3, OUTPUT);
- pinMode(4, OUTPUT);
- pinMode(5, OUTPUT);
- pinMode(6, OUTPUT);
- pinMode(7, OUTPUT);
- pinMode(8, OUTPUT);
- pinMode(13, INPUT);
- Serial.begin(9600);
- }
- void loop() {
- if (analogRead(A5) > 500 ) {
- digitalWrite(12, HIGH);
- }
- else {
- digitalWrite(12, LOW);
- }
- if (analogRead(A4) > 500 ) {
- digitalWrite(11, HIGH);
- }
- else {
- digitalWrite(11, LOW);
- }
- if (analogRead(A3) > 500 ) {
- digitalWrite(10, HIGH);
- }
- else {
- digitalWrite(10, LOW);
- }
- if (analogRead(A2) > 500 ) {
- digitalWrite(9, HIGH);
- }
- else {
- digitalWrite(9, LOW);
- }
- //MOTORE SINISTRO
- if ((analogRead(A5) > 500 ) && (analogRead(A4) < 100)) //muovi i motori solo se i pulsanti sono prenuti singolarmente
- {
- muovi_orario_2();
- }
- if ((analogRead(A4) > 500 ) && (analogRead(A5) < 100))
- {
- muovi_antiorario_2();
- }
- //----------------------------------------------------------------------------------------------
- //MOTORE DESTRO
- if ((analogRead(A3) > 500 ) && (analogRead(A2) < 100)) //muovi i motori solo se i pulsanti sono prenuti singolarmente
- {
- for (int i = 1; i < 200; i++)
- {
- muovi_orario_1();
- }
- }
- if ((analogRead(A2) > 500 ) && (analogRead(A3) < 100))
- {
- for (int i = 1; i < 200; i++)
- {
- muovi_antiorario_1();
- }
- }
- //----------------------------------------------------------------------------------------------
- //CONDIZIONE DI VITTORIA O SCONFITTA
- Serial.println(digitalRead(STATE));
- if (digitalRead(STATE) == 0) //sensore di vittoria
- {
- digitalWrite (9, HIGH);
- digitalWrite (10, HIGH);
- digitalWrite (11, HIGH);
- digitalWrite (12, HIGH);
- delay(2000);
- digitalWrite (9, LOW);
- digitalWrite (10, LOW);
- digitalWrite (11, LOW);
- digitalWrite (12, LOW);
- }
- }
- void muovi_orario_1()
- {
- digitalWrite(Pin1, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin3, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin4, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin2, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin3, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin1, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin2, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin4, HIGH);
- delayMicroseconds(pausa);
- }
- void muovi_antiorario_1()
- {
- digitalWrite(Pin4, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin2, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin1, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin3, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin2, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin4, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin3, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin1, HIGH);
- delayMicroseconds(pausa);
- }
- void muovi_orario_2()
- {
- digitalWrite(Pin5, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin7, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin8, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin6, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin7, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin5, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin6, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin8, HIGH);
- delayMicroseconds(pausa);
- }
- void muovi_antiorario_2()
- {
- digitalWrite(Pin8, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin6, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin5, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin7, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin6, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin8, HIGH);
- delayMicroseconds(pausa);
- digitalWrite(Pin7, LOW);
- delayMicroseconds(pausa);
- digitalWrite(Pin5, HIGH);
- delayMicroseconds(pausa);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement