L'objectiu és crear un aparell capaç de demanar ajuda utilitzant codi Morse, i un microcontrolador o placa electronica programableanomenada: Arduino :Que programarem, primer amb un simulador anomenat Tinkercard i després copiarem aquest codi que funciona a un programa que es capaç d'enviar informació de codi per un cable USB des de l'ordinador fins l'Arduino. Aquest programari s'anomena Arduino IDE i el harware anomenat en català "Maquinari" és un Arduino UNO rev. 3 unit a un LED
El nostre primer codi és molt senzill perquè només utilitza instruccions simples:
// C++ code
//
void setup()//Configuració de l'arduino és un bloc de codi obligatori i aquest bloc de codi es una funció i es 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 l'interior sempre es posen instruccions simples.
{
pinMode(13, OUTPUT);//PinMode és una instrucció simple, indica mode en que en connectare a un PIN. Els pins són forats en els que connecto cables en l'Arduino. En el cas de pinMode els parèntesis no estan buits sinó que tenen dos paràmetres. El primer paràmetre o argument és un número que corespon al número de forat de l'Arduino que en aquest cas, és el número 13. El número 13 és especial, perquè té una resistència interna que no veig i em permet connectar dirctament un led (és l'unic Pin que permet ). El següent paràmetre o argument OUTPUT que significa sortida vol dir, que surt corrent elèctrica des de l'Arduino fins a l'exterior, perquè sinó surt corrent no s'encendra el LED. Si poses INPUT vol dir entrada de corrent i ho faria si tinguessim un sensor de llum perquè estaria esperant una entrada de corrent dintre de l'Arduino
}
void loop()// Es una funció que repeteix de maera infinita, la unica forma d'aturar serà desconectar 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,
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)
//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 continuació veure un vídeo gravat amb el mòbil on es veu el codi SOS1 que està fet només amb instruccions simples de encendre i apagar el LED:
A continuació tens una presentació sobre LEDS i arduino: