]> git.piffa.net Git - sketchbook_andrea/blobdiff - motors/motor_1_PWM_soluzione/motor_1_PWM_soluzione.ino
Motori
[sketchbook_andrea] / motors / motor_1_PWM_soluzione / motor_1_PWM_soluzione.ino
diff --git a/motors/motor_1_PWM_soluzione/motor_1_PWM_soluzione.ino b/motors/motor_1_PWM_soluzione/motor_1_PWM_soluzione.ino
new file mode 100644 (file)
index 0000000..76ef1d8
--- /dev/null
@@ -0,0 +1,41 @@
+/* Simple Motor: PWM Soluzione
+
+ Motore DC con variazione della velocita' tramite PWM
+  Schemi:
+ - Breadboard: http://lab.piffa.net/schemi/motor_transistor_diode_bb.png
+ - Schema circuito: http://lab.piffa.net/schemi/motor_transistor_diode_schem.png
+ */
+
+int motorPin = 9;
+int minValue = 60;  // Valore minimo per far partire il motore da fermo
+void setup() {
+  pinMode(motorPin, OUTPUT);
+}
+void loop() {
+  for(int motorValue = minValue ; motorValue <= 255; motorValue +=5){ // PWM up
+    analogWrite(motorPin, motorValue);
+    delay(60);
+  }
+  for(int motorValue = 255 ; motorValue >= 30; motorValue -=5){ // 
+  // Quando il motore e' in movimento puo' muoversi fino a un valore piu' basso
+  // di minVal
+    analogWrite(motorPin, motorValue);
+    delay(30);
+  }
+analogWrite(motorPin, 0); // Fermiamo il motore per sicurezza
+delay(900); // Pause 
+}
+
+/* Domande
+1. Il motore si muove con i valori di corrente molto bassi?
+2. A quali valori comincia a muoversi effettivamente?
+2.1 E per fermarsi, il valore e' diverso?
+3. Impostare un valore minimo per la partenza del motore.
+4. Come fare per invertire la direzione di rotazione del motore?
+
+  Risposte:
+4. Basta invertire la polarita' dei cavi che vanno al motore
+*/
+