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.

avance 3

En la clase de hoy hicimos otro avance de la conexión de los circuitos en el proyecto, es decir, nuestro barco pirata. Hicimos la conexión del LCD con el Keypad, incluimos ciertas opciones y nos ayudamos por la practica de las conexiones anteriores en clase. Instalamos también el servomotor en el arduino. Usamos protoboard, cables macho - hembra y macho-macho, una resistencia y un potenciometro.
Tenemos pensado para la próxima clase incluir los códigos que ya están compilados, hacer ciertos arreglos en el código del LCD e instalar los leds en el barco con una resistencia y cables. Necesitaremos otra protoboard para instalarlos.