miércoles, 18 de octubre de 2017

Servomotor + Teclado

Unidad Educativa Particular Politécnica

                                       10mo B - 4 to año PAI                                        Servomotor + Teclado

Nombre : Jorge Emilio Pazmiño

Ene este blog voy a hablar acerca de como hice que el el servomotor y el taclado funcionaran al mismo tiempo.
Primero hice las conexiones como se muestra en la figura de abajo 
Luego inserte el código en Code Editor
y luego presione A,B,C para que el servomotor se moviera como yo le ordeno.
Así es como queda la conexión del servomotor, el lcd, el teclado:


Este fue el código que utilizamos para poder hacer que el servomotor, el lcd, y el teclado funcionaran al mismo tiempo.
#include <Keypad.h>
#include <LiquidCrystal.h>
#include <Servo.h>

LiquidCrystal lcd(14, 15, 16, 2, 3, 4); //    ( RS, EN, d4, d5, d6, d7)
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

int col=0 ;
const byte Filas = 4;     //Cuatro filas
const byte Cols = 4;    //Cuatro columnas

byte Pins_Filas[] = {12, 11, 10, 19};  //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);

void setup()
{   Serial.begin(9600) ;
lcd.begin(16, 2); // Fijar el numero de caracteres y de filas
       lcd.print("Hola 33"); // Enviar el mensaje
       myservo.attach(17);  // attaches the servo on pin 17 to the servo object 
}

void loop()
{   char pulsacion = Teclado1.getKey() ; 
    if (pulsacion != 0)     // Si el valor es 0 es que no se ha pulsado ninguna tecla
    {     
     lcd.setCursor(col, 0);  // set the cursor to column 0, line 1
     lcd.print(pulsacion);  // print the number of seconds since reset:
     col=col+1;
     myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(2000);2 segundos                      // waits 15ms for the servo to reach the position   
    if(pulsacion=='A')
    {pos=0;}
    if(pulsacion=='B')
     {pos=90;}
    if(pulsacion=='C')
     {pos=180;}
    
    }
}
En conclusión en esta clase aprendí como hacer que el servomotor y el teclado funcionaran de tal modo que si presiono una letra esta va a hacer que el servomotor se mueva a 180 °

No hay comentarios:

Publicar un comentario