Pregunta

Un estudiante mío vino a mí esta mañana y me pidió algunas ideas para completar un proyecto de sistemas embebidos (idealmente diseño de hardware + software) en los próximos 6 meses más o menos. Él es un estudiante de primer año e inexperto, pero tiene la motivación para aprender si apunta en la dirección correcta. El propósito de completar este proyecto, además de mojarse los pies en Ingeniería Eléctrica / Informática y Ciencias de la Computación, es hacer que su currículum sea más atractivo en términos de conseguir una pasantía en el verano '09.

Mi pregunta es:

  1. ¿Cuáles son algunos buenos recursos generales para comprender hardware simple, un microcontrolador y los conceptos básicos de qué firmware / software es, dada poca o ninguna experiencia en ninguno de los anteriores? Mi propia experiencia es algo inútil aquí, ya que aprendí mucho a través de la capacitación formal (que le interesa, pero quiere comenzar ahora) y a través de la pasantía obtuve mi primer año por nepotismo; ) (que quiere hacer, pero hay un problema de huevo y gallina)

  2. ¿Cuáles son algunas ideas de proyectos interesantes del alcance apropiado?

Algunas ideas iniciales:

  • Un juego de estilo Jeopardy que iluminaría un LED, y el jugador que presionó su botón primero es el ganador, y tal vez el microcontrolador podría mantener la puntuación en un par de pantallas de 7 segmentos.
  • Un generador de tonos (el usuario configura los interruptores DIP (o de manera más ambiciosa, presiona las teclas en un teclado PS2) para establecer una frecuencia), y el microcontrolador utiliza un convertidor D / A para emitir una sinusoide de esa frecuencia
  • Algún tipo de sensor pequeño (tal vez un sensor de temperatura para su dormitorio que sirvió los resultados como una fuente RSS). El aspecto basado en la web de este proyecto sería mucho más fácil con un RabbitCore de Rabbit Semiconductor .

¡Todas las sugerencias sobre kits de microcontroladores son geniales! Realmente agradecería ideas de proyectos adicionales (es decir, `` El estudiante debe diseñar X) también. Gracias!

¿Fue útil?

Solución

Escuché y leí un montón de cosas buenas sobre las plataformas Arduino y PicAxe. Arduino parece tener la comunidad más grande detrás de él, y el costo inicial es bastante mínimo (~ 20-30USD para el kit).

http://arduino.cc/

LadyAda de adafruit industries vende un kit de tutoriales que viene con una placa Arduino y 8 tutoriales que enseñan electrónica básica y programación de microcontroladores.

Otros consejos

Muchos fabricantes de microcontroladores ofrecen tableros experimentales baratos y herramientas de desarrollo con las que es divertido jugar.

Ejemplos:

(Otros pueden agregarlos a esta lista)

Lego Mindstorms puede ser un lugar para comenzar. El firmware es de código abierto, por lo que su estudiante podría experimentar agregando nuevas funciones de E / S o creando algunos periféricos nuevos.

Recomiendo un kit Lego Mindstorms NXT. El kit de robótica actualizado tiene muchas características atractivas, como servomotores con codificadores integrados , Bluetooth y sensores de distancia ultrasónicos . Los terceros también han desarrollado acelerómetros , giroscopios , brújulas y mucho más. Puede desarrollar fácilmente su propio sensor, ya que todos los sensores funcionan en el bus i2c estándar.

El año pasado, con algunos otros estudiantes, construimos un pequeño robot tipo Segway utilizando el Giroscopio hitecnico y código abierto firmware LeJos . Hubiera sido posible construir una interfaz cliente-servidor para que pudiéramos controlar el robot de forma inalámbrica utilizando un dispositivo bluetooth (es decir, un teléfono móvil).

Esta plataforma es muy versátil si desea que su proyecto se mueva y la comunidad es excelente. Consulte las siguientes ideas de proyectos utilizando sensores personalizados.

Llevo más de una década trabajando en sistemas embebidos, y para un principiante, Rabbit Semiconductor es difícil de superar.

Sin embargo, puede comenzar mucho más barato con Arduino y algunos otros sistemas. Pero siempre hay una curva de aprendizaje de instalación y configuración de herramientas. Rabbit stuff está casi diseñado como "hardware para programadores de software". y es muy fácil comenzar, así como bastante poderoso. Mi primer esfuerzo fue poner páginas web dinámicas para mostrar gráficos de sensores relacionados con el clima (viento, temperatura, presión, etc.).

Si tuviera que hacerlo de nuevo, introduciría las técnicas de Ajax allí y usaría canvas o svg para generar gráficos mucho más agradables.

Otras opciones son los nuevos procesadores de 32 bits de Microchip y el AVR32 de Atmel. Puede comenzar con esos por alrededor de $ 100. El AVR32 ahora es compatible con Linux, y por no mucho más dinero puede obtener una pantalla LCD y otras cosas para convertirlo en un sistema integrado de muy alta gama. También vienen con el software de demostración WinCE para que pueda ver el final del desarrollo. El PIC de 32 bits aún no tiene Linux, y no sé si será compatible con WinCE.

Descargo de responsabilidad: trabajé para Rabbit hace algún tiempo. Técnicamente, los procesadores no son terriblemente potentes, pero el compilador y las bibliotecas incluidas son tan completas y fáciles de usar que mucha gente los usa.

¡Sea cual sea su camino, buena suerte!

-Adam

Algo más a considerar ...

Debes decidir qué quieres que aprenda el niño. Hay muchos kits diferentes que puede comprar (consulte las respuestas anteriores para obtener muchos buenos); sin embargo, tenga en cuenta que los kits están hechos para poner al usuario en funcionamiento rápidamente, por lo general para evaluar algún microcontrolador o chip de interfaz.

Para realmente enseñar a alguien sistemas integrados, "rápidamente" No es necesariamente el mejor camino a seguir. Los kits proporcionarán algunos IDE (Entorno de desarrollo interactivo) que agrega múltiples niveles de abstracción entre el estudiante y el tema de "aprendizaje de firmware". Como resultado, el niño puede estar escribiendo "hola mundo". aplicaciones el primer día, pero aún no tiene idea de cuál es la diferencia entre RAM / ROM / Dirección / Datos / etc ...

En pocas palabras ... en estos días, hay tantos kits por ahí, que realmente no tienes más remedio que elegir uno (ver otras respuestas para obtener buenas sugerencias); sin embargo, si realmente quiere que el niño aprenda los fundamentos, entonces después de escribir el "hola mundo" aplicación, y hace que algunos LED parpadeen. Detenlo allí y enséñale qué hay detrás de todo eso.

Sí, eso no respondió directamente a tu pregunta, pero espero que te guíe en cómo realmente enseñarle la "carne". Un buen lugar para comenzar con esto puede ser un libro que escribí hace unos años: "Embedded Systems Firmware Demystified". También hay otros, como "Programación de sistemas integrados en C y C ++". Mi libro también presenta un monitor de arranque que es un buen lugar para comenzar a aprender firmware. Consulte http://www.umonfw.com para obtener información al respecto.

Verifique http://www.embedds.com

Es una lista de proyectos de sistemas integrados de toda la web. La mayoría son principiantes o aficionados generados y sería un buen comienzo o inspiración.

Una placa Tern Acore86 es un buen kit para trabajar.

Creo que la mejor manera de comenzar a trabajar en sistemas embebidos es trabajar en BeagleBoard.

BeagleBoard es el procesador OMAP3 de Texas Instruments, que incluye un procesador ARM y un DSP. Además de que el costo es demasiado barato en comparación con otras placas de desarrollo, solo cuesta 150 $.

Y la mejor parte es que el software es completamente de código abierto, puede hacer una compilación utilizando componentes como el kernel de Linux, uBoot y xloader.

Inicialmente juega alrededor, intenta hacer una construcción estable. Puedes pensar en muchos proyectos que pueden usar el poder del tablero.

Mis mejores deseos para ello.

Recomiendo los productos Parallax que puede encontrar aquí

El sello básico y el chip de la hélice son sobresalientes. Hay muchos paneles de complementos disponibles que le permiten realizar muchos proyectos simples y complejos.

Mindstorms es bueno pero un poco caro en comparación con lo que ofrece Parallax. Sin embargo, para facilitar su uso, nada puede ser Mindstorm.

Hay varias compañías que fabrican pequeños kits de robots utilizando PIC o microprocesadores similares.

El Chumby proporciona una plataforma increíble para los programadores de sistemas integrados novatos. Proporciona un gran conjunto de periféricos (LCD, USB, altavoces, wifi), es completamente de código abierto (si ignora las cosas de FLASH) y proporciona una excelente interfaz para una placa de creación de prototipos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top