Código Explicado Motor

6
Andrés Felipe Molina Cruz Cód. 11161211110 Ing. de sistemas Código explicado motor #include <Keypad.h> // Al trabajar con Arduino debemos colocar cierta ayuda para que el programa nos entienda, a esto se le llama librería, 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 número 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 información que posee y desarrolla), además 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 número de columnas (hacia abajo) del teclado matricial. char keys[ROWS][COLS] = { {'1','4','7','*'}, {'2','5','8','0'}, {'3','6','9','#'},

description

Documento explicando el ciclo de un motor en arduino

Transcript of Código Explicado Motor

Page 1: Código Explicado Motor

Andrés Felipe Molina Cruz Cód. 11161211110 Ing. de sistemas

Código explicado motor

#include <Keypad.h> // Al trabajar con Arduino debemos colocar cierta ayuda para que el programa nos entienda, a esto se le llama librería, 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 número 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 información que posee y desarrolla), además 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 número 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 instrucción 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 relación e 2) el valor correspondiente del teclado.

byte rowPins[ROWS] = {5, 4, 3, 2}; // Aquí la instrucción se da en byte y le dijo que a las variables de filas les asigne otro valor diferente cuando oprimo el teclado y el

Page 2: Código Explicado Motor

computador asuma esos valores, aquí les dimos valores consecutivos de números.

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 instrucción 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 habríamos podido hacer sin la librería 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 contraseña 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 instrucción 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 contraseña explícitamente al usuario

pinMode(motorPin, OUTPUT); } // Aquí se le dice al Arduino que donde tenga conectado el motor me haga una instrucción.

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

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

Page 3: Código Explicado Motor

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

if (key){ if (key!='*'){ clave[i] = key; // Esta es una instrucción de si o no, si pasa una acción especifica se ejecuta una instrucción en específico, si pasa lo contrario se ejecuta otra instrucción

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 término lo que digito el usuario frente a la contraseña de la computadora

Serial.println("\ Password correcto!"); // Si es equivalente la clave me ejecuta la instrucción 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);

Page 4: Código Explicado Motor

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.

Page 5: Código Explicado Motor

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 contraseña

{

Serial.println("\ Intentalo otra vez Password equivocado!");

} break;

}

}