miércoles, 29 de noviembre de 2017

avance 4


En la clase de hoy hicimos el ultimo avance de la conexión y programación de los circuitos del barco. Con la ayuda de la Miss, acabamos de hacer la programación del LCD. Nos dio un poco de trabajo porque tenemos uno distinto a los comunes. Acabamos de hacer la programacion del teclado y últimos detalles y códigos del servomotor. Le pusimos el delay y las vueltas que debe hacer con los siguientes códigos: 

LCD:
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x27 y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x2F,16,2);  //

void setup() {
  // Inicializar el LCD
  lcd.init();
  
  //Encender la luz de fondo.
  lcd.backlight();
  
  // Escribimos el Mensaje en el LCD.
  lcd.print("Hola Mundo");
}

void loop() {
   // Ubicamos el cursor en la primera posición(columna:0) de la segunda línea(fila:1)
  lcd.setCursor(0, 1);
   // Escribimos el número de segundos trascurridos
  lcd.print(millis()/1000);
  lcd.print(" Segundos");
  delay(100);
}



Servomotor: 

#include <Keypad.h>
#include <Wire.h>
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x38,20,4);

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards
int rodar=0;
int pos = 90;    // 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, 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);

void setup()
{  lcd.init(); // Fijar el numero de caracteres y de filas
   lcd.setBacklight(LOW); // Enviar el mensaje
   lcd.print("Barco Pirata");
   myservo.attach(17);  // attaches the servo on pin 9 to the servo object
   myservo.write(pos);              // tell servo to go to position in variable 'pos'   
   Serial.begin(9600);
}
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, 1);  // set the cursor to column 0, line 1
       lcd.print(pulsacion);  // print the number of seconds since reset:
       col=col+1;       
  }  
  if(pulsacion=='A')
  {
    rodar=1;                              
  }
  if(pulsacion=='B')
  {
    rodar=0;                              
  } 
  
  if(rodar==1)
  { 
    myservo.write(0);              // tell servo to go to position in variable 'pos'
    delay(1000); 
    myservo.write(180);              // tell servo to go to position in variable 'pos'
    delay(1000);    
  }
  if(rodar==0)
  {
     myservo.write(90);
  }
  Serial.print(rodar);
}
Por ultimo colocamos parte de los circuitos en la maqueta y en la siguiente clase vamos a ver si ya implementado los circuitos dentro de la maqueta funciona para presentar el proyecto final.

No hay comentarios:

Publicar un comentario