arduino-scratch

07 - Les variables en s4a

Finalitat

En la lliçó es presentarà el concepte de condicions inicials i s’introduiran els blocs de «Variables». També aprendrem una mica més dels blocs «Operadors» a més d’aprofundir en el maneig dels blocs de control. Tot açò ens permetrà millorar la nostra capacitat per a crear algorismes i programes més complexos.

Material requerit

Imatge Descripció
Arduino Uno o compatible amb S4A i amb el firmware per S4A carregat.
Una protoboard
Cables de connexió
Un díode led
Dos resistències de 330 Ohms
Un polsador

Plantejament de l’algorisme: condicions inicials

L’esquema i el muntatge són els mateixos que els dels del programa del polsador de la sessió 6. La diferència és que en aquesta ocasió utilitzarem el polsador com un interruptor, de manera que una pulsació encenga el LED i la següent l’apague.

Esquema elèctric Muntatge

Construirem el programa de manera que sempre que comencem a executar el programa el LED estiga apagat. Per a això haurem de fer que en iniciar-se el programa s’execute el bloc “digital 10 apagat” una sola vegada, i després ja s’execute la resta de manera cíclica fins que ho parem.

Com volem que s’execute una única vegada, ho posarem davall del bloc “en pressionar” i abans del bloc “per sempre”.

Condicions inicials

A aquesta mena d’estructura li direm condicions inicials, ja que només s’executa només una vegada i en iniciar-se el programa.

Utilització de variables

Per a poder encendre o apagar el LED depenent de l’estat en què es trobe, el primer que hem d’aconseguir és saber en tot moment quin és l’estat de l’eixida digital 10. Per a això introduirem el concepte de variable.

Per a crear una variable nova anirem a la categoria de blocs “Variables” i farem clic en “Nova variable”. Ens demanarà un nom. Com la volem per a guardar l’estat del LED, la cridarem simplement “led”.

Crear variable

En acceptar veurem que se’ns creen nous blocs relacionats amb la variable led que acabem de crear, i en l’escenari se’ns mostrarà el valor que té emmagatzemada la variable. Podem arrossegar-la per a col·locar-la on vulguem.

Blocs de variables Variable a l'escenari

Com necessitem saber en tot moment en quin estat es troba el LED, el que farem serà fixar el valor a ‘false’ quan l’eixida digital 10 estiga a LOW (LED apagat), i a ‘true’ quan ho estiga a HIGH (LED encés).

Inicialitzar variable

Ara ja volem que la resta d’instruccions s’executen de manera cíclica si compleix certa condició. Per a ells utilitzarem el bloc de “Control” “per sempre si…”, que combina en un sol bloc els blocs “per sempre” i “si…”.

Per a detectar quan s’acciona el polsador crearem una condició igual a la que vam fer en la sessió anterior.

Continuacio de la seqüencia

Fins ara el nostre programa coneix l’estat del LED en iniciar-se el programa i detecta cada vegada que pressionem el polsador.

El que ens falta és que siga capaç d’encendre el LED si està apagat i d’apagar-lo si està encés. Per a això haurem d’usar el bloc de “Control” “si / si no” per a comprovar l’estat de la variable “led” que hem creat.

Comparem el valor de la variable «led» amb uns dels valors booleans «true o false», en aquest cas ho fem amb «false».

Si la comparació és certa, és a dir, «led» té el valor «false»; s’executarà el bloc «si» i, com que quan «led = false» l’eixida digital 10 està apagada, farem el contrari, fixarem el valor de «led» a «true» i «digital 10 a encés». El bloc «si no» en aquest cas s’ignora.

Si la comparació és falsa, el que és el mateix «led» conté el valor «true»; se salta el bloc «si» i s’executa el bloc «si no», on fem que la variable prenga el valor «false» i «digital 10 apagat».

Seqüencia final

Resum de la sessió

En aquesta sessió hem aprés diverses coses importants:

Veure també