--- /dev/null
+/*
+ Simple Motor: Seriale
+
+ Motore DC con variazione della velocita' impostata da connessione seriale
+
+ */
+
+const int motorPin = 9;
+int motValue ;
+
+void setup() {
+ pinMode(motorPin, OUTPUT);
+ Serial.begin(9600); // Input
+ Serial.println("\t Usare valori da 0-255");
+// Serial.setTimeout(2000); // Imposta il tempo di time out per la lettura
+ // del buffer seriale, default = 1000ms
+}
+
+void loop() {
+ if (Serial.available()) {
+ motValue = Serial.parseInt(); // leggiamo un valore da seriale
+ motValue = constrain(motValue,0,255); // Limitiamo l'input dell'utente
+
+ analogWrite(motorPin,motValue); // Change the PWM speed of the motor
+ Serial.print("Velocita' motore = ");
+ Serial.println(motValue);
+ }
+}
+
+/* Domande
+1. Perche' il motore si resetta a zero dopo una breve pausa?
+2. Come e' possibile fare in modo che il motore resti attivo
+ al valore dato?
+3. Da cosa e' dovuto e come e' possibile rendere il circuito piu' responsivo
+ all'input dell'utente.
+- Risposte a fondo pagina
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1. Perche' vede il valore di terminazione riga
+ e lo scarta facendolo passare per zero
+2. Impostare il monitor seriale per "Nessun fine riga"
+2.1 impostare un ciclo condizionale che controlli che l'input sia composto solo da numeri
+3. Impostare Serial.setTimeout per definire il tempo di lettura del buffer seriale
+*/