Aquesta pàgina inclou les funcions més comunes utilitzades a Arduino, com un manual de referència. En les següents pàgines es presenten les diferents funcions a poc a poc miyjançant exemples i exercicis.
Per aprendre més tipus de variables i funcions pots consultar la referència d’Arduino i a la web https://www.arduino.cc/en/Tutorial/Sketch.
Xuleta per programar…
Un sketch és el nom que Arduino utilitza per a un programa. És la unitat de codi que es puja i s’executa a la placa d’Arduino.
Ens basarem en el programa Blink per explicar les parts d’un sketch
Estructura bàsica d’un programa:

- Declaració de variables i funcions:
A l’inici es defineixen les constants, variables i funcions que s’utilitzaran més endavant en el programa.Per exemple, un LED connectat al pin 13 de la placa Arduino.
int LED = 13;
- Configuració: setup () {…}
Aquí s’introdueix el codi de configuració inicial. S’executa una vegada. Per exemple, aquí indiquem que el passador 13 és un pin de sortida: pinMode (LED, OUTPUT). També podem inserir codi que només volem que carregui al començament del programa, una vegada.
- Programa: loop () {…}
Les instruccions contingudes dins del bucle de funció s’executen de forma indefinida, fins que es desconnecti l’Arduino. Per exemple, fer que el LED s’encengui i s’apagui a determinats intervals de temps.
- comentaris:
Ús / * … * / per afegir un paràgraf amb diverses línies
… // S’utilitza per afegir un comentari d’una sola línia
Les variables
Una variable és una dada que canvia de valor al llarg de l’execució del programa, mentre que una constant roman sempre el mateix valor.
Una variable és un lloc per emmagatzemar un conjunt de dades. Té un nom, un tipus, i un valor.
Per exemple, a Blink es declara una variable amb el nom de ledPin, el tipus int, i el valor inicial de 13. Es fa servir per indicar a quins pin d’Arduino el LED està connectat. Cada vegada que el nom de ledPin apareix en el codi, es recuperarà el seu valor. En aquest cas, la persona que escriu el programa podria haver optat per no crear la variable ledPin i en el seu lloc escriure 13 a tot arreu. L’avantatge d’utilitzar una variable es és que fa més fàcil canviar el LED a un pin diferent: només cal editar la línia on s’assigna el valor inicial de la variable.
Sovint, però, el valor d’una variable canviarà mentre s’executa l’sketch. Per exemple, es podria emmagatzemar el valor llegit a l’entrada en una variable. Hi ha més informació al tutorial variables.
Tipus de variables:
| descripció | exemple | |||
| int | Defineix per defecte una variable. Emmagatzema una variable de 16 bits valor sencer en el rang des -32.768-32.767 |
int brillo=0; // Indica que a variable brillo toma un valor = 0. Durante a execución do programa aquest valor es pot variar.
|
||
| const int | Valor sencer constant |
const int led=9; // Indica que conectamos un LED no pin 9. O valor non varía durante a execución do programa.
|
||
| boolean | Valor booleano : Toma el valor verdader (true) o fals (false) |
boolean acendido=true; // Indica que a variable “acendido” é verdadeira.
|
||
| char | Carácter: Emmagatzema un ASCII |
char letra=’a’; // Indica que a variable “letra” toma o valor “a”
|
||
| byte | Emmagatzema un número de 8 bits amb un rang de 0 a 255 |
byte C = 23; // Indica que a variable C toma o valor 23
|
||
| long | Emmagatzema un número de 32 bits amb rango de -2.147.483.648 a 2.147.483.648 |
long Contador = -10000; // Indica que o contador toma un valor de -10000
|
||
| float | Emmagatzema un número decimal de 32 bits |
float pi = 3.1416; // Indica que a variable pi ten un valor de 3,1416
|
Por simplificar, aquí utilitzarem int en comptes de const int para definir las constantes. Por exemplo: int led=9; para indicar que o led está conectado al pin 9.
Un array és un conjunt de variables. tipo nom [nº de variables]={valor1, …, valor n}
Exemple: const int leds[4]={7,8,9,10} Crea l’array “leds” amb espai per emmagatzemar 4 números de tipus const int, no cal emmagatzemar els valors 7, 8,9 i 10.
Funcións dels programes
Funcions digitals:
| pinMode (pin,modo) | Permet configurar un pin |
pinMode (13,OUTPUT); pinMode (pulsador,INPUT);
|
||
| digitalRead (pin) | Permite ler un pin dixital (0 ou 1) |
int a = digitalRead (2); // Define a variable “a” coa lectura 0 ou 1 do pin 2
|
||
| digitalWrite(pin,estado) | Permite escribir un pin dixital con 1 ou 0 (ou con HIGH e LOW) |
digitalWrite (13,HIGH); digitalWrite (13,LOW);
|
Funcións analóxicas:
| analogRead(pin) | Permite ler un valor analóxico de 0 a 1023 |
int a = analogRead (A0); // Define a variable “a” coa lectura do valor do pin analóxico A0
|
||
| analogWrite(pin,valorPWM) | Permite escribir un valor analóxico de 0 a 255 |
analogWrite (9, 134); // Asigna o valor 134 ao pin 9
|
Outras funcións:
| delay(n); | temporización en milésimas de segundo |
delay(1000); // Agarda 500ms = 0,5s
|
||
| delayMicroseconds(n); | temporización en microsegundos |
delayMicroseconds(100); //Agarda 100 μs = 0.0001s
|
||
| var = millis(); | Devolve o tempo en ms transcorrido desde o comezo do programa | |||
| tone(pin, frecuencia, duración); | Xera un son da frecuencia desexada, sobre o pin indicado e cunha duración que indiquemos |
tone(6,12000,500); // Xera un ton de 12 KHZ durante 0.5s polo pin 2.
|
||
| noTone(pin); | Finaliza o ton que estea soando polo pin indicado |
Operadores
| Booleanos : | De comparación: | Matemáticos : | ||||
| AND: && | Igual a : == | Diferente de: != | Asignar: = | Módulo: % | ||
| OR: || | Maior que: > | Menor que: < | Suma: + | Resta: – | ||
| NOT: ! | Maior ou igual: >= | Menor ou igual: <= | Multiplicación: * | División: / | ||
| Operadores compostos | |||
| Operador | Operación | Exemplo | Equivale a |
| ++ | Incrementa unha unidade | n++ | n=n+1 |
| – – | Decrementa unha unidade | n- – | n=n-1 |
| += | Suma | n+=3 | n=n+3 |
| -= | Resta | n-=3 | n=n-3 |
| *= | Produto | n*=3 | n=n*3 |
| /= | División | n/=3 | n=n/3 |