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 d2d473d..90f0c43 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.
  
 Schema: https://lab.piffa.net/schemi/circuito_led_bb.png
  
  http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
  */
 
-// constants won't change. Used here to 
-// set pin numbers:
 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() {
-  // set the digital pin as output:
   pinMode(led, OUTPUT);      
 }
 
 void loop()
 {
   if (millis() - previousMillis >= interval) {
-    // Timestamp + timestamp = delta temporale
     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 a13a368..b88f567 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 998c8a7..08bd209 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> 
 
+// Schema: https://lab.piffa.net/schemi/potenziometro_bb.png
+
 #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() 
index fb326e7..4c0c39f 100644 (file)
@@ -18,12 +18,12 @@ void setup()
  
 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 
   } 
-  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 
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);
-}
-
-
-