viernes, 20 de octubre de 2017

Servomotor + Teclado



Nombre: Emilia Aroca Salazar.
Curso: 10mo A Georgia Tech.
Fecha: 20/10/17

Servomotor + Teclado


Materiales:
·         Servomotor.  
·         Teclado
·         Arduino
·         Resistencia
·         Potenciómetro
·         Cable macho-macho
·         Cables macho-hembra
·         LCD

Resultado de imagen para servomotor
Proceso:

Parte uno: CONECCIÓN:
1. Empezamos conectando cables macho-macho en los puertos del 5-13 en el Arduino, su otro extremo los colocamos en los puertos del teclado en su respectivo orden.

2. Luego cogemos cables macho-hembra, un extremo del primer cable en el puerto del teclado llamado D7 y su otro extremo va en puerto 4 del Arduino. El segundo cable tiene un extremo en el puerto D6 en el teclado y en el Arduino se conecta al puerto 3. Por último conectamos un cable macho-hembra a la conexión D5 al puerto 2 en el Arduino.

3. Hacemos lo mismo del punto anterior pero con los pares del teclado y el Arduino, (D3; A2) (E; A1) (RS; A0).

4. Colocamos nuestro potenciómetro en el lugar de nuestra preferencia.

5. Conectamos un cable el cual va a tener un extremo en un punto negativo.

Resultado de imagen para arduino6.  Con un cable macho-macho conectamos el puerto del LCD llamado VDD a un puerto positivo de nuestro protoboard, también hacemos la conexión entre el alambre del LCD llamado VSS a un puerto positivo, este puerto positivo debe estar debajo del punto en el cual conectamos el cable negativo de la primera pata de nuestro potenciómetro. El puerto con nombre RW del teclado va estar conectado a un punto negativo en el protoboard.

7.      Por ultimo conectamos el puerto VO con el punto debajo de la segunda pata, de izquierda a derecha, de nuestro potenciómetro.

8. Conectamos el cable de color cafe de nuetro servomotor a un puerto negativo en el protoboard, el cable rojo de nuestro servomotor, va encambio, a un puerto positivo del protoboard. Finalmente conectanos el cable anaranjado del servomotor al puerto llamado "A3" en el arduino. 

9. Paa finalizar esta etapa conectamos el extremo de un cable macho-macho en un punto positivo del protoboard y su otro extremo ira en el puerto con el nombre de "5V" en el arduino.


Parte dos: PROGRAMACIÓN:

Para programar el LCD+TECLADO+SERVOMOTOR hay que unir los comandos de cada uno de ello, pero no es unir por unir, debemos colocar cada comando de forma ordenada para que nuestra conexión funcione correctamente.


/*  ----------------------------------------------------------------
    Prog_19_1
    
    Leyendo un keypad de 4x4
--------------------------------------------------------------------  
*/

#include <Keypad.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(14, 15, 16, 2, 3, 4); //    ( RS, EN, d4, d5, d6, d7)
#include <Servo.h>

const byte Filas = 4;  //Cuatro filas
const byte Cols = 4;  //Cuatro columnas

byte Pins_Filas[] = {12, 11, 10, 9};  //Pines Arduino a los que contamos las filas.
byte Pins_Cols[] = { 8, 7, 6, 5};  // Pines Arduino a los que contamos las columnas.
char Teclas [ Filas ][ Cols ] = 
{
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

Keypad Teclado1 = Keypad(makeKeymap(Teclas), Pins_Filas, Pins_Cols, Filas, Cols);
Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup()
{   
   lcd.begin(16, 2); // Fijar el numero de caracteres y de filas
   lcd.print("Jhohnlock"); // Enviar el mensaje
   myservo.attach(17);
   }
void loop()
{   char pulsacion = Teclado1.getKey() ; 
  if (pulsacion != 0) // Si el valor es 0 es que no se ha pulsado ninguna tecla
     {
        lcd.setCursor(0, 1);  // set the cursor to column 0, line 1
       lcd.print(pulsacion);  // print the number of seconds since reset:
      if(pulsacion="A")
      (pos=90;)
      if(pulsacion=="B")
      (pos=180;)
       myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(2000);                         // waits 2s for the servo to reach the position
    pos=0;
     }
}







No hay comentarios:

Publicar un comentario

Bitácora: Avance 3:

Unidad Educativa Particular “Politécnico” 4to Año-10mo Grado “A” Nombre: Emilia Aroca Salazar.                                 ...