]> git.piffa.net Git - sketchbook_andrea/commitdiff
Motori
authoreaman <eaman@pad.piffa.net>
Thu, 16 Mar 2017 14:08:01 +0000 (15:08 +0100)
committereaman <eaman@pad.piffa.net>
Thu, 16 Mar 2017 14:08:01 +0000 (15:08 +0100)
18 files changed:
basic/blinks/millis/millis.ino
motors/motor_0/motor_0.ino [new file with mode: 0644]
motors/motor_1_PWM/motor_1_PWM.ino [new file with mode: 0644]
motors/motor_1_PWM_soluzione/motor_1_PWM_soluzione.ino [new file with mode: 0644]
motors/motor_2_PWM/motor_2_PWM.ino [new file with mode: 0644]
motors/motor_2_PWM_soluzione/motor_2_PWM_soluzione.ino [new file with mode: 0644]
motors/motor_3_PWM_minimum/motor_3_PWM_minimum.ino [new file with mode: 0644]
motors/motor_4_serial/motor_4_serial.ino [new file with mode: 0644]
motors/reverse_L293D_5/reverse_L293D_5.ino
motors/servo/Knob_2/Knob_2.ino
motors/servo/Sweep_1/Sweep_1.ino
motors/simple_motor_4_serial/simple_motor_4_serial.ino [deleted file]
motors/simple_motor_PWM_potenziometer__minimum_transistor_diode_3/simple_motor_PWM_potenziometer__minimum_transistor_diode_3.ino [deleted file]
motors/simple_motor_PWM_potenziometer_transistor_diode_2/simple_motor_PWM_potenziometer_transistor_diode_2.ino [deleted file]
motors/simple_motor_PWM_potenziometer_transistor_diode_2_soluzione/simple_motor_PWM_potenziometer_transistor_diode_2_soluzione.ino [deleted file]
motors/simple_motor_PWM_transistor_diode_1/simple_motor_PWM_transistor_diode_1.ino [deleted file]
motors/simple_motor_PWM_transistor_diode_1_soluzione/simple_motor_PWM_transistor_diode_1_soluzione.ino [deleted file]
motors/simple_motor_transistor_diode_0/simple_motor_transistor_diode_0.ino [deleted file]

index d2d473dbf48d27f91e93814c3ebc380db9efbb96..90f0c43f4179a4abdff38a1ac1987eb04ccfcaa6 100644 (file)
@@ -4,30 +4,23 @@
  pin, without using the delay() function.  This means that other code
  can run at the same time without being interrupted by the LED code.
  
  pin, without using the delay() function.  This means that other code
  can run at the same time without being interrupted by the LED code.
  
 Schema: https://lab.piffa.net/schemi/circuito_led_bb.png
  
 Schema: https://lab.piffa.net/schemi/circuito_led_bb.png
  
  http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
  */
 
  http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
  */
 
-// constants won't change. Used here to 
-// set pin numbers:
 const int led = 13;      // Primo LED
 const int led = 13;      // Primo LED
-
               
               
-unsigned long previousMillis = 0;        // will store last time LED was updated
-unsigned long interval = 1000;           // interval at which to blink (milliseconds)
+unsigned long previousMillis = 0;        // Ultimo agiornamento
+unsigned long interval = 1000;           // Pausa tra i lampeggi
 
 void setup() {
 
 void setup() {
-  // set the digital pin as output:
   pinMode(led, OUTPUT);      
 }
 
 void loop()
 {
   if (millis() - previousMillis >= interval) {
   pinMode(led, OUTPUT);      
 }
 
 void loop()
 {
   if (millis() - previousMillis >= interval) {
-    // Timestamp + timestamp = delta temporale
     previousMillis += interval ;
 
     digitalWrite(led, !digitalRead(led));
     previousMillis += interval ;
 
     digitalWrite(led, !digitalRead(led));
diff --git a/motors/motor_0/motor_0.ino b/motors/motor_0/motor_0.ino
new file mode 100644 (file)
index 0000000..c2709f5
--- /dev/null
@@ -0,0 +1,29 @@
+/* Simple Motor
+
+Gestione di un motore DC tramite Arduino.
+Elementi richiesti:
+
+- motore DC a 5v per ~300ma
+- transistor NPN 2N2222
+- diodo 1N4001
+ 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; // Pin tramite cui Arduino controlla il motore
+void setup() {
+  pinMode(motorPin, OUTPUT); 
+}
+
+void loop() {
+  digitalWrite(motorPin, HIGH); // Accende il motore a tutta potenza
+  delay(1000);
+  digitalWrite(motorPin, LOW);  // Spegne il motore
+  delay(5000);
+}
+
+
+
diff --git a/motors/motor_1_PWM/motor_1_PWM.ino b/motors/motor_1_PWM/motor_1_PWM.ino
new file mode 100644 (file)
index 0000000..087c90b
--- /dev/null
@@ -0,0 +1,33 @@
+/* Simple Motor: PWM 
+ Gestine di un motore DC utilizzando il PWM
+ per modificarne la velocita': ciclo ascendente e discendente
+  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; // Pin tramite cui Arduino controlla il motore
+void setup() {
+  pinMode(motorPin, OUTPUT);
+}
+void loop() {
+  for(int motorValue = 0 ; motorValue <= 255; motorValue +=5){ // PWM up
+    analogWrite(motorPin, motorValue);
+    delay(60);
+  }
+  for(int motorValue = 255 ; motorValue >= 0; motorValue -=5){ // PWM down
+    analogWrite(motorPin, motorValue);
+    delay(30);
+  }
+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?
+*/
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
+*/
+
diff --git a/motors/motor_2_PWM/motor_2_PWM.ino b/motors/motor_2_PWM/motor_2_PWM.ino
new file mode 100644 (file)
index 0000000..670e0b0
--- /dev/null
@@ -0,0 +1,43 @@
+/* 
+ Simple Motor : Potenziometro
+ Motore DC con variazione della velocita' impostata 
+ tramite un potenziometro 10k ohms
+ Schema: http://lab.piffa.net/schemi/motor_pot_bb.png
+ */
+
+const int analogInPin  = A0; // Pin a cui e' collegato il potenziometro
+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 1024 -> 255
+
+  analogWrite(motorPin,motValue); // Imposta la velocita' del motore
+
+  Serial.print("Pot value = " );                       
+  Serial.print(potValue);      
+  Serial.print("\t Motore velocita' = ");      
+  Serial.println(motValue); 
+  delay(3); // Pausa, aiuta a stabilizzare l'input
+           
+}
+
+/* Domande
+
+1. Cosa succede quando il motore riceve poca corrente?
+2. Impostare un valore minimo per la partenza del motore, 
+   sotto al quale il motore non parta.
+*/
+
+
+
diff --git a/motors/motor_2_PWM_soluzione/motor_2_PWM_soluzione.ino b/motors/motor_2_PWM_soluzione/motor_2_PWM_soluzione.ino
new file mode 100644 (file)
index 0000000..e585201
--- /dev/null
@@ -0,0 +1,45 @@
+/* 
+ 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 supera il valore minimo 
+  // deve restare fermo
+
+  delay(3); // Pause, stabilizza la lettura del Pot           
+}
+
+/* Domande:
+   1. Rifare questo esercizio utilizzando la funzione map().
+
+   */
diff --git a/motors/motor_3_PWM_minimum/motor_3_PWM_minimum.ino b/motors/motor_3_PWM_minimum/motor_3_PWM_minimum.ino
new file mode 100644 (file)
index 0000000..55cc0a6
--- /dev/null
@@ -0,0 +1,43 @@
+/* 
+  Simple Motor : Potenziometro con minimo
+  
+ Motore DC con variazione della velocita' impostata 
+ tramite un potenziometro 10k ohms,
+ settato un valore minimo sotto il quale il motore
+ non viene attivato.
+ Schema: http://lab.piffa.net/schemi/motor_pot_bb.png
+ */
+
+const int analogInPin  = A0; // Pin a cui e' collegato il potenziometro
+const int motorPin     = 9;
+
+int potValue     = 0;
+int motValue   = 0;
+const int minMotValue = 50 ; // Valore minimo per il motore,
+            // questo variera' in base ai motori
+            
+void setup() {
+  pinMode(motorPin, OUTPUT);
+  Serial.begin(9600); // Debuggin
+
+}
+void loop() {
+  potValue = analogRead(analogInPin); 
+  motValue = potValue / 4 ; // mappatura 1024 -> 255
+
+if (motValue > minMotValue) { // Minimum motor spped check
+  analogWrite(motorPin,motValue); // Imposta la velocita' del motore
+} else {
+analogWrite(motorPin,LOW) ;
+}
+
+  
+  Serial.print("Pot value = " );                       
+  Serial.print(potValue);      
+  Serial.print("\t Motore velocita' = ");      
+  Serial.println(motValue); 
+  delay(3); // Pausa, aiuta a stabilizzare l'input
+
+}
diff --git a/motors/motor_4_serial/motor_4_serial.ino b/motors/motor_4_serial/motor_4_serial.ino
new file mode 100644 (file)
index 0000000..27a89ab
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ 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
+*/
index a13a3689e85e3fe35dc52e1206ff50635d9d918c..b88f567a584f62e319512a4d52873ace0f830412 100644 (file)
@@ -1,39 +1,37 @@
-    /*
-    Adafruit Arduino - Lesson 15. Bi-directional Motor
-    
-    Pilotare un motore DC brushed con un H-bridge mediante
-    un integrato L293D
-    
-    
-    Schemi e istruzioni: 
-    - https://learn.adafruit.com/adafruit-arduino-lesson-15-dc-motor-reversing/overview
-    
-    */
-     
-    int enablePin = 11;
-    int in1Pin = 10;
-    int in2Pin = 9;
-    int switchPin = 7;
-    int potPin = 0;
-     
-    void setup()
-    {
-      pinMode(in1Pin, OUTPUT);
-      pinMode(in2Pin, OUTPUT);
-      pinMode(enablePin, OUTPUT);
-      pinMode(switchPin, INPUT_PULLUP);
-    }
-     
-    void loop()
-    {
-      int speed = analogRead(potPin) / 4;
-      boolean reverse = digitalRead(switchPin);
-      setMotor(speed, reverse);
-    }
-     
-    void setMotor(int speed, boolean reverse)
-    {
-      analogWrite(enablePin, speed);
-      digitalWrite(in1Pin, ! reverse);
-      digitalWrite(in2Pin, reverse);
-    }
+/*
+Adafruit Arduino - Lesson 15. Bi-directional Motor
+
+Pilotare un motore DC brushed con un H-bridge mediante
+un integrato L293D
+
+Schemi e istruzioni: 
+- https://learn.adafruit.com/adafruit-arduino-lesson-15-dc-motor-reversing/overview
+*/
+int enablePin = 11;
+int in1Pin = 10;
+int in2Pin = 9;
+int switchPin = 7;
+int potPin = 0;
+void setup()
+{
+  pinMode(in1Pin, OUTPUT);
+  pinMode(in2Pin, OUTPUT);
+  pinMode(enablePin, OUTPUT);
+  pinMode(switchPin, INPUT_PULLUP);
+}
+void loop()
+{
+  int speed = analogRead(potPin) / 4;
+  boolean reverse = digitalRead(switchPin);
+  setMotor(speed, reverse);
+}
+void setMotor(int speed, boolean reverse)
+{
+  analogWrite(enablePin, speed);
+  digitalWrite(in1Pin, !reverse);
+  digitalWrite(in2Pin, reverse);
+}
index 998c8a7c787c5780fe96b358610cdd6e36117de3..08bd2098d0dfdc99f8fec90c5386d184b8251532 100644 (file)
@@ -1,11 +1,13 @@
 // Controlling a servo position using a potentiometer (variable resistor) 
 // by Michal Rinott <http://people.interaction-ivrea.it/m.rinott> 
 
 // Controlling a servo position using a potentiometer (variable resistor) 
 // by Michal Rinott <http://people.interaction-ivrea.it/m.rinott> 
 
+// Schema: https://lab.piffa.net/schemi/potenziometro_bb.png
+
 #include <Servo.h> 
  
 Servo myservo;  // create servo object to control a servo 
  
 #include <Servo.h> 
  
 Servo myservo;  // create servo object to control a servo 
  
-int potpin = 0;  // analog pin used to connect the potentiometer
+const int potpin = A0;  // analog pin used to connect the potentiometer
 int val;    // variable to read the value from the analog pin 
 
 void setup() 
 int val;    // variable to read the value from the analog pin 
 
 void setup() 
index fb326e7e7840708974fe84f4e84f6e295934d360..4c0c39fba56683c52f931947c4409d41adada834 100644 (file)
@@ -18,12 +18,12 @@ void setup()
  
 void loop() 
 { 
  
 void loop() 
 { 
-  for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees 
+  for (pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees 
   {                                  // in steps of 1 degree 
     myservo.write(pos);              // tell servo to go to position in variable 'pos' 
     delay(15);                       // waits 15ms for the servo to reach the position 
   } 
   {                                  // in steps of 1 degree 
     myservo.write(pos);              // tell servo to go to position in variable 'pos' 
     delay(15);                       // waits 15ms for the servo to reach the position 
   } 
-  for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees 
+  for (pos = 180; pos >= 1; pos -= 1)     // goes from 180 degrees to 0 degrees 
   {                                
     myservo.write(pos);              // tell servo to go to position in variable 'pos' 
     delay(15);                       // waits 15ms for the servo to reach the position 
   {                                
     myservo.write(pos);              // tell servo to go to position in variable 'pos' 
     delay(15);                       // waits 15ms for the servo to reach the position 
diff --git a/motors/simple_motor_4_serial/simple_motor_4_serial.ino b/motors/simple_motor_4_serial/simple_motor_4_serial.ino
deleted file mode 100644 (file)
index ff20e9b..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/* 
- 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 che definisce il tempo di lettura del buffer seriale
-*/
-
-
-
-
-
-
diff --git a/motors/simple_motor_PWM_potenziometer__minimum_transistor_diode_3/simple_motor_PWM_potenziometer__minimum_transistor_diode_3.ino b/motors/simple_motor_PWM_potenziometer__minimum_transistor_diode_3/simple_motor_PWM_potenziometer__minimum_transistor_diode_3.ino
deleted file mode 100644 (file)
index d73ec6f..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* 
-  Simple Motor : Potenziometro con minimo
-  
- Motore DC con variazione della velocita' impostata 
- tramite un potenziometro 10k ohms,
- settato un valore minimo sotto il quale il motore
- non viene attivato.
- Schema: http://lab.piffa.net/schemi/motor_pot_bb.png
- */
-
-const int analogInPin  = A0; // Pin a cui e' collegato il potenziometro
-const int motorPin     = 9;
-
-int potValue     = 0;
-int motValue   = 0;
-const int minMotValue = 50 ; // Valore minimo per il motore,
-            // questo variera' in base ai motori
-            
-void setup() {
-  pinMode(motorPin, OUTPUT);
-  Serial.begin(9600); // Debuggin
-
-}
-void loop() {
-  potValue = analogRead(analogInPin); 
-  motValue = potValue / 4 ; // mappatura 1024 -> 255
-
-if (motValue > minMotValue) { // Minimum motor spped check
-  analogWrite(motorPin,motValue); // Imposta la velocita' del motore
-} else {
-analogWrite(motorPin,LOW) ;
-}
-
-  
-  Serial.print("Pot value = " );                       
-  Serial.print(potValue);      
-  Serial.print("\t Motore velocita' = ");      
-  Serial.println(motValue); 
-  delay(3); // Pausa, aiuta a stabilizzare l'input
-
-}
-
-
-
-
-
-
diff --git a/motors/simple_motor_PWM_potenziometer_transistor_diode_2/simple_motor_PWM_potenziometer_transistor_diode_2.ino b/motors/simple_motor_PWM_potenziometer_transistor_diode_2/simple_motor_PWM_potenziometer_transistor_diode_2.ino
deleted file mode 100644 (file)
index 9a43bcd..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/* 
- Simple Motor : Potenziometro
- Motore DC con variazione della velocita' impostata 
- tramite un potenziometro 10k ohms
- Schema: http://lab.piffa.net/schemi/motor_pot_bb.png
- */
-
-const int analogInPin  = A0; // Pin a cui e' collegato il potenziometro
-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 1024 -> 255
-
-  analogWrite(motorPin,motValue); // Imposta la velocita' del motore
-
-  Serial.print("Pot value = " );                       
-  Serial.print(potValue);      
-  Serial.print("\t Motore velocita' = ");      
-  Serial.println(motValue); 
-  delay(3); // Pausa, aiuta a stabilizzare l'input
-           
-}
-
-/* Domande
-
-1. Cosa succede quando il motore riceve poca corrente?
-2. Impostare un valore minimo per la partenza del motore, 
-   sotto al quale il motore non parte.
-*/
-
-
-
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
deleted file mode 100644 (file)
index 1094bb8..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/* 
- 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 supera il valore minimo 
-  // deve restare fermo
-
-  delay(3); // Pause, stabilizza la lettura del Pot           
-}
-
-
-
-
-
-
-
diff --git a/motors/simple_motor_PWM_transistor_diode_1/simple_motor_PWM_transistor_diode_1.ino b/motors/simple_motor_PWM_transistor_diode_1/simple_motor_PWM_transistor_diode_1.ino
deleted file mode 100644 (file)
index 087c90b..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Simple Motor: PWM 
- Gestine di un motore DC utilizzando il PWM
- per modificarne la velocita': ciclo ascendente e discendente
-  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; // Pin tramite cui Arduino controlla il motore
-void setup() {
-  pinMode(motorPin, OUTPUT);
-}
-void loop() {
-  for(int motorValue = 0 ; motorValue <= 255; motorValue +=5){ // PWM up
-    analogWrite(motorPin, motorValue);
-    delay(60);
-  }
-  for(int motorValue = 255 ; motorValue >= 0; motorValue -=5){ // PWM down
-    analogWrite(motorPin, motorValue);
-    delay(30);
-  }
-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?
-*/
diff --git a/motors/simple_motor_PWM_transistor_diode_1_soluzione/simple_motor_PWM_transistor_diode_1_soluzione.ino b/motors/simple_motor_PWM_transistor_diode_1_soluzione/simple_motor_PWM_transistor_diode_1_soluzione.ino
deleted file mode 100644 (file)
index 99854b7..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/* 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
-
-*/
-
diff --git a/motors/simple_motor_transistor_diode_0/simple_motor_transistor_diode_0.ino b/motors/simple_motor_transistor_diode_0/simple_motor_transistor_diode_0.ino
deleted file mode 100644 (file)
index c2709f5..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Simple Motor
-
-Gestione di un motore DC tramite Arduino.
-Elementi richiesti:
-
-- motore DC a 5v per ~300ma
-- transistor NPN 2N2222
-- diodo 1N4001
- 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; // Pin tramite cui Arduino controlla il motore
-void setup() {
-  pinMode(motorPin, OUTPUT); 
-}
-
-void loop() {
-  digitalWrite(motorPin, HIGH); // Accende il motore a tutta potenza
-  delay(1000);
-  digitalWrite(motorPin, LOW);  // Spegne il motore
-  delay(5000);
-}
-
-
-