Conexión De Matlab Con Proteus Mediante Puerto Serial

Páginas: 18 (4368 palabras) Publicado: 30 de septiembre de 2011
INFORME TRABAJO # 5
1. DESCRIPCIÖN (ABSTRACT)
En el presente trabajo práctico desarrollamos el control del puerto serial mediante MATLAB, y crearemos una conexión con el circuito de “Proteus” para enviar comandos desde un GUIDE de Matlab y mover los motores del circuito con el circuito ATMEGA 16.

2. CIRCUITOS
Los elementos que utilizamos son:

ATMEGA 16:

Donde configuraremosel elemento P1 con la entrada COM3 del puerto serial.

3. PROGRAMA

Luego de analizar la librería serialtext.c del circuito, y saber cuales son los parámetros que recibe el circuito, podemos conocer que datos pasaremos desde el GUIDE de Matlab.

case '0': { pos=100; break;}
case '1': { pos=300; break;}
case '2': { pos=500; break;}
case '3': { pos=700;break;}
case '4': { pos=900; break;}
case '5': { pos=1100; break;}
case '6': { pos=1300; break;}
case '7': { pos=1500; break;}
case '8': { pos=1700; break;}
case '9': { pos=1800; break;}

case '*': { posy++; if(posy>2000) {posy=2000;} break;}
case '/': { posy--; if(posy<100) {posy=100;} break;}
case 'A': {posy=100; break;}
case 'B': { posy=300; break;}
case 'C': { posy=500; break;}
case 'D': { posy=700; break;}
case 'E': { posy=900; break;}
case 'F': { posy=1100; break;}
case 'G': { posy=1300; break;}
case 'H': { posy=1500; break;}
case 'I': { posy=1700; break;}
case 'J': { posy=1800; break;}
}
Luego, debemos utilizaruna seccion de codigo necesaria en Matlab para habilitar y conectarnos al puerto serial, esa línea de código es la siguiente:
PS=serial('COM2');
set(PS,'Baudrate',9600); % se configura la velocidad a 9600 Baudios
set(PS,'StopBits',1); % se configura bit de parada a uno
set(PS,'DataBits',8); % se configura que el dato es de 8 bits, debe estar entre 5 y 8
set(PS,'Parity','none'); % seconfigura sin paridad
set(PS,'Terminator','CR/LF');% “c” caracter con que finaliza el envío
set(PS,'OutputBufferSize',2); % ”n” es el número de bytes a enviar
set(PS,'InputBufferSize' ,2); % ”n” es el número de bytes a recibir
set(PS,'Timeout',5); % 5 segundos de tiempo de espera

Y también utilizaremos las siguientes líneas de código que nos servirán para abrir el puerto y cerrarlo.fopen(PS);

fclose(PS);
delete(PS);
clear PS;

Ya conociendo esto, escribiremos el codigo para el programa utilizando una distribución de botones:

function varargout = serialtestfile(varargin)
% SERIALTESTFILE M-file for serialtestfile.fig
% SERIALTESTFILE, by itself, creates a new SERIALTESTFILE or raises the existing
% singleton*.
%
% H = SERIALTESTFILE returns thehandle to a new SERIALTESTFILE or the handle to
% the existing singleton*.
%
% SERIALTESTFILE('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in SERIALTESTFILE.M with the given input arguments.
%
% SERIALTESTFILE('Property','Value',...) creates a new SERIALTESTFILE or raises the
% existing singleton*. Starting from the left,property value pairs are
% applied to the GUI before serialtestfile_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to serialtestfile_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE,GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help serialtestfile

% Last Modified by GUIDE v2.5 24-Sep-2011 06:38:29

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @serialtestfile_OpeningFcn, ......
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Como realizar conexion puerto serial c#
  • conexiones de perifericos por puerto serial usb
  • Puerto Serial
  • El Puerto Serial
  • Puertos seriales
  • Conexion Serial- Basico
  • Puerto serial y languaje c
  • Puertas Seriales RS 232

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS