L´objectiu és crear un aparell capaç de demanar ajuda utilitzant codi Morse, i un microcontrolador o placa electronica programable anomenada Arduino que programarem,primer amb un simulador anomenat Tinkercad 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 o software s´anomena Arduino IDE i el hardware 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
//SOS per demanar ajuda
void setup()//Configuració de l´Arduino és un bloc de codi oblgatori i aquest bloc de codi és una funció que configura l´Arduino i només s´executa una vegada al (principi). Els parèntesi 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 és una instrució simple, indica el mode en que en connectaré a un pin. Els pins són forats en els que connecto cables de l´Arduino.En el cas de pinMode els parèntesis no estan buits sino que tenen dos pàrametres.El primer paràmetre o argument és un número que correspón al número de forat de l´Arduino que en aquest cas, es el número 1.El número 13 és especial, pèrque te una resisténcia interna que no veig i em permet connectar directament un LED(és l´unic Pin que ho permet).El següent 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.Si poses INPUT vol dir entrada de corrent i ho fariem si tinguessim un sensor de llum perquè estaria esperant una entrd de corrent a dins de l´Arduino.
}
void loop()//Funció que es repeteix de manera infinita, la unica forma d´aturar-lo serà desconnectar l´Arduino
{
//Això és una S
//Això és el primer punt dintre de la S que s'encén
digitalWrite(13, HIGH);//s'encen el Led número 13
//digitalWrite significa escriptura digital, 0 o 1, el 0 es LOW o apagat i el 1 es HIGH o encés, el 13 i HIGH son arguments de la funció digitalWrite de l´Ardino, i el 13 es el Pin o forat de l´Arduino i HIGH que encengui l´Arduino.
delay(200); //Manté encés 200 milisegons(s)
//200 milisegons son equivalents a un punt
digitalWrite(13, LOW);//s'apaga el Led número 13
delay(200); // Mante apagat 200 milisegons(s)
//Això és el segon punt dintre de la S que s'encén
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); // Mante apagat 200 milisegons(s)
//Això és el tercer punt dintre de la S que s'encén
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); // Mante apagat 200 milisegons(s)
//Això és una O
digitalWrite(13, HIGH);//s encen el Led número 13
delay(600); // Wait for 1000 millisecond(s)
digitalWrite(13, LOW);
delay(200); // Wait for 1000 millisecond(s)
digitalWrite(13, HIGH);
delay(600); // Wait for 1000 millisecond(s)
digitalWrite(13, LOW);
delay(200); // Wait for 1000 millisecond(s)
digitalWrite(13, HIGH);
delay(600); // Wait for 1000 millisecond(s)
digitalWrite(13, LOW);
delay(200); // Wait for 1000 millisecond(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); // Mante 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); // Mante 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); // Mante apagat 200 milisegons(s)
}
Aquest és el circuit:
Aquest és el enllaç de la meva animació Arduino SOS en Tinkercad
A continuació veureu un vídeo gravat amb el mòvil on es veu el codi SOS1 que està fet només amb instruccions simples d´encendre i apagar el LED:
A continuació tens una presentació sobre LEDS i arduino