Control e robótica

tecnoloxia.org

Bucles

Descrición:

Xa coñecemos un bucle, que é o representado pola función loop() {programa} que encerra o programa. Esta función fai que as instrucións que se atopan dentro do paŕentese se executen indefinidamente, mentres a tarxeta arduino estea conectada.

Pero en ocasións necesitamos que se repitan unha serie de instrucións un número determinado de veces, ou queremos que se repitan mentres se cumpra unha condición determinada. Para estes casos utilizamos os bucles for() e while().

Guía de programación: Funcións de control

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 10 veces, é dicir, se se cumpre a condición de que a<10 (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 o pin 2 estea desactivado
Exemplo2: Executamos un proceso 10 veces
Exemplo 3: Agardamos mentres o pulsador está activado, sen executar ningún proceso
break;
Serve para romper calquera bucle for(), while() ou do…while() aínda que non se cumpran as condicións establecidas.

 

Operadores:

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

 

Montaxe:

Debemos conectar ao pin 13 un LED e unha resistencia de protección menor de 1kΩ (por exemplo de 220Ω ou de 560Ω). Conectaremos tamén un pulsador e unha resistencia de 10kΩ ao pin 2.

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


     

Deixa unha resposta

Required fields are marked *.