Control e robótica

tecnoloxia.org

Guía de programación

Nesta páxina recóllense as funcións máis comúns que se utilizan en arduino, como manual de consulta. Nas seguintes páxinas irán introducíndose as diversas funcións pouco a pouco mediante exemplos e exercicios.

Para coñecer máis tipos de variables e de funcións podes consultar a referencia de Arduíno.

Estrutura básica dun programa:

  • programa_led_parpadeanteDeclaración de variables e funcións:

No inicio definimos as constantes, variables e funcións que utilizaremos posteriormente no programa. Por exemplo, indicamos que temos un LED conectado ao pin 13 da placa arduino.

int led=13;

  • Configuración: setup() { … }

Aquí introducimos o código de configuración inicial. Execútase unha soa vez. Por exemplo aquí indicamos que o pin 13 é un pin de saída: pinMode(led, OUTPUT); Tamén podemos introducir código que só queiramos que se execute ao inicio do programa, unha soa vez.

  • Programa: loop() { … }

As instrucións contidas dentro da función loop execútanse indefinidamente, ata que se desconecte a placa arduino. Por exemplo, facemos que o led se acenda e se apague en determinados intervalos de tempo.

  • Comentarios:

Utilizamos /* */ para engadir un parágrafo con varias liñas
Utilizamos // … para engadir un comentario dunha liña

Variables

Unha variable é un dato que cambia o seu valor  coa execución do programa, mentres que unha constante permanece sempre co mesmo valor.

Tipo Descrición Exemplo
int É o tipo de variable por defecto. Almacena un valor enteiro variable de 16 bits no rango de -32768 a +32767
const int Valor enteiro constante
boolean Valor booleano: Toma o valor verdadeiro (true) ou falso (false)
char Carácter: Almacena un ASCII
byte Almacena un número de 8 bits no rango de 0 a 255
long Almacena un número de 32 bits no rango de -2.147.483.648 a 2.147.483.648
float Almacena un número decimal de 32 bits 

 

Por simplificar, aquí usaremos int no canto de const int para definir as constantes. Por exemplo: int led=9;  para indicar que o led está conectado no pin 9.

Un array é un conxunto de variables. tipo nome[nº de variables]={valor1, …, valor n}

Exemplo: const int leds[4]={7,8,9,10} Crea o array “leds” con espazo para almacenar 4 números de tipo const int no cal almacena os valores 7,8,9 e 10.

Funcións

Funcións dixitais:

pinMode(pin,modo) Permite configurar un pin
digitalRead(pin) Permite ler un pin dixital (0 ou 1)
digitalWrite(pin,estado) Permite escribir un pin dixital con 1 ou 0 (ou con HIGH e LOW)

 

Funcións analóxicas:

analogRead(pin) Permite ler un valor analóxico de 0 a 1023
analogWrite(pin,valorPWM) Permite escribir un valor analóxico de 0 a 255

 

Outras funcións:

delay(n); temporización en milésimas de segundo
delayMicroseconds(n); temporización en microsegundos
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
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

 

Estruturas de control

Son instrucións que nos permiten tomar decisións ou facer repeticións de acordo cuns parámetros.

if(condición) { proceso } (Se… )
if Cando se cumpre a condición establecida execútanse as funcións do proceso definido entre as chaves {…}. Cando non se cumpre a condición non se executan e o programe segue o seu curso.Exemplo: Se a entrada é menor que 500 execútase o proceso.

if(condición) { proceso 1 } else { proceso 2 } (Se … se non …)
if-else Neste caso definimos dous procesos, un para cando se cumpre a condición establecida, e outro para cando non se cumpre.Exemplo: Se a entrada é menor que 500 execútase o proceso 1, e se non execútase o proceso 2

switch() / case (Varios camiños )
fluxo_cond5 Permite elixir entre varios camiños para executar diferentes funcións ou grupos de funcións.Exemplo: Se a variable toma o valor 4 execútase o proceso 1, se toma o valor 5 execútase o proceso 2 e se non se cumpre ningunha das anteriores condicións (default) execútase o proceso 3.

for(inicio,condición,modificador) { proceso }  (Por …)
Esta función permite realizar bucles, para que as funcións contidas entre os parénteses se executen un número determinado de veces.Exemplo: Executamos o proceso desde a=0 ata a=9. Cando a=10 non se cumpre a condición e sae do bucle.for(inicio,condición,modificador)
a++: incrementa 1

while(condición) { proceso } (Mentres …)
 estrutura_mentresfacer2 Mentres se cumpra a condición establecida entre parénteses execútase o proceso encerrado baixo chaves. O bucle finaliza cando se deixa de cumprir a condición.

Exemplo1: Executamos un proceso mentres a sexa menor ou igual que b:

Exemplo2: Executamos un proceso 200 veces

break;
Serve para romper calquera bucle for(), while() ou do…while() aínda que non se cumpran as condicións establecidas.

 

Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone


     

Deixa unha resposta

Required fields are marked *.