miércoles, 4 de septiembre de 2013

LABORATORIO 10

En este laboratorio se desarrollara por medio del programa processing un interfaz textual la cual nos permitirá enviar mensajes desde el computador, hacia el sistema embebido arduino, este se encargara de procesar el mensaje para poder gratificarlo en una pantalla lcd, todo este proceso de comunicación se hará por medio de  una conexión serial entre el arduino y el computador. ademas se usara un potenciometro para controlar el contraste de la pantalla lcd y así manejar la visibilidad del mensaje.

MATERIALES

  1. 1 arduino mega
  2. 1 pantalla lcd
  3. 1 potenciometro de 1k
  4. 1 computador
  5. cables
DIAGRAMAS

DIAGRAMA DE MONTAJE EN PROTOBOARD 


DIAGRAMA ESQUEMÁTICO

DIAGRAMA PCB PARA MONTAJE EN TARJETA PERFORADA


FOTOS DEL PROCESO DE MONTAJE

foto 1

foto 2

foto 3



 foto 4


foto 5


foto 6

 CODIGO PROCESSING
// utilizar la libreria ControlP5

import controlP5.*;

import processing.serial.*;
// definir la variable cp5 del tipo ControlP5
ControlP5 cp5;
Serial serial; 
// el mensaje que deseamos mostrar en el LCD
String Msj = "";

// configuración inicial
void setup() {

  size(440, 140); // tamaño de la ventana
  noStroke();     // no dibujar el border de los circulos

  // crear el objeto ControlP5
  cp5 = new ControlP5(this);

  // crear un tipo de letra, y su tamaño
  PFont font = createFont("arial", 20);
  textFont(font);

  // crear un campo de texto para ingresar el mensaje
  cp5.addTextfield("Msj", 20,20, 400,40)
    .setFont(font)
    .setFocus(true)
    .setColor(color(255, 0, 0));

 String puerto = Serial.list()[0]; 
 serial = new Serial (this, puerto, 9600);
}

// dibujar cada frame
void draw()  
{
  background(0xFF444444);  // color gris del fondo
 text(Msj, 20, 100); // último mensaje "enviado"
}

// actuar cuando ocurra un evento con los Sliders
void controlEvent(ControlEvent theEvent) {
  // guardar el nombre y texto del evento
  String nombre = theEvent.getController().getName();
  String texto = theEvent.getController().getStringValue();
  // muestra en la consola los datos del evento
  println("evento: " + nombre + " / texto: "+texto);
  serial.write(nombre + "/" + texto);
}

CODIGO ARDUINO


#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
String texto=0;
int evento=0;

void setup() {
   Serial.begin(9600);
  lcd.begin(16, 2);

}

void loop() {
  if (Serial.available()>0)
  {delay(100);
  lcd.clear();
     texto = Serial.readString();
   
  lcd.setCursor(0, 0);
  lcd.print(texto );
  
  }
}







No hay comentarios:

Publicar un comentario