E' il mio primo post, Saluto tutti e ringrazio in anticipo per la disponibilità.
Se volessi far ruotare un motorino 5 secondi in senso orario e 5 secondi in senso antiorario e nello stesso tempo leggere stampare un valore su serial monitor , ricavato da un ingresso analogico con un refresh di 2 secondi, devo creare due funzioni di tipo millis distinte? ho buttato giu questa cozzaglia di codice ma non funziona o meglio il serial monitor va in sequenza come se non usassi la funzione millis.
const int motorPin1 = 7; // Pin 14 del L293
const int motorPin2 = 8; // Pin 10 del L293
int analogimput = 0 ;
unsigned long previousMillis1 = 0; //will store last time LED was updated
unsigned long interval1 = 1000; //interval at which to blink (milliseconds)
unsigned long previousMillis2 = 0;
unsigned long interval2 = 1000;
unsigned int counter = 0;
void setup(){
Serial.begin(9600);
//uscite
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
}
void loop (){
unsigned long currentMillis = millis();
if (currentMillis - previousMillis1 > interval1) {
previousMillis1 = currentMillis;
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
delay(500);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
delay(500);
}
currentMillis = millis();
if (currentMillis - previousMillis2 > interval2) {
previousMillis2 = currentMillis;
Serial.println(++counter);
}
}
// int sensorValue = analogRead(A0)>1 ;//INGRESSO LETTURA TENSIONE SHUNT