You are on page 1of 5

Andrs Felipe Molina Cruz Cd. 11161211110 Ing.

de sistemas
Cdigo explicado motor
#include <Keypad.h> // Al trabajar con Arduino debemos colocar cierta ayuda
para que el programa nos entienda, a esto se le llama librera, esta ayuda traduce
que vamos a trabajar con un teclado en el programa.
//Como todo lenguaje de computador debemos decir que necesitamos para hacer
que el programa funcione, para eso se crean las variables, las variables son
objetos que necesita el computador para entender que es lo que estamos
hacienda, eso es lo primero que se hace.
int motorPin = 10; // Esta es una variable llamada motor que utilizamos para que
entienda que existe un motor a utilizar, se declara como un entero o un nmero
que es exacto, que no tiene comas, y le damos un valor correspondiente a 10.
const byte ROWS = 4; // Esta es una variable que es constante o que no cambia
cuando ejecutemos el programa y lo manejamos como un byte (un byte es con lo9
que mide el computador la informacin que posee y desarrolla), adems aqu se
crea la fila de 4 espacios, esto es debido a que el teclado consta de esa
particularidad.
const byte COLS = 4; // Aqu se define igual que la consigna anterior solo que
aqu se define el nmero de columnas (hacia abajo) del teclado matricial.
char keys[ROWS][COLS] = {
{'1','4','7','*'},
{'2','5','8','0'},
{'3','6','9','#'},
{'A','B','C','D'} }; // A esto le llamamos instruccin porque hay varias rdenes a
ejecutar, es una orden donde asignamos a las filas y a las columnas los valores
que tienen cada una ya que el computador piensa que no hay nada ah, le
asignamos a la primera fila en la primera columna ( en una relacin e 2) el valor
correspondiente del teclado.

byte rowPins[ROWS] = {5, 4, 3, 2}; // Aqu la instruccin se da en byte y le dijo que


a las variables de filas les asigne otro valor diferente cuando oprimo el teclado y el

computador asuma esos valores, aqu les dimos valores consecutivos de


nmeros.
byte colPins[COLS] = {9, 8, 7, 6}; //Aqu es exactamente igual pero se la aplicamos
a las columnas.

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS );


// Esta es una instruccin importante porque aqu estamos igualando los valores
de las filas y columnas del teclado con las instrucciones ordenadas al computador
y sus valores, esto no lo habramos podido hacer sin la librera correcta por eso es
importante definirla.

int i=0; // definimos una variable i que empiece en 0 para controlar un proceso.
char clave[4]; // Aqu creamos una variable llamada clave que me consiguen cuatro
valores
char password[4] = {'1','2','3','4'}; // Aqu le asignamos una contrasea que en
reconocer solo el computador.

void setup(){ // A esto se le llama funcion, nos permite ejecutar las ordenes en un
orden dado como dando instrucciones
Serial.begin(9600); // Le decimos que vamos a empezar una interfaz
Serial.println("Oprima * paraverificar el Password"); // esto es una instruccin
dirigida al que lea el programa, y se le pide que oprima * para que entre la clave y
pueda verificar
Serial.print("Ingrese el Password: "); // Se le pide la contrasea explcitamente al
usuario
pinMode(motorPin, OUTPUT); } // Aqu se le dice al Arduino que donde tenga
conectado el motor me haga una instruccin.

void loop(){ // Una function que me ejecuta el programa principal


char key = keypad.getKey(); // variable llave relacionada con el teclado

delay(100); // traduce retardo o el tiempo que se demora en pasar a otra


instruccin
if (key){ if (key!='*'){ clave[i] = key; // Esta es una instruccin de si o no, si pasa una
accin especifica se ejecuta una instruccin en especfico, si pasa lo contrario se
ejecuta otra instruccin
Serial.print(clave[i]);} ++i; // Aqu le dijo que me recuerde la clave que digito el
usuario
if (i>4){i=0; // Aqu me dice que si la clave es mayor a cuatro que la escaba de
nuevo
Serial.println("");}}
char input = key; switch (input){ // Aqu ya me ley la clave correctamente
case '*': // ESTO ES UNA FUNCION QUE NOS DICE SI PASA ESTO HAGA
ESTO, en este caso nos dice que hacer si se presiona *.
if(clave[0]==password[0] && clave[1]==password[1] && clave[2]==password[2] &&
clave[3]==password[3]) { // Una function comparadora, nos dice que compare
termino a trmino lo que digito el usuario frente a la contrasea de la computadora
Serial.println("\ Password correcto!"); // Si es equivalente la clave me ejecuta la
instruccin y me dice el mensaje ah escrito
Serial.println("\tVelocidad 1 "); // Aqu nos dice la velocidad a la que se mueve el
motor
analogWrite(motorPin,50); // Le decimos al motor que en esa velocidad gire a una
frecuencia dada y empiece a aumentar
delay(5000);
Serial.println("\tVelocidad 2 "); ); // Le decimos al motor que en esa velocidad gire a
una frecuencia dada y empiece a aumentar

analogWrite(motorPin,100); ); // Le decimos al motor que en esa velocidad gire a


una frecuencia dada y empiece a aumentar

delay(5000);

Serial.println("\tVelocidad 3 "); ); // Le decimos al motor que en esa velocidad gire a


una frecuencia dada y empiece a aumentar

analogWrite(motorPin,150); ); // Le decimos al motor que en esa velocidad gire a


una frecuencia dada y empiece a aumentar
delay(5000);
Serial.println("\tVelocidad 4 "); ); // Le decimos al motor que en esa velocidad gire a
una frecuencia dada y empiece a aumentar
analogWrite(motorPin,200);
delay(5000);
Serial.println("\tVelocidad 5 "); ); // Le decimos al motor que en esa velocidad gire a
una frecuencia dada y empiece a aumentar
analogWrite(motorPin,255);
delay(5000);
Serial.println("\tVelocidad 4 "); ); // Le decimos al motor que en esa velocidad gire a
una frecuencia dada y empiece a disminuir.
analogWrite(motorPin,200);
delay(5000);
Serial.println("\tVelocidad 3 "); // Le decimos al motor que en esa velocidad gire a
una frecuencia dada y empiece a disminuir.
analogWrite(motorPin,150);
delay(5000);
Serial.println("\tVelocidad 2 "); // Le decimos al motor que en esa velocidad gire a
una frecuencia dada y empiece a disminuir.
analogWrite(motorPin,100);
delay(5000);
Serial.println("\tVelocidad 1 "); // Le decimos al motor que en esa velocidad gire a
una frecuencia dada y empiece a disminuir.

analogWrite(motorPin,50);
delay(5000);
analogWrite(motorPin,0); // Le decimos al motor que en esa velocidad gire a una
frecuencia dada y empiece a disminuir.
}
else // Este es el caso en que no coincide la clave y la contrasea
{
Serial.println("\ Intentalo otra vez Password equivocado!");
} break;
}
}

You might also like