Projecte SOS

L'objectiu és crear un aparell capaç de demanar ajuda utilitzant codi Morse, i un microcontrolador o placa electrònica programable anomenada Arduino. Que progrmarem, primer amb un simulador anomenat Tinkercad i després copiarem aquest codi que funciona a un programa que és capaç d'enviar informació de codi per un cable USB des de l'ordinador fins l'arduino. Aquet programari o software s'anomena Arduino IDE i el hardware anomenat en català "maquinari" és un Arduino UNO Rev3 unit a un LED

El nostre primer codi és molt senzill perquè només utilitza instruccions simples:


    // C++ code
//SOS per demanar ajuda
void setup()//Configuració de l'Arduino és un bloc de codi obligatori i aquest bloc de codi és una funció i és la funció que configura l'Arduino i només s'executa una vegada (al principi).Els parèntesis estan buits perquè no tenen cap argument dintre que els faci canviar.Les funcions o blocs de codi sempre es posen entre claus {} i a l'interior sempre es posen instruccions simples.
{
  pinMode(13, OUTPUT);//Pin mode es una instruccio simple, indica el Mode en que en connectaré a un Pin.Els pins són forats en els que connecto cables en l'Arduino.En el cas pinMode els parèntesis no estan buits sino que tenen dos párametres.El primer paràmetre o argument és un número que correspon al número de forat del Arduino que en aquest cas, es el número 13.El número 13 es éspecial, pèrque té una resisténcia interna que no veig i em permet connectar directament un Led (és l'unic Pin que permet).El seguent parámetre o argument  s'anomena OUTPUT que significa sortida vol dir, que surt corrent elèctrica  des de l'Arduino fins a  l'exterior, perquè sino surt corrent no s'encedra el Led.Si poses INPUT vol dir entrada de corrent i ho fariem si tinguessim un sensor de llum perquè estaria esperant una entrada de corrent d'entre de l'Arduino 
}

void loop(//És una funció que es repeteix de manera infinita, la única forma d'aturar serà desconnectar l'Arduino 
{
  //Això és una S
  digitalWrite(13, HIGH);//S'encen el Led número 13
  //DigitalWrite significa escriure en digital, 0 o 1 el 0 es LOW o apagat el Led i el 1 es HIGH o encés al led,el 13 i HIGH son arguments de la funció DigitalWrite de l'Arduino, i el 13 es el Pin o forat de l'Arduino i HIGH és que encengui l'Arduino
  delay(200); // Manté encés 200 milisegons(s)
  //Els 200 milisegons(s) són equivalents  1 punt i la lletra S són tres punts.
  digitalWrite(13, LOW);//S'apaga el Led número 13
  delay(200); // Manté apagat 200 milisegons(s)
  
  digitalWrite(13, HIGH);//S'encen el Led número 13
  delay(200); // Manté encés 200 milisegons(s)
  digitalWrite(13, LOW);//S'apaga el Led Número 13
  delay(200); // Manté apagat 200 milisegons(s)
  
  digitalWrite(13, HIGH);//S'encen el Led número 13
  delay(200); // Manté encés 200 milisegons(s)
  digitalWrite(13, LOW);//S'apaga el Led Número 13
  delay(200); // Manté apagat 200 milisegons(s)
  //Això és una O
  digitalWrite(13, HIGH);//S'encen el Led número 13
  delay(600); // Wait for 600 millisecond(s)
  digitalWrite(13, LOW);//S'apaga el Led número 13
  delay(200); // Manté apagat 200 milisegons(s)
  
  digitalWrite(13, HIGH);//S'encen el Led número 13
  delay(600); // Wait for 600 millisecond(s)
  digitalWrite(13, LOW);//S'apaga el Led número 13
  delay(200); // Manté apagat 200 milisegons(s)
  
  digitalWrite(13, HIGH);//S'encen el Led número 13
  delay(600); // Wait for 600 millisecond(s)
  digitalWrite(13, LOW);//S'apaga el Led número 13
  delay(200); // Manté apagat 200 milisegons(s)
  //Aixó és una S
  digitalWrite(13, HIGH);//S'encen el Led número 13
  delay(200); // Manté encés 200 milisegons(s)
  digitalWrite(13, LOW);//S'apaga el Led número 13
  delay(200); // Manté apagat 200 milisegons(s)
  
  digitalWrite(13, HIGH);//S'encen el Led número 13
  delay(200); // Manté encés 200 milisegons(s)
  digitalWrite(13, LOW);//S'apaga el Led Número 13
  delay(200); // Manté apagat 200 milisegons(s)
  
  digitalWrite(13, HIGH);//S'encen el Led número 13
  delay(200); // Manté encés 200 milisegons(s)
  digitalWrite(13, LOW);//S'apaga el Led Número 13
  delay(200); // Manté apagat 200 milisegons(s)
}
      

Aquest és el circuit:

Aquest és el enllaç de la meva animació Arduino SOS en Tinkercad

A continuacio veureu un video gravat amb el mobil on es veu el cosi SOS1 que esta fet nomes amb instruccions simples de encendre i apagar amb LED: