Você está na página 1de 18

FACULTAD DE INGENIERIA ELECTRÓNICA, ELÉCTRICA Y

TELECOMUNICACIONES

CURSO: Lenguaje de Programación

INTEGRANTES:

- Castañeda Córdova Gianfrank Rodolfo 17190252

- Usandivares Solis Daniel 17190095

- Carhuarica Enciso Luis Antonio 17190250

- Vicuña Moya Renzo Marcelo 17190221

PROFESOR: Ing. Carlos Moreno Paredes

PROYECTO: R2D2(robot) controlado por Dev c++

AÑO: 2018
DEV- C++
El Dev-C++, es un IDE para crear aplicaciones utilizando el lenguaje de programación C++, que
ocupa muy poco tamaño en el disco duro, ideal para crear programas pequeños en las que solo sea
necesario demostrar el uso de estructuras de control y estructuras de datos, estas aplicaciones se
pueden compilar rápidamente y ejecutar en forma de consola.

Dev-C++ es un compilador y entorno de desarrollo para el lenguaje C/C++. Se trata de una


aplicación de código abierto, que ofrece todo tipo de facilidades para desarrollar grandes proyectos
en C++. La aplicación presenta resaltado de sintaxis, depurador, una utilidad para crear
instalaciones de nuestros programas, docenas de librerías y ficheros de ejemplo, etc. Como
opciones extra, Dev-C++ incluye múltiples idiomas (incluido el español), explorador de clases
y variables, plantillas, facilidad para instalar librerías adicionales, etc. Todo esto sólo es una pequeña
parte de las posibilidades que se pueden encontrar en Dev-C++, un entorno de programación
verdaderamente recomendable para desarrolladores de cualquier nivel.
Entre otras ventajas desde el punto de vista técnico se puede señalar, que permite importar los
proyectos realizados anteriormente en MS Visual C++, se puede exportar código fuente o proyectos
a HTML o RTF para subir códigos a páginas Web y compartirlos, se pueden insertar marcadores en
el editor para desplazarse en el código rápidamente, cada usuario puede crear su propia sintaxis
coloreada, se puede configurar el menú insertar para colocar los fragmentos de código que mas uno
utilice, permite insertar nuevos compiladores para compilar códigos fuente, tiene una potente
característica de autocompletar texto que permite aumentar la productividad al sugerir los comandos
disponibles en el contexto en que uno se encuentra programando, tiene un explorador de clases que
muestra las clases, miembros y funciones y por otro lado la información relevante al archivo
mostrado en el editor, se pueden añadir carpetas personales en el explorador de clases para
encontrar lo que se busca en los grande proyectos, se puede guardar un proyecto como una plantilla
de esta forma se puede comenzar a programar con una base en función a sus necesidades.

Características
Sus principales características son las siguientes:

 Uso del compilador MinGW (Minimalist GNU for Windows).


 Práctico editor de código con coloreado de sintaxis, opciones de búsqueda, reemplazar gran
cantidad de opciones de configuración para personalizar el compilador, el entorno o el propio
editor.
 Inserción de marcadores y puntos de ruptura.
 Uso de atajos de teclado.
 Posibilidad de añadir, editar o eliminar herramientas.
 Selección de diferentes temas para la interfaz.

2
Ventajas que presenta:

 Es un editor muy completo.


 Tiene multitud de utilidades en paralelo.
 Incluye bibliotecas, librerías DLL y plantillas.
 Tiene incorporado ayuda en varios idiomas.

Desventajas:

 Es más pesado que otros programas similares.

3
PUERTO PARALELO
El puerto paralelo se encuentra en la parte posterior de las computadoras, es una ranura de 25-pines
(tipo DB-25) que sirve para conectar un dispositivo externo, como una impresora. Paralelo significa
que el dispositivo es capaz de recibir más de un bit a la vez, es decir, que recibe varios bits en
paralelo.8 líneas (pines) son para salida de datos (bits de DATOS). Sus valores son
únicamente modificables a través de software, y van del pin 2 (dato 0, D0) al pin 9 (dato 7, D7). 5
líneas son de entrada de datos (bits de ESTADO), únicamente modificables a través del hardware
externo. Estos pines son: 11, 10, 12, 13 y 15, del más al menos significativo. 4 líneas son de control
(bits de CONTROL), numerados del más significativo al menos: 17, 16, 14 y 1.

Habitualmente son salidas, aunque se pueden utilizar también como entradas y, por tanto, se
pueden modificar tanto por software como por hardware. Las líneas de la 18 a la 25 son la tierra.

La transmisión de datos paralela consiste en enviar datos en forma simultánea por varios canales
(hilos). Los puertos paralelos en los PC pueden utilizarse para enviar 8 bits (un octeto)
simultáneamente por 8 hilos.

Los primeros puertos paralelos bidireccionales permitían una velocidad de 2,4 Mb/s. Sin embargo,
los puertos paralelos mejorados han logrado alcanzar velocidades mayores

4
Los puertos paralelos podrían ser divididos en cuatro tipos:
-Unidireccional (4bits).
-Bidireccional (8 bits).
-Puerto paralelo extendido (EPP).
-Puerto paralelo con capacidades extendidas (ECP)

 Puerto paralelo unidireccional (4 bits)


El único puerto paralelo disponible en la IBM-PC original era usado para enviar información de la
computadora a un dispositivo, tal como la impresora. La naturaleza unidireccional del puerto paralelo
original es porque su uso primario era enviar datos a la impresora. Aunque nunca había sido
utilizado como puerto de entrada, había un esquema donde 4 de las líneas podían ser usadas como
una conexión de entrada de 4 bits. Los puertos unidireccionales son capaces de transmitir
velocidades de aproximadamente 40-60 Kbytes por segundo

 Puerto paralelo bidireccional (8 bits)


Fue introducido en 1987 con la entrada de las computadoras PS/2 de IBM. Estos puertos pueden
enviar y recibir 8 bits utilizando las 8 líneas estándar de datos y son considerablemente más rápidos
que los puertos de 4 bits. Su velocidad está entre los 80 y 300 Kbytes / Seg.

 Puerto paralelo extendido (EPP)


Opera casi a la velocidad del bus ISA y ofrece un incremento de hasta 10 veces la velocidad de
transmisión sobre un puerto paralelo convencional. El EPP es específicamente diseñado para
periféricos del puerto paralelo tales como adaptadores de red, unidades de disco externas, unidades
de cinta, scanners etc. Su velocidad de transferencia está entre 1 y 2 Mbytes / seg.

 Puerto paralelo con capacidades extendidas (ECP)


Desarrollado por Microsoft y HP. Como el EPP, el ECP ofrece un mayor rendimiento para el puerto
paralelo. No como el puerto EPP, el ECP no está hecho para soportar periféricos portátiles para las
PC’s, su propósito es soportar una conexión a impresoras de muy alto rendimiento.

5
MATERIALES A UTILIZAR EN LA ESTRUCTURA DEL PROYECTO

 4 Motores (3v-12v)

 Silicona

 Corrospun

 Jumpers

 Bateria 9v - Portabateria

 Pilas - Portapilas

 2 Integrado L298N (puente h)

 Cable puerto paralelo

 carril metálico

 Superglue

 Envase de tacho pequeño

 Cartulinas

 Ruedas 3

6
SIMULACION DEL SOFTWARE INTEGRADO L298N CON
EL PUERTO PARALELO

 PIN 2: Color rojo


 PIN 3: Color naranja
 PIN 4: Color rosado
 PIN 5: Color amarillo
 PIN 6: Color verde
 PIN 7: Color verde claro
 PIN 15: Color naranja con franja blanca
 PIN 25: Color negro con franja blanca

7
PROGRAMACION – R2D2- EN DEV C++
#include<conio.h>
#include<iostream>
#include<windows.h>
using namespace std;
//ESTE CODIGO ES NECESARIO PARA USAR EL
COMANDO 'gotoxy'...
void gotoxy(int x, int y)
{
HANDLE hcon = GetStdHandle
(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y = y;
SetConsoleCursorPosition(hcon, dwPos);

typedef short _stdcall (*inpfuncPtr)(short portaddr);


typedef void _stdcall (*oupfuncPtr)(short portaddr, short
datum);

8
//.
int main(void)
{
//ESTE CODIGO ES NECESARIO PARA USAR EL
ARCHIVO 'inpout32.dll' PARA QUE FUNCIONE EL PUERTO
PARALELO...

HINSTANCE hLib;
inpfuncPtr inp32;
oupfuncPtr oup32;

/* Load the library */


hLib = LoadLibrary("inpout32.dll");

if (hLib == NULL) {
printf("LoadLibrary Failed.\n");
return -1;
}
oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");

9
if (oup32 == NULL) {
printf("GetProcAddress for Oup32 Failed.\n");
return -1;
}
//.
//AQUI EMPIEZA EL CODIGO PRINCIPAL

oup32(0x378,0);
//TODOS LOS PINES DE SALIDA EN 0 = APAGADOS

system("cls"); //LIMPIAR
PANTALLA

gotoxy(25,2);cout<<"PROGRAMA DE CONTROL DEL


R2D2";
gotoxy(25,3);cout<<"****************************";

gotoxy(23,6);cout<<"PRESIONE UNA TECLA";

gotoxy(23,9) ; cout<<"[W] ADELANTE ";


gotoxy(23,10); cout<<"[A] IZQUIERDA ";

10
gotoxy(23,11); cout<<"[D] DERECHA ";
gotoxy(23,12); cout<<"[S] ATRAS ";

gotoxy(23,13); cout<<"[8] BRAZOS HACIA


ADELANTE ";
gotoxy(23,14); cout<<"[2] BRAZOS HACIA
ATRAS ";
gotoxy(23,15); cout<<"[4] CABEZA: GIRO
HORARIO ";
gotoxy(23,16); cout<<"[6] CABEZA: GIRO
ANTIHORARIO ";

gotoxy(23,20); cout<<"[SPACE] DETENER ";


gotoxy(23,25); cout<<"[ENTER] SALIR";

cout<<endl<<endl;

//LLANTA IZQUIERDA: PIN 1(ADELANTE) Y PIN


2(ATRAS)

11
//LLANTA DERECHA: PIN 3(ADELANTE) Y PIN
4(ATRAS)
//oup32(SALIDA); ES EL PUERTO PARALELO ------->
(0x378,*) <------------ SE COLOCA EN '*' (EN SISTEMA
DECIMAL) PIN O LOS PINES POR LOS QUE SE DESEA
MANDAR EL IMPULSO(BITS)

char tecla;
while(1)
{

tecla=getch();

tecla=toupper(tecla); //CONVERTIR
EL VALOR DE LA TECLA A MAYUSCULA

if(tecla=='W')
{
oup32(0x378,5); //Pin 1 y Pin
3 = 00000101(EN SISTEMA BINARIO) = 5(EN SISTEMA
DECIMAL) = AVANZAR
}

12
if(tecla=='S')
{
oup32(0x378,10);
//Pin 2 y Pin 4 = 00001010 RETROCEDER
}

if(tecla=='A')
{
oup32(0x378,4);
//Pin 3 = 00000100 GIRAR A LA IZQUIERDA
}

if(tecla=='D')
{
oup32(0x378,1);
//pin 1 = 00000001 GIRAR A LA DERECHA
}

if(tecla==' ')
{
oup32(0x378,0);
//TODOS LOS PINES EN 0 = 00000000 DETENER

13
}

if(tecla== 13)
//EL VALOR DEL 'ENTER' ES '13'
{
oup32(0x378,0);
//tODOS LOS PINES EN 0 = 00000000
cout<<"Saliendo del programa...";
break;
//SALIR DEL PROGRAMA
}

if(tecla=='8')
{
oup32(0x378,16);
//pin 5 = 00010000 BRAZOS HACIA ADELANTE

if(tecla=='2')
{

14
oup32(0x378,32); //pin 6 =
00100000 BRAZOS HACIA ATRÀS
}

if(tecla=='4')
{
oup32(0x378,64);
//pin 7 = 01000000 CABEZA: GIRO HORARIO
}

if(tecla=='6')
{
oup32(0x378,128);
//pin 8 = 10000000 CABEZA: GIRO ANTIHORARIO
}
}

15
REALIZACION DEL PROYECTO POR LOS INTEGRANTES

16
17
18

Você também pode gostar