programacion - programar pic en c++
¿Dónde puedo empezar con hardware programable? (9)
He tenido el deseo de aprender al menos un poquito sobre programación de hardware desde hace bastante tiempo y pensé que pediría aquí para obtener algunos puntos de partida. Soy un programador razonablemente experto con experiencia en Delphi y Objective-c, pero nunca he escuchado un puerto / interrupción del dispositivo (ni siquiera conozco la terminología) y mucho menos programé una pieza de hardware.
Para empezar con lo que me gustaría poder hacer es,
- Compra un simple kit con 2,3 o 10 botones.
- Conecte el dispositivo a mi PC a través de USB
- Escuche el dispositivo y escriba un código para hacer algo una vez que se presiona el botón.
Calculo que este es un buen lugar para comenzar, ¿alguien tiene consejos para comprar hardware o cómo puedo comenzar?
¡Me gusta el Arduino , fácil de usar, de código abierto y una gran comunidad!
Es bueno comenzar con, y usa un subconjunto de C / C ++.
Además, tiene una gran cantidad de hardware adicional disponible, como GPS, Bluetooth, WiFi, etc.
Mis experiencias con Arduino no han sido más que buenas, desde el momento en que las saca de su caja (e instala el compilador gratuito en Windows / Mac / Linux), hasta la creación de su primer ''sketch'' (un proyecto o aplicación para Arduino). ).
Hacer una aplicación es fácil, tiene un Método de Setup
, que se llama en el inicio, y luego un método de loop
que se repite mientras se ejecuta el Arduino.
Luego, todo lo que tiene que hacer es conectar las entradas o salidas a los pines de la placa Arduino, decirle al código qué son y, con suerte, obtendrá la salida deseada.
Otra cosa realmente buena sobre el Arduino (y otros, estoy seguro) es que ahora tiene un uso para esas viejas impresoras rotas, o 2x CD-Rom que nadie quiere, y todo lo demás de tecnología obsoleta. ¡Es increíble lo que puedes encontrar en una sala de servidores!
Ahora, solo he trabajado en pequeños proyectos, como conectar una pantalla LCD, leer la temperatura de la habitación y varios proyectos como ese. Pero según lo que he hecho, estoy contento con el Ardunio, le da una buena base para la programación integrada y, si no es suficiente, ¡siempre puede ir más grande!
Mis 2 centavos!
¿Por qué no empiezas con la programación AVR para microprocesadores? Yeh puede ser un nivel demasiado bajo. pero conozco a muchas personas que han comenzado con esto para la programación de hardware. Podrías encontrar un compilador aquí. http://winavr.sourceforge.net/ y un buen tutorial aquí: http://www.ladyada.net/learn/avr/
Como ya se mencionó, Arduino es una buena opción. La comunidad es grande y útil. Lo bueno es que puede hacer la transición a un lenguaje "real" usando el puerto GCC para micros AVR, si lo desea. En mi último proyecto hice esto: prototipo de la mayor parte con Arduino, luego reescribalo en C.
Comenzar con botones y LED es una gran idea. ¡Genere cierta confianza en el trabajo con hardware básico primero, antes de modificar la Wii!
Algunos enlaces:
- Compilador cruzado de Windows GCC (instalación de 1 paso) para AVR: http://winavr.sourceforge.net/
- Un kit de clon de Arduino.
- Adafruit es otra buena fuente de hardware inicial y consejos técnicos.
- El incrustado
Cualquier programa que ya haya escrito interactúa con el hardware, está el monitor, el teclado, el mouse, el altavoz, etc. La configuración sencilla en la que su programa puede manejar los botones de un dispositivo USB no le enseñará mucho sobre cómo trabajar con hardware. En parte, es una cuestión de qué tan bajo quieres ir en la pila de software y cuánto quieres aprender sobre lo que sucede en el punto en que termina el software.
- Consíguete una copia de "The Art of Electronics". Es una lectura relativamente fácil y cubre todo entre la ley de Ohm y el microprocesador y le dará una buena idea de lo que hace el sistema completo.
- Leerlo
- Echa un vistazo a Digikey. Puede comprar cualquier hardware relacionado con resistencias, condensadores, circuitos integrados, tableros de bajo costo fácilmente en línea y a precios razonables.
Otras respuestas mencionaron Microchip PIC y Atmel AVR que son microcontroladores pequeños y simples. Ambas compañías tienen una gran cantidad de notas de aplicaciones, visite su sitio web, lea algunas notas de aplicaciones. Puede obtener tableros de evaluación de bajo costo para lo anterior o algo así como el Arduino mencionado en otras respuestas. Considera diseñar y construir tu propio tablero para forzarte a ti mismo a aprender lo básico. Encuentre a un amigo que sea un aficionado a la educación física o un aficionado serio a quien no le importaría ayudarlo con algunos consejos.
Si desea obtener más información sobre el hardware de la PC, puede ver algunos controladores de dispositivos simples (por ejemplo, una impresora o un puerto serie) en Windows (descargue el WinDDK), Linux o incluso DOS. La programación bajo algo como DOS en una PC permite una interacción relativamente fácil con el hardware de la PC, puede usar un puerto de impresora para leer los botones pulsadores, etc.
Enlaces (soy un usuario nuevo, así que no puedo enlazar directamente):
www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957
www.digikey.com/
www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2879
www.atmel.com/products/avr/
Definitivamente sugeriría probar varios microcontroladores. Arduino controladores Arduino son agradables y tienen una number of tutorials .
Sin embargo, no es su única opción. En la escuela, trabajé con Microchip PIC , que también son muy buenos para la escena de los aficionados. Lo bueno del PIC era que nuestro libro de texto de microcontroladores lo apoyaba, así que pudimos ver la aplicación a medida que aprendíamos la teoría.
El cartel anterior mencionaba el Arduino, pero también deberías considerar un pjrc.com/teensy . Es básicamente lo mismo, pero el precio es un poco mejor. También tiene la opción de usarlo en modo "Arduino", o modo AVR sin formato. No sé si los Arduinos te dan ambas opciones.
Hay una página de comparación donde puedes ver que Teensy tiene mejor hardware. El USB incorporado le da un rendimiento mucho mejor.
Si entiendo bien su pregunta, no está interesado en la programación integrada. Quieres comprar algo que funcione desde el principio y controlarlo desde Windows.
Cuando se trata de botones, no hay mucho que hacer en Windows. Estos son controles HID y Windows maneja todas las interfaces para usted. Nada demasiado emocionante allí.
En ese caso, puedes agarrar cualquier Joystick y usar DirectInput (una parte de la tecnología de DirectX) para interactuar con él. Con la retroalimentación de fuerza puedes hacer algunas cosas geniales.
Un proyecto más divertido sería comprar un control de Wii y escribir algunas aplicaciones divertidas. Mira este sitio para obtener algunas ideas de lo que quiero decir:
http://johnnylee.net/projects/wii/
Ya que Windows no tiene soporte para un controlador de Wii, realmente puedes hacer algo de trabajo aquí :)
También está el hot-off de la prensa netduino que utiliza .NET Micro Framework y Microsoft Visual C # Express. No sé que es mejor que el Arduino pero es otra opción.
Veo que te gusta Delphi, así que puedes echarle un vistazo a AvrCo Multitasking Pascal para AVR. Puedes probarlo en http://www.e-lab.de . La versión MEGA8 / 88 es gratuita. Hay toneladas de controladores, simuladores, depuradores y programadores JTAG en línea con visualización de todos los dispositivos estándar (para un inicio, puede hacer un simple programador LPT con solo unos pocos resistores). También puede hacer programas para todos los dispositivos Arduino, ya que AVR está en su hogar. El STK500 de Atmel es un buen tablero para principiantes, con leds, interruptores y algunos otros periféricos. Si prefieres el código abierto, entonces WinAVR con GCC podría ser tu camino.