PRÁCTICA Nº 4
Lectura de un sensor de inclinación
Descripción del ejercicio
El sensor de vibración es un componente que puede detectar la inclinación de un objeto.
Sin embargo, no deja de ser un pulsador activado por un mecanismo físico diferente.
Este tipo de sensor es la versión ecológica de un interruptor de mercurio.
Contiene una bola metálica en su interior que conmuta los dos pines del dispositivo de encendido a apagado, y viceversa, si el sensor llega a un cierto ángulo.
El código de ejemplo es el mismo que se empleó para el ejemplo del pulsador, pero sustituyendo este último por el sensor de inclinación. Usamos una resistencia de pull-up (de esta manera usamos la "activación a nivel bajo" para activar los pines) y conectamos el sensor al pin de entrada digital que leeremos cuando lo necesitemos.
En la placa protoboard se ha utilizado una resistencia de 1K para montar la resistencia de pull-up y el sensor. Hemos elegido un sensor de inclinación de Assemtech. El hardware ha sido montado y la fotografía han sido hecha por Anders Gran. El código fuente pertenece a los ejemplos básicos de Arduino.
Elementos necesarios:
- Una resistencia de 1K Ohmios.
- Un sensor de inclinación Assemtech.
- Una placa protoboard.
- Cables para realizar las conexiones.
El esquema es el mismo que en el del ejemlo del pulsador
Imagen de una placa protoboard con un sensor de inclinaci�n, por Anders Gran
Código fuente
/* Sensor de Vibración
* -----------
*
* Detecta si el sensor ha sido inclinado o no y
* enciende la luz en consecuencia. Ten en cuenta que
* al utilizar la "activación a nivel bajo" (mediante
* una resistencia de pulls-up) la entrada se encuentra
* a nivel bajo cuando el sensor se activa.
*
* *
*/
int ledPin = 13; // PIN del LED
int inPin = 7; // PIN del pulsador
int value = 0; // Valor del pulsador
void setup() {
pinMode(ledPin, OUTPUT); // Inicializa el pin 13 como salida digital
pinMode(inPin, INPUT); // Inicializa el pin 7 como entrada digital
}
void loop() {
value = digitalRead(inPin); // Lee el valor de la entrada digital
digitalWrite(ledPin, value);
}
Comments (0)
You don't have permission to comment on this page.