SOS with variables

In the previous code we have a SOS with simple instructions. We're going to convert simple instructions in to instructions with variables. Variables are declared at the begining of the code. Remember that are many types of variables (int, byte, float, bool, double, char...), those variables can be signed or unsigned, global variables are used all along the code, and local variables are used only inside a function and do not exist outside that specific function. In this case, the global variable is t=200; sometimes a variable c an be constant in all the code so I can declare const int t=200;. When I declare a variable the computer keep a space in the memory for that variable and keep that name.

What is the advantage of creating variables? You don't need to repeat all the time at the same value, it's more effective because I write once and the value changes many times.

Time variable is sometimes t and sometimes 3*t or 7*t because the rules of the Morse code:

Another possibility is to create 3 variables one is dot, another is dash and the last is space, the code will be: const int dot= 200; const int dash= dot*3; const int space= dot*7;

The structure of the code is always the same:

  1. Comment about the objective and author of the code
  2. Importing libraries needed for my code, for example if I'm using computer vision I need to import the computer vision library in order to use the computer vision instructions
  3. Setup function contains the settings of my code: output or input, screen size...
  4. My own functions created by myself to be used in the main code
  5. The name code is the loop function and in this case contains only simple instructions with variables and do not call any functions created by myself
  6.  
    /*
      Blink
    
      Turns an LED on for one second, then off for one second, repeatedly.
    
      Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
      it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
      the correct LED pin independent of which board is used.
      If you want to know what pin the on-board LED is connected to on your Arduino
      model, check the Technical Specs of your board at:
      https://www.arduino.cc/en/Main/Products
    
      modified 8 May 2014
      by Scott Fitzgerald
      modified 2 Sep 2016
      by Arturo Guadalupi
      modified 8 Sep 2016
      by Colby Newman
    
      This example code is in the public domain.
    
      https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
    */
    
    const int t =200; global variable 
    
    //
    
    // the setup function runs once when you press reset or power the board
    void setup() {
      // initialize digital pin LED_BUILTIN as an output.
      pinMode(LED_BUILTIN, OUTPUT);
    }
    
    // the loop function runs over and over again forever
    void loop() {
    
    //const int t =200; local variable 
      
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(t);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(t);                       // wait for a second
      
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(t);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(t);                       // wait for a second
     
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(t);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(t);                       // wait for a second
    
      delay(3*t);                       // wait for a second
     
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(3*t);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(t);                       // wait for a second
    
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(3*t);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(t);                       // wait for a second
    
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(3*t);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(t);                       // wait for a second
    
      delay(3*t);                       // wait for a second
    
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(t);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(t);                       // wait for a second
      
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(t);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(t);                       // wait for a second
     
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(t);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(t);                       // wait for a second
    
      delay(7t);                       // wait for a second
    }