X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=motors%2Fsimple_motor_PWM_potenziometer_transistor_diode_2_soluzione%2Fsimple_motor_PWM_potenziometer_transistor_diode_2_soluzione.ino;fp=motors%2Fsimple_motor_PWM_potenziometer_transistor_diode_2_soluzione%2Fsimple_motor_PWM_potenziometer_transistor_diode_2_soluzione.ino;h=872d474fd4fd9820d7bfc4c84fdb4a4c39499037;hb=273776f9e56f1c7478d69ff4c3f653b349e8b3fe;hp=0000000000000000000000000000000000000000;hpb=844a1b814024ee2fe78ff473a380fe16183231f6;p=sketchbook_andrea diff --git a/motors/simple_motor_PWM_potenziometer_transistor_diode_2_soluzione/simple_motor_PWM_potenziometer_transistor_diode_2_soluzione.ino b/motors/simple_motor_PWM_potenziometer_transistor_diode_2_soluzione/simple_motor_PWM_potenziometer_transistor_diode_2_soluzione.ino new file mode 100644 index 0000000..872d474 --- /dev/null +++ b/motors/simple_motor_PWM_potenziometer_transistor_diode_2_soluzione/simple_motor_PWM_potenziometer_transistor_diode_2_soluzione.ino @@ -0,0 +1,47 @@ +/* + Simple Motor: Pot - Soluzione + + Motore DC con variazione della velocita' tramite PWM + pilotata da un potenziometro + + Impostare una mappatura in modo che il motore parta + da un valore minimo adeguato. + + */ + +const int analogInPin = A0; +const int motorPin = 9; + +int potValue = 0; +int motValue = 0; + +void setup() { + pinMode(motorPin, OUTPUT); + Serial.begin(9600); // Debuggin + +} +void loop() { + potValue = analogRead(analogInPin) ; + motValue = potValue / 4 ;// Mappatura semplificata da 1024 -> 255 + +// Debug + Serial.print("Pot value = " ); + Serial.print(potValue); + Serial.print("\t Motor speed = "); + Serial.println(motValue); + + if (motValue > 60) { // Valore minimo per far partire il motore + analogWrite(motorPin,motValue); // + } + else analogWrite(motorPin,0); // Se non super il valore minimo + // deve restare fermo + + delay(3); // Pause, stabilizza la lettura del Pot +} + + + + + + +