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 arduino mega
- 1 pantalla lcd
- 1 potenciometro de 1k
- 1 computador
- 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