Sie sind auf Seite 1von 4

Proteus Design Suite es software de automatizacin de diseo electrnico,

desarrollado por Labcenter Electronics Ltd., que consta de los dos programas
principales: Ares e Isis, y los mdulos VSM y Electra.
ISIS
El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de
Esquemas Inteligente) permite disear el plano elctrico del circuito que se desea
realizar con componentes muy variados, desde simples resistencias, hasta alguno que
otro microprocesador o microcontrolador, incluyendo fuentes de alimentacin,
generadores de seales y muchos otros componentes con prestaciones diferentes.
Los diseos realizados en Isis pueden ser simulados en tiempo real, mediante el
mdulo VSM, asociado directamente con ISIS.
El mdulo VSM
Una de las prestaciones de Proteus, integrada con ISIS, es VSM, el Virtual System
Modeling (Sistema Virtual de Modelado), una extensin integrada con ISIS, con la cual
se puede simular, en tiempo real, con posibilidad de ms rapidez; todas las
caractersticas de varias familias de microcontroladores, introduciendo nosotros
mismos el programa que controlar el microcontrolador y cada una de sus salidas, y a
la vez, simulando las tareas que queramos que lleve a cabo con el programa. Se
pueden simular circuitos con microcontroladores conectados a distintos dispositivos,
como motores elctricos, pantallas de cristal lquido (LCD), teclados en matriz, etc.
Incluye, entre otras, las familias de microcontrolador PIC, tal como PIC10, PIC12,
PIC16, PIC18, PIC24 y dsPIC33. ISIS es el corazn del entorno integrado Proteus.
Combina un entorno de diseo de una potencia excepcional con una enorme
capacidad de controlar la apariencia final de los dibujos.
ARES
ARES, o Advanced Routing and Editing Software (Software de Edicin y Ruteo
Avanzado); es la herramienta de enrutado, ubicacin y edicin de componentes, se
utiliza para la fabricacin de placas de circuito impreso, permitiendo editar
generalmente, las capas superficiales (Top Copper), y de soldadura (Bottom Copper).
Simulacin
La simulacin a usar en proteus es como funciona un ascensor con sus respectivos
componentes

-Arduino UNO
-Motor DC (de preferencia el que tenga la impresora)
-Puente H (L293D)
-Una resistencia
-Una fuente de corriente independiente de 9v

Los dos cables que sobresalen del protoboard sern colocados dos barras de metal:
1. Se puede ver un cable plomo (+) este est conectado a una barra metlica que
tiene aislante a excepcin de los lugares donde debera de estar algn piso,
2. El cable violeta (-) est conectado a la otra barra la cual pasa por el arduino y
luego a una resistencia que da al negativo.
Lo que har bsicamente es con el motor subir el elevador y cuando este en un piso
se detenga con solo en flujo de corriente de las barras porque por debajo del elevador
estar un cable que actuara como puente entre las dos barras.
Negativo
Positivo

Positivo

Negativo

Piso 2

Piso 1

El cdigo en arduino
//Motor
int LeftPin=2;
int RightPin=3;
//Pisos
int con=0;
//Piso actual
int act=1;
//Piso destino
int nue=0;
//Sensor para detectar los pisos
const int buttonPin = 8;
int buttonState = 0;
void setup(){
Serial.begin(9600);
pinMode(LeftPin,OUTPUT);
pinMode(RightPin,OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
if (Serial.available()!=0) {
//Ingresar nuevo piso
nue=Serial.read();
Serial.println(nue, DEC);
//Si el elevador se va a mover
if (nue!=0){
//Operaciones para detectar el nuevo nivel
//y saber cuantos pulsos (pisos) omitir para llegar
//al destino
con=nue-act;
act=nue;
nue=0;
//En el caso de bajar
if (con<0){
//Convertir el resultado a positivo
con*=-1;
//Echar a andar el motor
digitalWrite(LeftPin,HIGH);
digitalWrite(RightPin,LOW);
delay(100);
}
//En el caso de subir
else{
if (con>0){
//Echar a andar el motor
digitalWrite(LeftPin,LOW);
digitalWrite(RightPin,HIGH);
delay(700);

}
}
}
}
//Si aun no se llega al destino
if (con!=0){
//Esperar pulso (piso)
buttonState = digitalRead(buttonPin);
//Se detecta el pulso
if (buttonState == HIGH) {
//Restar uno al contador
con--;
//Es el destino? detener motor
if(con<=0){
digitalWrite(LeftPin,LOW);
digitalWrite(RightPin,LOW);
}
//Dar tiempo para omitir el pulkso y sebir subiendo/bajando
else{
delay(100);
}
}
}
}//Fin del loop

Das könnte Ihnen auch gefallen