2008-12-14 9 views
13

Me interesé últimamente en la programación de hardware y me preguntaba cuál sería la mejor opción para mí como aficionado a la electrónica. No estoy buscando programación de bajo nivel en ensamblador y creación de placas de circuito.¿Cuáles son buenas opciones para comenzar la programación de hardware usando lenguajes de alto nivel?

Más bien me gustaría algo con API para lenguajes de alto nivel, preferiblemente C# y componentes prefabricados como placas de interfaz USB en las que puedo conectar sensores simples, motores, etc. y construir algún "gadget", quizás un robot simple y así sucesivamente ...

Hasta ahora he encontrado Phidgets pero solo hay unos pocos sensores y también es bastante caro.

Entonces, la pregunta es: ¿Conocen alguna otra "plataforma" con buena API y una gran selección de sensores?

+0

relacionado: http://stackoverflow.com/questions/3047192/alternative-languages-for-embedded-programming –

Respuesta

9

Eche un vistazo a Arduino. Hay un montón de cosas divertidas que puedes hacer con una enumerada en Make.

3

Compruebe mi pregunta sobre el microcontrolador here. También: How to Start programming microcontroller.

He pedido para chritsmas el popular microcontrolador Arduino. No se puede programar con C# pero tienen un marco sobre el ensamblado/C normal que facilita la interacción.

+1

Arduino parece interesante. Creo que podría usar la API C con P/Invoke. Pero aún necesitaría construir las entradas/salidas yo mismo. Esto es lo bueno de Phidgets, ya es preconstrucción. – lacop

1

También hay Bug Labs que produce una serie de módulos de hardware que pueden conectarse juntos para construir aparatos arbitrarias. Los módulos se ven realmente resbaladizos (pero no los he visto en la vida real).

4

Si desea utilizar C#, ¿ha analizado .NET Micro Framework? El SDK es gratuito, se conecta a Visual Studio, viene con un emulador completo y hay varios kits de desarrollo disponibles a un precio razonable.

El Tahoe es sustancialmente más, pero también viene con una pantalla TFT (y soporte) por lo que el precio no es irrazonable.

En cuanto a los sensores, todos estos admiten interfaces I2C y SPI, por lo que la cantidad de periféricos disponibles es de miles. Probablemente tendréis que hacer algunas soldaduras rudimentarias para algunos de ellos (resistores, etc.), pero si eso te asusta, probablemente te desvíes del camino equivocado.

2

Durante muchos años, he sido un gran admirador de la serie PIC de microcontroladores del Microchip Technology. Tienen una amplia gama de microcontroladores con diferentes funciones, desde la más pequeña hasta la inalámbrica integrada. Puede recoger uno de sus kits PicStart por aproximadamente $ 50 que incluye el software, el dispositivo de programación y un microcontrolador de muestra.Se pueden programar en C, ensamblaje, BASIC, etc.

Originalmente comencé la programación de microcontroladores con un sello básico Parallax, pero son bastante limitados y caros ($ 50 ea, en comparación con $ 1-6 por un PIC) y solo se puede programar en BASIC, aunque son muy fáciles de usar.

+0

CCS reúne un gran compilador y kits de aprendizaje basados ​​en PIC también. Sí, es un compilador de C, pero tienen muchas bibliotecas preconstruidas para una gran cantidad de periféricos y protocolos que facilitan la vida al principiante. – ctacke

0

No sé cuánto "programación de hardware" podrá realizar sin tener que lidiar con el hardware. C# solo te llevará tan lejos en el mundo del hardware, ya que casi todo está en C y a veces en C++.

Si decide que desea explorar el diseño de hardware, la placa Nexys 2 de Digilent es una excelente manera de aprender sobre el diseño de hardware usando VHDL o Verilog. Si desea expandirse a microcontroladores, el Xilinx Embedded Developer Kit le permite configurar un sistema de microcontrolador personalizado utilizando el procesador de microprocesador MicroBlaze que se implementará en el hardware, y proporciona un IDE para escribir su código C que se ejecutará en la plataforma incrustada.

Digilent también tiene una serie de tarjetas de expansión como sensores de temperatura, decodificadores de video, joysticks, servocontroladores, etc. que puede usar con sus placas lógicas programables.

1

¿Qué hay de Lego Mindstorms? Tienen una CPU de 32 bits en la que se ejecuta una VM, que incluso admite multithreading. La VM se puede programar en ensamblador.

Jugué con ellos hace algún tiempo, y fue una experiencia bastante interesante y divertida.

+0

hay un puerto Lua para las tormentas mentales, por lo que cubre la parte de la pregunta de "alto nivel". – Javier

+0

La elección del sensor es realmente pequeña para mindstorms/NXT ... – lacop

0

Me gustaría obtener uno de esos .NET-chips y hacerme una .NET Coffee Machine. O algo así, obtener un PIC es inútil, necesita conocer lenguajes de bajo nivel como C y ensamblador.

Existen componentes similares para Java.

Ver: Basic USB - Using Microchip Stack and C#.NET - Hardware.

+0

Parallax tiene un compilador BASIC muy popular para PIC, por lo que no tiene que ser C o ASM. Y los PIC están lejos de ser inútiles. – ctacke

0

Si el sistema integrado con el que trabajará tiene un compilador ANSI C, puede ejecutar Lua (www.lua.org), todo lo que necesita es compilar la fuente para su dispositivo. Una vez hablé con uno de los desarrolladores del lenguaje, dijo que tenía uno de los servidores web de listas de correo (también escrito en Lua) del idioma que se ejecuta en un teléfono celular por un tiempo solo para probarlo.

Con Lua puede interconectar los sensores de cualquier dispositivo con el que trabajará en C o C++ y tiene las funciones llamadas desde el código de nivel alto de Lua.

Cuestiones relacionadas