Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ivancea96

#1051
Primero creas un proyecto de C++.
Luego, agregas los archivos al proyecto. Para ello, puedes abrir los archivos con Code::Blocks, y dar click derecho sobre la pestaña de cada archivo -> Agregar al proyecto.

Una vez hecho eso, compilar. Para ello, antes, dale click derecho al proyecto en la barra de la izquierda -> Build options.
Ahí, verás una lista de checkboxes. Marca una que pone: "Have g++ use the C++11 ISO C++ language standar [-std=c++11]". Y compila.


Por cierto. En el main, hay unas opciones al principio:
Código (cpp) [Seleccionar]
/// OPTIONS
const uint32_t maxDigitalPin = 13;
const uint32_t maxPin = 19;
const string port = "\\\\.\\COM22";


Si usas Arduino UNO, deja las primeras como están.
El port, es donde está conectado el Arduino. Si abres el IDE de Arduino, abajo a la derecha te pone en cual está. Modifica el número (COM22 -> COM3, por ejemplo)
#1052
Vale, lo de Arduino listo.
Ahora los otros. Si usas un IDE para compilar C++, puedes crear un proyecto, agregar esos 5 archivos, y compilar, sin más.

Si no lo logras, dime: ¿Qué IDE utilizas para compilar C++? (No hablo del de Arduino)


Si compilas desde línea de comandos, sería (Con GCC, no sé cual es tu compilador):


g++ -std=c++11 -c functions.cpp -o functions.o
g++ -std=c++11 -c serial.cpp -o serial.o
g++ -std=c++11 -c main.cpp -o main.o
g++ functions.o serial.o main.o -o main.exe

#1053
Umh bueno. Hay la aprte de Arduino, que le metes al Arduino sin más:

https://github.com/ivancea/Arduino-Interpreter/blob/master/arduino_program.c

Y la parte de C++, que tienes que compilar. Si quieres, puedes usas un IDE, puedes hacer un proyecto, como más te guste.

El programa lo único que tiene es un intérprete de comandos, para poner cosas como:
pinmode 5 OUTPUT
digitalwrite 5 HIGH

Desde ls consola del programa, con el Arduino conectado.


Pero bueno, era más que nada para que vieras cómo implementar en tu proyecto la clase Serial (serial.h y serial.cpp).
Si quieres, aquí hay una fuente oficial en la cual usan la clase:
http://playground.arduino.cc/Interfacing/CPPWindows

Aunque bueno, no me gusta porque mezclan mucho C con C++ xD
#1054
Java / Re: JOptionPane mas parametros
11 Septiembre 2016, 02:48 AM
"Quieres que tenga más parámetros". Ese no es el problema. ¿Qué es lo que le quieres agregar?

Si quieres, tienes más cuadros de dialogo por defecto, como este:
https://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html#showConfirmDialog(java.awt.Component,%20java.lang.Object,%20java.lang.String,%20int)

También puedes simplemente crear el tuyo propio, como si de una ventana se tratase sin más. Aunque ese sería el último caso, que ya lleva más tiempo.

Sino, di, qué necesitas agregarle que no te proporcionan los dialogs que hay disponibles.
#1055
Decía de guardar un entero con el último índice almacenado. Actualmente, calculas la cantidad de movimientos almacenados con un for. En vez de hacer eso, mejor guardar sin más un entero.


En cuanto a la conexión serie, Arduino da una clase C++ para que la uses si quieres.

Para usarla, pues tiene funciones simples tipo Write y Read, no tiene más.

Si quieres, aquí tengo un programa funcional para conectar Arduino con programa C++:
https://github.com/ivancea/Arduino-Interpreter/tree/master/C++%20App
#1056
En primer lugar:
En un array de 20 elementos, el índice va desde 0 hasta 19. Por tanto, los for son incorrector. Seberían ser:
Código (cpp) [Seleccionar]
for(int i=0; i<20; i++)
También el if debería ser:
Código (cpp) [Seleccionar]
if(kbhit() && recorrido[19] == 0)

Luego, como detalle: Sería más conveniente que guardases la cantidad de recorrido en un entero, y te ahorras estos for:
Código (cpp) [Seleccionar]
for(i=0;i<21;i++)//En este for se recorre el arreglo y se guarda el numero correspondiente en el siguiente hueco distinto a cero
{
    if(recorrido[i] == 0)
    {
        recorrido[i] = 72;
        break;
    }
}


Como último detalle, si programas C++, es preferible utilizar las librerías de C++:
stdlib.h pasa a llamarse cstdlib
stdio.h -> cstdio

(windows.h y conio.h se quedan así)


Y bueno. Me has dejado desconcertado. En la pregunta inicial, preguntas cómo "detectar el recorrido". Con ese programa, tienes el array de movimientos, que es lo que necesitas, ¿no?
#1057
Dibujar un recorrido en la consola. Explica mejor qué tipo de datos va a recibir el programa. ¿Va a recibir datos del tipo "ADELANTE 5", va a recibir un "mapa" del recorrido tipo

XXX
XX X
X  X
XXXX
#1058
El World of Warcraft es una obra de arte, y no solo por su jugabilidad. Su música también es fantástica:

[youtube=640,360]https://www.youtube.com/watch?v=K1eBQF8F62g[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=dttGdK0l1G0[/youtube]

Y por último, una que se siente mejor acompañada de su cinemática:
[youtube=640,360]https://www.youtube.com/watch?v=6i27Ia1S2sc[/youtube]
#1059
Es lo mismo. 0/2 y 1/2 son ambos 0. Es una división entera sin decimales, y se redondea hacia abajo.
Poner == en vez de <= no arregla tampoco el problema, ya que si fuera 0, lo divides entre 2, que da 0 de nuevo.
#1060
Código (cpp) [Seleccionar]
if(num<=1)
   num=num-0/2;
  else
   num=num/2;


En primer lugar,, lo de num = num-0/2 es como poner num = num, que es como no hacer nada.
Por tanto, cuando num sea 1,no hará nada, y se quedará en bucle infinito.