Progetto 9, modifiche varie

Salve a tutti, questo è il mio primo post quindi mi presento a tutti, sono RIccardo studente di scuola superiore all'ultimo anno. Per fare una "bella" figura all'esame di maturità volevo portare come argomento centrale della mia tesina il transistor: storia ed applicazione. E quale modo migliore per presentarlo se non accompagnandolo con un esempio pratico attraverso arduino? dunque ho scelto questo progetto, al quale però volevo apportare delle modifiche. avevo infatti intenzione di utilizzare i cartoncini del kit per dar vita all'animazione della pianta carnivora di super mario a mo di cartone. Dopo l'iniziale fallimento dovuto all'eccessiva velocità di rotazione del motore (che ha sparso in giro per la camera tutti i pezzi del cartoncino xD) ho deciso di applicarvi un potenziometro così da ridurne la velocità. Purtoppo è ancora troppo veloce affinchè l'animazione sia visibile. C'è un modo per definire valori più piccoli di lettura del potenziometro? grazie in anticipo

riporto il codice:

 const int switchPin = 2;
 const int motorPin = 9;
 const int potPin = A0;

 int switchState = 0;
 int potVal;

 void setup() {
   pinMode(motorPin, OUTPUT);
   pinMode(switchPin, INPUT);
   pinMode(potPin, INPUT);
   }

void loop() {
  switchState = digitalRead(switchPin);
  if (switchState == HIGH) {
    digitalRead(potPin);
    analogWrite(motorPin, potVal);
    potVal = analogRead(potPin);
    potVal = map(potVal, 0, 1023, 0, 255);
    }
    else {
      digitalWrite(motorPin, LOW);
      }
      }

per darti unammnao penso bisogna sapere come funziona sta "animazione" cosa la comanda e come...solo cosi (ma non ho idea del kit comè fattto) credo ti si possa dare un aiuto :)

salve, grazie per la celere risposta!
il “congegno” è una banalissima girandola che ruota grazie al motorino DC e che con una striscia di immagini consecutive differenti crea proprio l’effetto dell’animazione poichè i fotogrammi girando sembrano effettivamente far muovere la figura che rappresentano. posto una foto per dare un’idea. il contorno l’ho fatto io con delle costruzioni lego proprio messe così alla rinfusa solo per dare un’idea unitaria dell’intero congegno xD

allora controlli in PWM il motore ed il pwm (l duty cicle) è determinato dal potenzionetro... da come hai scritto se metti a zero il potenzionetro non dovrebbe nemmeno muversi (duty = a 0 ) quindi non so è come se il motore andasse sempre o è una mia stupida supposizione?

Detto questo, puoi sempre ridurre il numero di giri massimo meccanicamente (con le riduzioni).

sarebbe interessante comunque avere lo schema eeltrico che hai seguito, perchè cosi a occhi ce un errorino da qualche parte :)

aspetta ma dal tuo programma, se leggo bene anologwrite rimane costante a 9 e non varia con il potenzionetro.

anche perche lo "dichiari dopo" e muore li....

EDIT P.s. non so se vedo bene dalla foto.... ma i 9Vcc della batteria come entrano in arduino? cosi dalla foto sembra che i 9Vcc entrino sul pin +5Vcc... vedo male vero? :)

allora, no il potenziometro funziona: a 0 il motore non si muove e va riducendo i giri a mano a mano che giro la manopolina. il problema è che non si riducono abbastanza, ovvero il motore gira ancora troppo veloce. la batteria è collegata al lato dx della breadboard e poi direttamente al transistor e al motore. Mi spiegheresti in che senso ridurre i giri meccanicamente con le riduzioni??

bhe hai presente la monten bike con gli ingranaggi del cambio? ecco stesso concetto :)

sennò per farla sporca, metti una resistenza sui 9Vcc del motore (ma non me gusta)