]> git.piffa.net Git - sketchbook_andrea/commitdiff
Multitasking
authorAndrea Manni <andrea@piffa.net>
Mon, 21 Dec 2015 16:06:24 +0000 (17:06 +0100)
committerAndrea Manni <andrea@piffa.net>
Mon, 21 Dec 2015 16:06:24 +0000 (17:06 +0100)
multitasking/BlinkWithoutDelay_1/BlinkWithoutDelay_1.ino
multitasking/BlinkWithoutDelay_2_led/BlinkWithoutDelay_2_led.ino
multitasking/BlinkWithoutDelay_3_funzione/BlinkWithoutDelay_3_funzione.ino
multitasking/BlinkWithoutDelay_6_class/BlinkWithoutDelay_6_class.ino
multitasking/blink_0_soluzione/blink_0_soluzione.ino

index 509673950eea0e0bf4f9551543ff9c098072d7ff..bdc58029d9a6054310ee29909485b06760f0926e 100644 (file)
@@ -57,6 +57,8 @@ void loop()
       ledState = HIGH;
     else
       ledState = LOW;
+    // e' possibile semplificare queta operazione?
+    // Hint: lo stato del LED e' binario: ha solo due stati possibili.
 
     // set the LED with the ledState of the variable:
     digitalWrite(ledPin, ledState);
@@ -67,4 +69,4 @@ void loop()
    1. Aggioungere un LED che brilli ogni 500ms
    2. E' ora agevole cambiare gli intervalli dei due LED? 
       Modificare gli intervalli dei due led (es 500ms - 320ms)
  */
+ */
index 6bad7cd3bd535279974dc2cd0fa44e08c2f1a2ec..89f579355e0de1b994fb8e1b290e372cf38ac4f1 100644 (file)
@@ -54,6 +54,7 @@ void loop()
   // the LED is bigger than the interval at which you want to 
   // blink the LED.
 
+// First LED
   if(millis() - previousMillisA > intervalA) {
     // save the last time you blinked the LED 
     previousMillisA = millis();   
@@ -67,6 +68,7 @@ void loop()
     digitalWrite(ledA, ledStateA);
   }
   
+// Second LED
     if(millis() - previousMillisB > intervalB) {
     // save the last time you blinked the LED 
     previousMillisB = millis();   
index 63a324e9264388cf8c1e846aa43773777ad83a50..a5db67b3cb71611d4bb69ac263eb2358e86070fd 100644 (file)
@@ -19,6 +19,7 @@ long previousMillisA = 0;        // will store last time LED was updated
 // the follow variables is a long because the time, measured in miliseconds,
 // will quickly become a bigger number than can be stored in an int.
 long intervalA = 1000;           // interval at which to blink (milliseconds)
+void lightLedA () ;
 
 //////////////
 // Second LED
@@ -26,6 +27,7 @@ int ledB = 12; //Secondo LED
            // ledState used to set the LED
 long previousMillisB = 0;        // will store last time LED was updated
            // interval at which to blink (milliseconds)
+void lightLedB () ;
 
 
 void setup() {
@@ -61,7 +63,7 @@ void lightLedA () {
 
 void lightLedB () {
   long intervalB = 500;
-   static int ledStateB ;  
+   static int ledStateB ;  // https://www.arduino.cc/en/Reference/Static
   if(millis() - previousMillisB > intervalB) {
     // save the last time you blinked the LED 
     previousMillisB = millis();   
index fa55a1b6f683008ef22550270d008a4ba30ddbd4..2744341276d41b6555a52f65000e779f90e57e39 100644 (file)
@@ -42,8 +42,8 @@ public:
 };
 
 // Instanziamo i due led dalla classe 
-Lampeggiatore ledA(1, 1000);
-Lampeggiatore ledB(2, 500);
+Lampeggiatore ledA(13, 1000);
+Lampeggiatore ledB(12, 500);
 
 void setup() {
 }
index 3a3751a298d57e4ab1496a9281611f8f3014b2bf..e9312e0d0d27a7614c3d0027f97bd9114a14b84a 100644 (file)
@@ -4,12 +4,12 @@
  Aggiungere un secondo LED e farlo brillare ogni 500ms
  mentre il primo brilla ogni 1000ms
  
- a  |  b
- ========
- 1  |  1
- 1  |  0
- 0  |  1 
- 0  |  0
+ a  |  b    Changes
+ ========   =========
+ 1  |  1    x   |   x
+ 1  |  0        |   x
+ 0  |  1    x   |   x
+ 0  |  0        |   x
  
  Periodo = 500ms
  
@@ -52,6 +52,11 @@ void loop() {
   ;
 }
 
+/* Domande
+ 1. Altro scenartio: fare brillare un LED ogni 300ms mentre il secondo brilla ogni 400m
+ 2. Aggiungere un terzo LED
+ */
+