Control dun LED cun premedor
Nesta práctica imos controlar o funcionamento dun LED cun premedor, de xeito que cando estea activado o LED teña un funcionamento e cando non estea activado outro diferente.
Traballaremos cunha entrada (premedor) e unha saída (LED) e algunha función nova de Arduino.
Materiais
- Placa Arduino + protoboard
- Cable USB
- LED
- premedor
- 2 resistencias de 220 Ω
- cables conexión
Simulación en Tinkercad
A montaxe é moi sinxela, combina o circuíto do LED da práctica 1 (neste caso empregamos o pin dixital 3 do Arduíno) cun circuíto propio para o premedor, que se explica a continuación. Cando queremos usar un premedor como entrada dixital, o primeiro que se nos ocorre é conectalo directamente a Vcc e ao pin do Arduíno. Se o facemos así, ao premer obtemos 5V na entrada, pero ao soltar non podemos saber en que estado se atopa: está afectada polo ruído electrico e outros factores que imposibilitan coñecer o seu valor). Para evitar esta situación, empregamos unha das dúas configuracións características, denominadas pull down and pull up resistor, que nos explican no seguinte video: |
|
Control dun LED cun botón. Raquel Rendo. Commons Wikimedia. CC BY-SA 4.0 |
|
Análise do código
Analizamos as novas funcións que aparecen no código:
Código Arduino LED e botón. Raquel Rendo. Commons Wikimedia. CC BY-SA 4.0 |
* pinMode(7, INPUT): unha das novidades desta práctica é que temos un dispositivo que proporciona unha entrada conectado a un pin dixital do Arduíno e debemos configuralo como tal. A instrución é similar a que xa coñecemos para configurar un pin como saída. *if(digitalRead (7)==true) if.... else: unha das características máis importantes da programación é a capacidade de tomar decisións, isto é, a execución dunha parte ou outra dun programa se se cumpre (bloque de instrucións antes do else) ou non (bloque de instrucións despois do else) unha condición establecida. Olla a súa estrutura. digitalRead (7): lé o estado dunha entrada dixital (neste caso o pin 7 que configuramos antes como entrada), que pode ser HIGH ou LOW, que son equivalentes a true (5 V) e false(0 V) ou 0 e 1. ==: é o operador de comparación, neste caso "igual a"; podes ver máis aquí. |
Montaxe do circuíto
Realiza a montaxe do circuíto sobre Arduino e a placa protoboard. Repara na colocación do premedor no canal central desta útlima, se o conectamos nos buses, as patillas quedarían conectadas dúas a dúas e o compoñente cortocircuitado.
if (condición)
{
// execútase se a condición se cumpre
}
else
{
// execútase se a condición non se cumpre
}
!=: distinto de
<: menor que
>: maior que
<=: menor ou igual que
>=: maior ou igual que