Arduino y enc28j60 en Proteus ISIS con foticos.

Otra vez ando trasteando…

Intentando hacer un test rápido de Arduino y enc28j60 en Proteus perdí un par de días. Probé las librerías de Ethernet, EtherCard, UIPEthernet, y al menos el primer día no conseguí poner a andar el cacharro. Así que comento acá lo que hice esperando que a otro le funcione. (al final funcionó con UIPEthernet)

Como siempre, hay 2 caminos: el fácil y el largo.

El Camino Facil

Abrir el ejemplo de Proteus que ya viene instalado. (Yo no vi esto hasta que tuve raaaato perdido)Proteus1

buscando la keyword ethernet aparece un demo de Arduino with ENC28j60

Proteus2

Y taran! Un demo que funciona… Casi. Es necesario tener instalado el Winpcap este paso es importante, y es el primer paso «oscuro». El demo le asigna de manera automáticamente la IP 192.168.95.6. Acá se ingresa la dirección en la barra de direcciones y taran2!

proteus4

El único inconveniente que tengo con este enfoque es que no se me da eso de programar en el IDE de Proteus. De hecho, tuve problemas para que el compilador consiguiera la carpeta de librerías del Arduino, así que no lo intenté mucho más.

El Camino Largo.

Honestamente, el camino largo es una copia defectuosa del camino corto, pero que acomoda el inconveniente de la IDE de Proteus. La solución fue hacer un proyecto en blanco (un No Firmware Project) y agregar un Arduino. El código para el Arduino me lo robo de la pestaña de source code del demo del paso.

proteus5

Y con ese hago un sketch nuevo en arduino. Se compila eso, y se exporta el binario compilado. El binario compilado se carga en el micro.

proteus6

Me robo el enc28j60, y los potenciometros del demo de ethernet, y los pego en el proyecto nuevo. ya con eso es suficiente para que el proyecto corra, y se pueda editar el código:

proteus7

En ese caso no lee los valores de los potenciometros porque no los conecté 😀

El proyecto y el código se encuentran en este link.

Buen provecho.

Soy un poco nuevo en esto del control de versiones, pero desde que comencé a usarlo, me ha agradado bastante la idea, y las herramientas que he «descubierto». Por alguna razón que desconozco, las versiones recientes de mplabx dejaron de dar soporte nativo a git, pero siguen prestandolo a SVN, Mercurial y CVS.

Mplabx está basado en Netbeans (otra IDE importante en este mundillo de la programación) y por esta razón Mplabx compatible con lo plugins de Netbeans. Googleando conseguí nbgit, un plugin de git para netbeans, y decidí probarlo a ver qué tal me va.

Lo primero es descargarse el archivo desde el enlace, así:

pluggit

 

 

Descarguen la version 0.4. para netbeans 6.9. Yo intenté con varias otras versiones, y con la version que suministra la página de netbeans. Todas esas otras instalaciones pedían dependencias que yo no tenía instaladas 😦 así que, a instalar la 0.4-nb-6.9 que no pide nada previo

Mientras se descarga, en el mplabx vamos a menú Tool->plugins y click a pestaña de downloads, y click en el boton de «Add Plugins…»

el mplabx sugiere colocar ahí los plugins, y ahí los puse por cosas de orden. Pero la verdad es que no importa donde lo coloquen.

abrir

Yo puse los plugins en el escritorio

install

Y le damos al boton instalar, lo que genera una ventana como la siguiente

Sin título

Next, Aceptar, Instalar, Continuar al aviso de «Signed but not trusted» y esperar a que se bajen las dependencias. y Finish him.

finish_him

 

Luego vamos a la pestaña de «Instaled», y confirmamos que el nbgit está instalado!!!

Sin título

 

Tip: Reiniciar mplabx, busquen en la pestaña de proyectos el proyecto que quieran iniciar, hacer click derecho en el proyecto, submenu «Versioning», «Initialize git project» yyyy…

fin

PD: Algunos servicios de repositorios que me gustaron:

Fuentes: la imagen de mortal kombat, el plugin.

Gracias a @ozplc y @albertoguerere por la idea xD

drop files here