Professional Documents
Culture Documents
Temario Arduino 1
Temario Arduino 1
Sintaxis:
; (punto e coma): sempre ó final de cada instrución.
{} (corchetes): marcan o inicio e o final dun bloque.
// (dobre barra): comentario de unha línea.
/*comentario */: comentarios en varias líneas.
Constantes:
INPUT: entrada → pinMode (led, INPUT)
OUTPUT: saída → pinMode (led, OUTPUT)
HIGH: encendido (5V) → como máximo 5v, pode traballar a 3,3v
LOW: apagado (0V)
Tipos de datos:
boolean ou bool → 2 valores. 1bit
true: verdadeiro → Ex: bool a = true;
false: falso → Ex: bool a = false;
array → matriz.
Ex: int a[6]; //declaramos un array de enteiros de 6 posicións
int var;
var = a[0]; //gardamos o valor da posición 0 na variable variable:
a[1] = 5; // na posición 1 gardamos o número 5
FUNCIÓNS PRINCIPAIS:
E/S dixitais:
Configuración de pins:
pinMode (nº de pin, Entrada(INPUT) ou saída (OUTPUT):
Ex: pinMode (13, OUTPUT); // Pin 13 configurado como saída
pinMode( 14, INPUT); // Pin 14 configurado como entrada
// isto configúrase no Setup porque solo se executa unha vez.
Escribir en pin dixital:
digitalWrite (nº de pin, valor -> nivel alto(HIGH) ou baixo (LOW)):
Ex: digitalWrite (15, HIGH); //Poño o valor 15 a valor alto/true/positivo... 5V
digitalWrite (16, LOW); //Poño o valor 16 a valor baixo/false/masa... 0V
// Execútase no void loop.
E/S analóxicas:
Ler entradas analóxicas:
analogRead (nº de pin);
No noso caso, en mega, os pins de lectura son os A0 ata A15.
Resolución: 10 bits → 210 -1 = 1023
0: mínimo = 0V
1023: máximo = 5V
5/1024 = 4,88
4,88-10 -3 V = 4,9 mV
A resolución mínima que pode detectar é de 4,9 → 5. É dicir, ata 5mV non detecta cambios, si a
resolución fose de 13 bits, detectaría cambios ós 0,61mV.
15
100 microsegundos = 100ms = 0,0001s
f.max = 10 kHz
10
f.muestreo >= 2 * f. máxima do sinal
→ f.muestreo >= 20
5 → T < 1/20 → T < 0,05s = 50ms
f.max = 5 kHz
0
0 1 2 3 4 5
Escribir analóxicas:
analogWrite (nº de pin (de A0 a A15, valor (de 0 a 255 → 8bits));
Ex: analogWrite (0, 123) → 0 = 0V e 255 = 5V
Arduino escribe o valor analóxico (saída) en PWM (modulación por ancho de pulso)
100%
0
25%
0
50%
Duty cicle
Puerto serie:
Serial.print (“Hola mundo”); // escribe un detrás do outro.
Serial.println (“Hola mundo”); // salto de columna.
Serial.print (valor); //”valor” é unha variable e mostrará o seu valor.
ESTRUCTURAS DE CONTROL:
if ... else: se si, fago unha cousa, senón fago outra.
pseudocódigo: código:
si o led está apagado{ if (digitalRead (led) == LOW){
encendo; digitalWrite (led, HIGH);
} {
senón { else{
apago; digitalWrite (led, LOW);
} }
Bucle for:
Bucle for:
for (inicio; fin; incremento / decremento){
Código;
}
Bucle While:
while (condición = true){
execútase o código mentras o while sexa true;
}