Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Propósito de la práctica:
Con intención de simular una “caja fuerte” crearemos una caja con un cerrojo controlado por
unos pulsadores externos y una contraseña.
Montaje:
Julio 2014
1/5
Tecnocampus de Verano Guadatech 2014 Carlos Hernández Cáceres
Código fuente:
#include <Servo.h>
void setup()
{
servo1.attach(11); // Seleccionamos el pin 11 como el pin de control para el servo
Serial.begin(9600);
pinMode(ledPinRed, OUTPUT);
pinMode(ledPinGreen, OUTPUT);
Julio 2014
2/5
Tecnocampus de Verano Guadatech 2014 Carlos Hernández Cáceres
pinMode(colPins[column], OUTPUT);
digitalWrite(colPins[column], HIGH);
}
void loop()
{
char key=getkey();
if (key != 0)
{
if (key =='g');
{
posicionServo = 700;
posicionServo = map(posicionServo, 0, 1023, 0, 179);
servo1.write(posicionServo);
delay(150);
}
posicion = compruebaClave(key, posicion);
Serial.println(key);
if (posicion==4)
{
Serial.print("Abierto!");
tone(speakerPin,1000);
blink(ledPinGreen,300);
posicionServo = 100; // Establecemos el valor de la posicion a 0º
posicionServo = map(posicionServo, 0, 1023, 0, 179); // Establecemos la relacion entre los grados de giro y el
PWM
/* Con el mapa de valores anterior establecemos una relacin proporcional */
/* entre el pulso minimo 0 con el grado minimo, 0 tambien y el pulso maximo*/
/* 1023 con el grado maximo, 179*/
servo1.write(posicionServo); // Escribimos la posicion con el mapa de valores al servo
delay(150); // Y le damos un tiempo para que sea capaz de moverse
// Devuelve un char con la tecla que se ha pulsado, o cero en caso que nada se haya presionado
char getkey()
{
char key = 0;
for (int row = 0; row < numRows; row++) // Escanea todas las filas para ver las teclas pulsadas
{
if ( digitalRead(rowPins[row]) == LOW)
{
Julio 2014
3/5
Tecnocampus de Verano Guadatech 2014 Carlos Hernández Cáceres
return key;
}
Julio 2014
4/5
Tecnocampus de Verano Guadatech 2014 Carlos Hernández Cáceres
Explicación:
Se ha introducido en una caja de cartón el Arduino Uno, la protoboard con los leds y el
buzzer, el servo y todo el cableado, dejando fuera solo el KeyPad. Se ha realizado una ranura en la
caja de cartón que servirá como cierre al introducirse la patilla del servo y se han perforado dos
agujeros para ver los leds rojo y verde.
Funcionamiento:
La caja se cierra pulsado la tecla 'g' en la posición [4,4] del KeyPad (esquina inferior
derecha).
Ahora la “caja fuerte” se encuentra armada, y para desactivarla se debe introducir una clave
de 4 dígitos mediante el KeyPad externo.
Al pulsar uno de los Button se iluminará el led verde si se ha acertado y el led rojo si se ha
fallado.
La contraseña correcta deberá pulsarse bien seguida, cada vez que se falle se debe volver a
comenzar.
Cuando se haya introducido la contraseña correcta se activará el Servo y se abrirá el cerrojo,
pudiendo abrir entonces la caja.
Para volver a cerrar el cerrojo desde fuera se volverá a pulsar la tecla 'g'.
Julio 2014
5/5