]> git.piffa.net Git - sketchbook_andrea/blob - motors/simple_motor_PWM_transistor_diode_1_soluzione/simple_motor_PWM_transistor_diode_1_soluzione.ino
FSM
[sketchbook_andrea] / motors / simple_motor_PWM_transistor_diode_1_soluzione / simple_motor_PWM_transistor_diode_1_soluzione.ino
1 /* Simple Motor: PWM Soluzione
2
3  Motore DC con variazione della velocita' tramite PWM
4  
5   Schemi:
6  - Breadboard: http://lab.piffa.net/schemi/motor_transistor_diode_bb.png
7  - Schema circuito: http://lab.piffa.net/schemi/motor_transistor_diode_schem.png
8  
9  */
10
11 int motorPin = 9;
12 int minValue = 60;  // Valore minimo per far partire il motore da fermo
13 void setup() {
14   pinMode(motorPin, OUTPUT);
15 }
16 void loop() {
17   for(int motorValue = minValue ; motorValue <= 255; motorValue +=5){ // PWM up
18     analogWrite(motorPin, motorValue);
19     delay(60);
20   }
21   for(int motorValue = 255 ; motorValue >= 30; motorValue -=5){ // 
22   // Quando il motore e' in movimento puo' muoversi fino a un valore piu' basso
23   // di minVal
24     analogWrite(motorPin, motorValue);
25     delay(30);
26   }
27 analogWrite(motorPin, 0); // Fermiamo il motore per sicurezza
28 delay(900); // Pause 
29 }
30
31 /* Domande
32 1. Il motore si muove con i valori di corrente molto bassi?
33 2. A quali valori comincia a muoversi effettivamente?
34 2.1 E per fermarsi, il valore e' diverso?
35 3. Impostare un valore minimo per la partenza del motore.
36 4. Come fare per invertire la direzione di rotazione del motore?
37
38   Risposte:
39 4. Basta invertire la polarita' dei cavi che vanno al motore
40
41 */
42