]> git.piffa.net Git - sketchbook_andrea/commitdiff
oggi
authoreaman <andrea@piffa.net>
Thu, 1 Dec 2016 11:25:57 +0000 (12:25 +0100)
committereaman <andrea@piffa.net>
Thu, 1 Dec 2016 11:25:57 +0000 (12:25 +0100)
12 files changed:
oggi/analogInput_1/analogInput_1.ino [new file with mode: 0644]
oggi/analogInput_2_serial/analogInput_2_serial.ino [new file with mode: 0644]
oggi/blink_3_1_while_veloce/blink_3_1_while_veloce.ino [deleted file]
oggi/blink_3_ciclo_while/blink_3_ciclo_while.ino [deleted file]
oggi/blink_4_1_ciclo_for_veloce/blink_4_1_ciclo_for_veloce.ino [deleted file]
oggi/blink_4_ciclo_for/blink_4_ciclo_for.ino [deleted file]
oggi/blink_5_while_funzione_argomento/blink_5_while_funzione_argomento.ino [deleted file]
oggi/button_1/button_1.ino [new file with mode: 0644]
oggi/button_2_serial_debug/button_2_serial_debug.ino [new file with mode: 0644]
oggi/operator_1_basic/operator_1_basic.ino [new file with mode: 0644]
oggi/serial_hello_world/serial_hello_world.ino [new file with mode: 0644]
oggi/switch_test_serial/switch_test_serial.ino [new file with mode: 0644]

diff --git a/oggi/analogInput_1/analogInput_1.ino b/oggi/analogInput_1/analogInput_1.ino
new file mode 100644 (file)
index 0000000..231a9ab
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+  Analog Input
+ Demonstrates analog input by reading an analog sensor on analog pin 0 and
+ turning on and off a light emitting diode(LED)  connected to digital pin 13. 
+ The amount of time the LED will be on and off depends on
+ the value obtained by analogRead(). 
+ The circuit:
+ * Potentiometer attached to analog input 0
+ * center pin of the potentiometer to the analog pin
+ * one side pin (either one) to ground
+ * the other side pin to +5V
+ * LED anode (long leg) attached to digital output 13
+ * LED cathode (short leg) attached to ground
+ * Note: because most Arduinos have a built-in LED attached 
+ to pin 13 on the board, the LED is optional.
+ Created by David Cuartielles
+ modified 30 Aug 2011
+ By Tom Igoe
+ This example code is in the public domain.
+ http://arduino.cc/en/Tutorial/AnalogInput
+ Schema: http://lab.piffa.net/schemi/potenziometro_bb.png
+ */
+
+const int sensorPin = A0;    // select the input pin for the potentiometer
+const int ledPin = 13;      // select the pin for the LED
+int sensorValue = 0;  // variable to store the value coming from the sensor
+
+void setup() {
+  // declare the ledPin as an OUTPUT:
+  pinMode(ledPin, OUTPUT);  
+  // Non e' necessario dichiarare un pin come input: 
+  // tutti i pin di default sono input
+}
+
+void loop() {
+  // read the value from the sensor:
+  sensorValue = analogRead(sensorPin);    
+  // turn the ledPin on
+  digitalWrite(ledPin, HIGH);  
+  // stop the program for <sensorValue> milliseconds:
+  delay(sensorValue);          
+  // turn the ledPin off:        
+  digitalWrite(ledPin, LOW);   
+  // stop the program for for <sensorValue> milliseconds:
+  delay(sensorValue);                  
+}
diff --git a/oggi/analogInput_2_serial/analogInput_2_serial.ino b/oggi/analogInput_2_serial/analogInput_2_serial.ino
new file mode 100644 (file)
index 0000000..fa03276
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+  Analog Input
+ Demonstrates analog input by reading an analog sensor on analog pin 0 and
+ turning on and off a light emitting diode(LED)  connected to digital pin 13. 
+ The amount of time the LED will be on and off depends on
+ the value obtained by analogRead(). 
+ The circuit:
+ * Potentiometer attached to analog input 0
+ * center pin of the potentiometer to the analog pin
+ * one side pin (either one) to ground
+ * the other side pin to +5V
+ * LED anode (long leg) attached to digital output 13
+ * LED cathode (short leg) attached to ground
+ * Note: because most Arduinos have a built-in LED attached 
+ to pin 13 on the board, the LED is optional.
+ Created by David Cuartielles
+ modified 30 Aug 2011
+ By Tom Igoe
+ This example code is in the public domain.
+ http://arduino.cc/en/Tutorial/AnalogInput
+ */
+
+const int sensorPin = A0;    // select the input pin for the potentiometer
+const int ledPin = 13;      // select the pin for the LED
+int sensorValue = 0;  // variable to store the value coming from the sensor
+
+void setup() {
+  // declare the ledPin as an OUTPUT:
+  pinMode(ledPin, OUTPUT);  
+    // initialize serial communications at 9600 bps:
+  Serial.begin(9600); 
+}
+
+void loop() {
+  // read the value from the sensor:
+  sensorValue = analogRead(sensorPin);    
+  // turn the ledPin on
+  digitalWrite(ledPin, HIGH);  
+  // stop the program for <sensorValue> milliseconds:
+  delay(sensorValue);          
+  // turn the ledPin off:        
+  digitalWrite(ledPin, LOW);   
+  // stop the program for for <sensorValue> milliseconds:
+    // print the results to the serial monitor:
+  Serial.print("sensor = " );                       
+  Serial.print(sensorValue);      
+  Serial.print("\t delay = ");      
+  Serial.println(sensorValue);
+  delay(sensorValue);                  
+}
diff --git a/oggi/blink_3_1_while_veloce/blink_3_1_while_veloce.ino b/oggi/blink_3_1_while_veloce/blink_3_1_while_veloce.ino
deleted file mode 100644 (file)
index 7a92d6b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-  Blink v4: while loop
-
- Accensione e spegnimanto di un LED utilizzando un ciclo
- iterativo while per comandare il lampeggio.
-
- Iterazione modificata da una variabile.
- Introduzione const.
- */
-
-const int led   = 13;   // Il valore non cambia
-                        // durante l'esecuzione del programma
-const int acceleratore = 30 ;                      
-int tempo ; //
-
-void setup() {                
-  pinMode(led, OUTPUT);     
-}
-
-void loop() {
-  int iterator = 0;    // Defniamo una variabile per controllare il ciclo iterativo
-  while (iterator < 10) {       // Condizione del ciclo
-    iterator = iterator + 1 ;   // incrementa l'iteratore
-    
-    tempo = acceleratore * iterator ; // Varia il tempo di blink
-    brilla(tempo);              // accende e spegne rapidamente il LED 
-                                // la pausa e' in funzione della variabile iteratore
-  }
-}
-
-// Funzioni create dall'utente:
-void brilla(int velocita) {
-  // Accende e spegne il LED accetando un argomento 
-  // per impostare la velocita'.
-
-  // sequenze di istruzione: accendere e spegnere il LED
-  digitalWrite(led, HIGH);       // Mette il PIN del LED in stato acceso)
-  delay(velocita);               // Pausa
-  digitalWrite(led, LOW);       // Mette il PIN del LED in stato spento
-  delay(velocita);              // Pausa
-}
-
diff --git a/oggi/blink_3_ciclo_while/blink_3_ciclo_while.ino b/oggi/blink_3_ciclo_while/blink_3_ciclo_while.ino
deleted file mode 100644 (file)
index 48065db..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-  Blink v4: while loop
-
- Accensione e spegnimanto di un LED utilizzando un ciclo
- iterativo while per comandare il lampeggio.
-
- */
-
-int led   = 13;   // LED OnBoard
-
-
-// /////////////////
-// Setup: eseguita una volta sola all'accensione della scheda
-void setup() {
-  // initialize the digital pin as an output.
-  pinMode(led, OUTPUT);
-}
-
-// ///////////////
-// loop: Le istruzioni vengono eseguite all'infinito
-void loop() {
-  int iterator = 0;           // Defniamo una variabile per controllare il ciclo iterativo
-  while (iterator < 10) {     // Condizione del ciclo
-
-   rapido();
-    iterator = iterator + 1 ;   // incrementa l'iteratore
-  }
-
-lento();
-}
-
-// Funzioni create dall'utente:
-void rapido() {
-  // Accende e spegne rapidamente il LED
-  int breve = 200;
-  // sequenze di istruzione: accendere e spegnere il LED
-  digitalWrite(led, HIGH);    // Mette il PIN del LED in stato acceso
-  delay(breve);               // Pausa
-  digitalWrite(led, LOW);     // Mette il PIN del LED in stato spento
-  delay(breve);               // Pausa
-}
-
-
-void lento() {
-  // Accende e spegne lentamente il LED
-  int lunga = 1000;
-  // sequenze di istruzione: accendere e spegnere il LED
-  digitalWrite(led, HIGH);    // Mette il PIN del LED in stato spento)
-  delay(lunga);               // Pausa
-  digitalWrite(led, LOW);     // Mette il PIN del LED in stato spento
-  delay(lunga);               // Pausa
-}
diff --git a/oggi/blink_4_1_ciclo_for_veloce/blink_4_1_ciclo_for_veloce.ino b/oggi/blink_4_1_ciclo_for_veloce/blink_4_1_ciclo_for_veloce.ino
deleted file mode 100644 (file)
index a330935..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-  Blink v4: for loop
-
- Accensione e spegnimanto di un LED utilizzando un ciclo
- iterativo while per comandare il lampeggio.
-
- Reference: http://arduino.cc/en/Reference/for
- Altri esempi: sketchbook_andrea/programming/loops/
-
- */
-
-const int led   = 13;   // Il valore non cambia
-                        // durante l'esecuzione del programma
-
-
-// /////////////////
-// Setup: eseguita una volta sola all'accensione della scheda
-void setup() {
-    // initialize the digital pin as an output.
-    pinMode(led, OUTPUT);
-}
-
-// ///////////////
-// loop: Le istruzioni vengono eseguite all'infinito
-void loop() {
-for (int i = 0; i < 10; i++) { 
-// (Definizione iteratore, condizione di verifica, gestione dell'iteratore)
-// Operatore ternario (3 elementi)
-// i++ incrementa di uno la variabile
-    brilla(30 * i);      // accende e spegne rapidamente il LED
-    // la pausa e' in funzione della variabile iteratore
-}
-}
-
-// Funzioni create dall'utente:
-void brilla(int velocita) {
-    // Accende e spegne il LED accetando un argomento
-    // per impostare la velocita'.
-
-    // sequenze di istruzione: accendere e spegnere il LED
-    digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
-    delay(velocita);               // wait for a second
-    digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
-    delay(velocita);               // wait for a second
-}
-
-
-/* Domande
-
-1.  Che differenza c'e' nella gestione dell'iteratore tra un ciclo
-    while e for ?
-2.  In quali casi si usa un ciclo for piuttosto che uno while?
-
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-    Soluzioni
-1.  Nel ciclo for l'iteratore e tutta la sua gestione avviene al di fuori
-    del corpo della struttura del ciclo. Questa viene esplicitamente definita.
-2.  Un ciclo for e' indicato per casi in cui si conosce e si vuole controllare
-    il numero delle iterazioni. 
-    Un ciclo while quando basta controllare
-    il perdurare di una situazione di durata indefinita ad es. lo stato
-    di un bottone. Es:
-
-    while (stato_bottone = HIGH) {
-    digitalWrite(LED, HI);
-}
-*/
diff --git a/oggi/blink_4_ciclo_for/blink_4_ciclo_for.ino b/oggi/blink_4_ciclo_for/blink_4_ciclo_for.ino
deleted file mode 100644 (file)
index 70e4ef2..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-  Blink v4: while loop
-
- Accensione e spegnimanto di un LED utilizzando un ciclo
- iterativo while per comandare il lampeggio.
-
- */
-
-const int led   = 13;   // LED OnBoard
-
-
-
-// /////////////////
-// Setup: eseguita una volta sola all'accensione della scheda
-void setup() {
-  // initialize the digital pin as an output.
-  pinMode(led, OUTPUT);
-}
-
-// ///////////////
-// loop: Le istruzioni vengono eseguite all'infinito
-void loop() {
-for (int i = 0; i < 10; i++) {
-// (Definizione iteratore, condizione di verifica, gestione dell'iteratore)
-// Operatore ternario (3 elementi)
-
-   rapido(); // Unica istruzione
-  }
-
-lento();
-}
-
-// Funzioni create dall'utente:
-void rapido() {
-  // Accende e spegne rapidamente il LED
-  int breve = 200;
-  // sequenze di istruzione: accendere e spegnere il LED
-  digitalWrite(led, HIGH);    // Mette il PIN del LED in stato acceso
-  delay(breve);               // Pausa
-  digitalWrite(led, LOW);     // Mette il PIN del LED in stato spento
-  delay(breve);               // Pausa
-}
-
-
-void lento() {
-  // Accende e spegne lentamente il LED
-  int lunga = 1000;
-  // sequenze di istruzione: accendere e spegnere il LED
-  digitalWrite(led, HIGH);    // Mette il PIN del LED in stato spento)
-  delay(lunga);               // Pausa
-  digitalWrite(led, LOW);     // Mette il PIN del LED in stato spento
-  delay(lunga);               // Pausa
-}
diff --git a/oggi/blink_5_while_funzione_argomento/blink_5_while_funzione_argomento.ino b/oggi/blink_5_while_funzione_argomento/blink_5_while_funzione_argomento.ino
deleted file mode 100644 (file)
index 1f43d12..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-  Blink v3
- Accensione e spegnimanto di un LED utilizzando un ciclo
- iterativo while per comandare il lampeggio.
- Questa volta il ciclo while() e' relegato in una funzione
- che accetta come argomento il numero di ripetizionei da effettuare.
- This example code is in the public domain.
- */
-
-// Pin 13 has an LED connected on most Arduino boards.
-// give it a name:
-int led = 13;
-int breve = 200;  // Variabile richiambile nel corso dell'esecuzione
-int lunga = 1000;
-
-// the setup routine runs once when you press reset:
-void setup() {                
-  // initialize the digital pin as an output.
-  pinMode(led, OUTPUT);     
-}
-
-// the loop routine runs over and over again forever:
-void loop() {
-  lampeggia(8);
-  lento();  // accende e spegne lentamente il LED
-  // Domanda: a quanto equivale iterator ora?
-}
-
-// Funzioni create dall'utente:
-
-void rapido() {
-  // Accende e spegne rapidamente il LED
-
-  // sequenze di istruzione: accendere e spegnere il LED
-  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
-  delay(breve);               // wait for a second
-  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
-  delay(breve);               // wait for a second
-}
-
-void lento() {  
-  // Accende e spegne lentamente il LED
-
-  // sequenze di istruzione: accendere e spegnere il LED
-  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
-  delay(lunga);               // wait for a second
-  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
-  delay(lunga); 
-}
-
-void lampeggia(int ripetizioni) {
-  // Accende un LED per un numero stabilito di volte
-
-  // Questa funziona accetta un parametro: ripetizioni
-  int i = 0;
-  while (i < ripetizioni) {
-    rapido();   // accende e spegne rapidamente il LED
-    i = i + 1 ; // incrementa l'iteratore
- // i++ ;       // equivalente
-  }
-}
-
-
-
-
-
diff --git a/oggi/button_1/button_1.ino b/oggi/button_1/button_1.ino
new file mode 100644 (file)
index 0000000..f409028
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+  Input Condizionale
+ Accensione e spegnimanto di un LED utilizzando un pin come input.
+
+ Utilizzare un jumper per collegare il PIN Input
+ alternativamente a +5 o GND .
+
+Schema:
+- http://lab.piffa.net/schemi/led_condizionale.png
+
+ */
+
+// Pin 13 has an LED connected on most Arduino boards.
+// give it a name:
+int led     = 12;
+int input   = 2;
+
+// the setup routine runs once when you press reset:
+void setup() {                
+  // initialize the digital pin as an output.
+  pinMode(led, OUTPUT);       // Il PIN e' attivato come output
+  pinMode(input, INPUT);        // Il PIN e' attivato come output
+}
+
+// the loop routine runs over and over again forever:
+void loop() {
+  if (digitalRead(input) == HIGH) { // Verifica se il PIN input e' +5V
+    digitalWrite(led, HIGH);
+  } 
+  if (digitalRead(input) == LOW) { // Verifica se il PIN input e' 0V
+    digitalWrite(led, LOW);
+  }
+}
+
+/* Domande:
+ 1. Invertire il programma facendo in modo che il led si spenga
+    quando il bottone e' premuto. Considerare come ottenere lo stesso risultato
+    modificando il circuito.
+ 2. Modificare il programma per far brillare il led cinque volte al secondo
+    quando il bottone e' premuto.
+ 3. Si potrebbe usare un ciclo iterativo while invece che 
+    un ciclo condizonale if? Che differenza c'e' tra il ciclo while, if e  for?
+ 4. Domanda: cosa succede se il jumper input non e' collegato ne al +5 ne al ground?
+ */
diff --git a/oggi/button_2_serial_debug/button_2_serial_debug.ino b/oggi/button_2_serial_debug/button_2_serial_debug.ino
new file mode 100644 (file)
index 0000000..5dbcf80
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+  Input serial debug
+ Accensione e spegnimanto di un LED utilizzando un pin come input.
+ Utilizzare un bottone momentaneo per attivare il LED.
+
+ Schemi del circuito per bottone in pull down:
+ - http://lab.piffa.net/schemi/button_1_bb.png
+ - http://lab.piffa.net/schemi/button_1_schem.png
+
+Tutorial:
+- 
+ */
+
+int led = 12;
+int input = 2;
+
+// the setup routine runs once when you press reset:
+void setup() {                
+  pinMode(led, OUTPUT);       // Il PIN e' attivato come output
+  pinMode(input, INPUT);      // Il PIN e' attivato come output
+
+  Serial.begin(9600);         // Attivazione seriale
+}
+
+// the loop routine runs over and over again forever:
+void loop() {
+  if (digitalRead(input) == HIGH) { // Verifica se il PIN input e' +5v
+    digitalWrite(led, HIGH);
+    Serial.println("Bottone premuto: circuito chiuso");  // Debug seriale
+    delay(200);
+  } 
+  else { // Alterativa: se non e' +5v
+    digitalWrite(led, LOW);
+    Serial.println("Bottone libero: circuito aperto");  // Debug seriale
+    delay(200);
+  }
+}
+
+/* Domande:
+ 1. invertire il programma facendo in modo che il led si spenga
+    quando il bottone e' premuto. Consoderare come ottenere lo stesso risultato
+    modificando il circuito.
+ 2. Modificare il programma per far brillare il led cinque volte al secondo
+    quando il bottone e' premuto.
+ 3. Si potrebbe usare un ciclo iterativo while invece che 
+    un ciclo condizonale if? Che differenza c'e' tra il ciclo while e  for?
+ 4. Domanda: cosa succede se il jumper input non e' collegato ne al +5 ne al gound?
+ */
diff --git a/oggi/operator_1_basic/operator_1_basic.ino b/oggi/operator_1_basic/operator_1_basic.ino
new file mode 100644 (file)
index 0000000..1a8bd6b
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+  Operatori base
+ */
+
+int a = 5;
+int b = 10;
+int c = 20;
+
+void setup()                    // run once, when the sketch starts
+{
+  Serial.begin(9600);           // set up Serial library at 9600 bps
+
+  Serial.println("Here is some math: ");
+
+  Serial.print("a = ");
+  Serial.println(a);
+  Serial.print("b = ");
+  Serial.println(b);
+  Serial.print("c = ");
+  Serial.println(c);
+
+  Serial.print("a + b = ");       // add
+  Serial.println(a + b);
+
+  Serial.print("a * c = ");       // multiply
+  Serial.println(a * c);
+
+  Serial.print("c / b = ");       // divide
+  Serial.println(c / b);
+
+  Serial.print("b - c = ");       // subtract
+  Serial.println(b - c);
+
+  Serial.print("b modulo a = ");       // Calculates the remainder when one integer is divided by another. 
+  Serial.println(b % a);
+
+  Serial.print("8 modulo 3 = ");       // Calculates the remainder when one integer is divided by another. 
+  Serial.println(8 % 3);
+
+  Serial.print("a incrementato ++ = ");       // Increments 
+  Serial.println(a++);                        // Increments AFTER the call
+  Serial.print("valore attuale di a: ");
+  Serial.println(a);
+  Serial.print("++a incrementato  = ");       
+  Serial.println(++a);                        // Increments BEFORE the call
+
+
+  Serial.print("b decrementato -- = ");       // Decrement
+  Serial.println(b--);
+  Serial.print("valore attuale di b: ");
+  Serial.println(b);
+  Serial.print("--b decrementato  = ");       
+  Serial.println(--b);
+
+}
+
+void loop()                     // we need this to be here even though its empty
+{
+}
+
+
+
diff --git a/oggi/serial_hello_world/serial_hello_world.ino b/oggi/serial_hello_world/serial_hello_world.ino
new file mode 100644 (file)
index 0000000..7f8e814
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ *   Hello World!
+ *
+ * This is the Hello World! for Arduino. 
+ * It shows how to send data to the computer trough the serial connection
+ */
+
+void setup()                   
+{
+  Serial.begin(9600);           // Inposta la seriale a 9600 bps
+  // Se Arduino manda 9600 bit per secondo e devi manandare 12 Bytes di dati
+  // quanto tempo serve per mandare i dati?
+
+  // Try to change bond rate in the monitor
+
+  Serial.println("Hello World!");   // scrive hello world e ritorna a capo
+  
+  
+//  Serial.print("Il mio nome e': ");   // Scrive senza ritorno a capo
+//  Serial.println("Andrea");           // Scrive con ritorno a capo
+//  Serial.flush();                     // Assicura che tutto il testo venga scritto
+
+}
+
+void loop()                       
+{
+  // Provate a mettere i  Serial.printl() qui, magari con un delay()
+}
+
+
+
+
diff --git a/oggi/switch_test_serial/switch_test_serial.ino b/oggi/switch_test_serial/switch_test_serial.ino
new file mode 100644 (file)
index 0000000..9fa2b7d
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * Switch test program
+ */
+
+int switchPin = 2;              // Switch connected to digital pin 2
+
+void setup()                    // run once, when the sketch starts
+{
+  Serial.begin(9600);           // set up Serial library at 9600 bps
+  pinMode(switchPin, INPUT);    // sets the digital pin as input to read switch
+}
+
+
+void loop()                     // run over and over again
+{
+  Serial.print("Read switch input: ");
+  Serial.println(digitalRead(switchPin));    // Read the pin and display the value
+  delay(200);
+}