¿Arduino proporciona una buena base para estudiar sistemas embebidos?

Claro, aprenderás cosas, pero no creo que sea la mejor manera de comenzar si tienes una opción.

Arduino es solo un microcontrolador y un entorno de desarrollo. Es un micro bastante débil, no tiene nada de especial, y carece del tipo de cosas que uno ve en la mayoría de los proyectos integrados de microcontroladores: periféricos integrados complejos, pilas de red, etc. Ahora, puede comenzar sin estas cosas, pero hay un costo de cambio una vez que hayas puesto en marcha Arduino, entonces tenderás a usar el tipo de soluciones pirateadas que la gente usa con Arduino en lugar de ver las implementaciones a bordo que son más comunes en las MCU más sofisticadas.

Pero esto es menor. El mayor problema es el entorno de desarrollo. La ventaja de bjg es que se configura de manera muy rápida y fácil. Pero también le faltan muchas cosas importantes, como un depurador, y hace cosas extrañas como ocultarle el bucle principal.

También lo alienta a usar C ++ de manera irresponsable. La mayoría de la codificación incrustada se realiza en C recta, y algunas personas usan partes, pero no todas, de C ++. Esto se debe a que un montón de construcciones de C ++ requieren una memoria impredecible o ineficiente, o producen código que es difícil de leer en un depurador. El uso de muchas características de C ++ es realmente un tema avanzado en incrustado, controvertido y con dificultades. Pero si nos fijamos en las bibliotecas Arduino, se pasean alegremente por el territorio de C ++, deambulando por minefiekds sin pensarlo dos veces. Es sobre todo un código de ejemplo bastante pobre para aprender.

Mi sugerencia sería comenzar con un kit de desarrollo de uno de los principales proveedores de MCU. No son más caros que Arduino, y generalmente vienen con un entorno de desarrollo. La mayoría de ellos necesitan un poco más de trabajo para comenzar que el Arduino IDE, pero eso es solo un pequeño golpe al principio. Puede haber menos proyectos de ejemplo, pero son de mucha mayor calidad, en cuanto a código. Mi favorito personal en estos días es el kit pionero Cyoress PSoC 4 BLE. Su entorno de desarrollo es un comienzo casi tan suave como Arduino, y tienen toneladas de ejemplos, incluida una muy buena serie de video tutoriales. Y su IDE hace una gran parte de la configuración del registro jugando para usted a través de una buena GUI, lo que hace que el inicio sea mucho más rápido y puede pasar menos tiempo estudiando los manuales de referencia tratando de descubrir cada registro de las capacidades muy extensas del chip. Y es un chip bastante poderoso, no se quedará sin capacidades e incurrirá en el costo de abrir una nueva cadena de herramientas hasta que sea un codificador integrado muy avanzado.

También le iría bien con chips de TI (p. Ej., CC2640, CC3200 y MSP432), nórdicos o STM. Sin embargo, en mi experiencia, tienen una curva de aprendizaje un poco más irregular que Cypress.

La plataforma Arduino definitivamente tiene algunas cosas geniales: biblioteca barata, ampliamente disponible, decente, gran comunidad, etc. Permite la creación rápida de prototipos o el desarrollo de proyectos en el nivel escolar / universitario, así como para los aficionados.

Sin embargo, para aprender realmente los sistemas embebidos, uno tiene que profundizar más que hacer un par de proyectos divertidos usando bibliotecas Arduino y escudos de expansión. Verá, lo que Arduino proporciona es un entorno de desarrollo simplificado y simplificado y le muestra dónde colocar su código, y funciona. Inteligentemente abstrae toneladas de conceptos fundamentales con los que tendría que lidiar si fuera un ingeniero de sistemas integrados que trabaja en la industria, como la gestión de carga de memoria y procesador, restricciones de tiempo de ejecución de código, manejo de eventos, entre muchas otras cosas. Resultado final: puede construir cosas bastante interesantes con Arduino sin tener que comprender realmente los fundamentos de un sistema integrado.

Sin embargo, Arduino aún puede ser útil para aprender los fundamentos. Realice proyectos y familiarícese con todas las bibliotecas y características, pero luego profundice y comprenda cómo se implementan estas bibliotecas. Eche un vistazo al esquema y la hoja de datos del microcontrolador utilizado, intente obtener una visión general de los diferentes bloques presentes, los diferentes periféricos que presenta y cómo interactúan a nivel de sistema. Esto debería hacer que uno comience en la dirección correcta.

Si y no.

Sí, porque es un buen punto de partida cuando no sabes absolutamente nada sobre lo que estás haciendo. Puede enfocarse en cuál es su objetivo final y no verse atrapado por las complejidades de su controlador / placa / plataforma. Esto le enseña cómo interactúan los diferentes aspectos de su sistema integrado.

No, porque no es así como funcionan la mayoría de los sistemas integrados. La esencia misma de este dominio es crear sistemas a medida. Y no puede hacer todo eso con tales niveles de abstracción creados en un sistema. Necesitas ensuciarte las manos. Comprenda su controlador / placa / plataforma y luego escriba el mejor software para él.

Mis 2 centavos

Comience con Arduino. Crea algunos proyectos. Aprende todo lo que puedas. Luego, aléjese rápidamente de todo el entorno Arduino. Aprenda a escribir códigos básicos en cualquier controlador de su elección, incluso podría ser el que tiene en su placa Arduino. Comienza a jugar con los periféricos. Lea la hoja de datos. Rehaga todos sus proyectos en C simple y simple, sin usar ninguna de las bibliotecas Arduino.

Arduino es una buena forma de comenzar, pero recomendaré pasar a Microchip PIC o Atmel AVR MCU. Estos dos son los más famosos entre los estudiantes universitarios y aficionados por su bajo costo y facilidad de aprendizaje. Ambos tienen muchos chips capaces en su alineación. Mi favorito es PIC16F877A. Tanto el microchip como el atmel ahora son propiedad de las mismas personas (bueno, el microchip se compró a través de atmel pero todavía se administran como compañías separadas).

Además, ambas compañías tienen un IDE de uso gratuito y muy capaz, y también hay un montón de software de terceros disponible para su uso. Los programadores y las herramientas de depuración se pueden comprar a muchos proveedores externos o pueden hacerse por su cuenta. Haz de Google tu mejor amigo. No hay fin para el código y los ejemplos de proyectos.

Buena suerte

Arduino proporciona un trampolín en el mundo de los sistemas integrados.

Comience con Arduino

Probar proyectos

Comprender las bibliotecas

Interfaz de muchos sensores

Pruebe varios medios de comunicación.

Tomar en memoria la asignación en cuentas

Luego intente desarrollar un producto, tome en cuenta los factores de potencia y las clasificaciones actuales.

Cuando sienta que tiene alguna idea sobre el salto arduino a otro MCU como STm8, serie TI o MCU basado en ARM Cortex-M.

¡Todo lo mejor!

Arduino no se usa mucho en la industria, pero es muy fácil de aprender y usar. Puede ayudarlo a proporcionar una buena base para la programación de microcontroladores. Tiene una gran comunidad en línea lista para ayudarlo en cualquier momento. Los proyectos en su página de juegos son realmente interesantes y muy buenos para dar inicio a los sistemas embebidos. Es un buen tablero de prototipos para jugar.

Pero también hay mejores opciones. Personalidades experimentadas sugieren microcontroladores como los tableros 8051 o STM8 Discovery como tablero de inicio.

Personalmente, creo que para un aspirante a ingeniero de sistemas integrados, 8051 es lo mejor para comenzar. Si puede controlar 8051, le será muy fácil controlar cualquier otro microcontrolador. Se prefiere C para ensamblar para codificar el 8051 teniendo en cuenta el objetivo real (convertirse en un ingeniero de sistemas integrados).

Escribí esta respuesta a partir de lo que obtuve después de consultar a muchos ingenieros de hardware y software en funcionamiento y algunas respuestas sobre Quora por profesionales experimentados (> 40 años). También soy un aspirante a ingeniero integrado (más en SW), así que por favor comente si encuentra mejores consejos de otros profesionales.

Le recomendaría comenzar desde el microcontrolador o microprocesador básico. Por ejemplo, inicie el microcontrolador PIC y los sistemas integrados: Uso de ensamblaje y C para el libro PIC18 de Danny Causey, Muhammad Ali Mazidi y Rolin D. McKinlay. Es un libro increíble sobre sistemas embebidos.

Claro, comencé con Arduino (bueno, estudié electrónica, pero no programación en la universidad) y luego me mudé a los microcontroladores ARM Cortex M y sus marcos de proveedores, luego a Linux y microprocesadores integrados.

Todo lo que sea realmente interesante para usted lo llevará hacia adelante, solo encuentre problemas interesantes para resolver y busque en Internet más información.

Comenzar solo desde los libros es aburrido y disminuirá la velocidad. Simplemente resuelva problemas y haga cosas interesantes (para usted), Arduino es bueno para eso.

Depende de cómo lo tomes.

Como en arduino, es fácil comenzar en sistemas integrados. Para la parte central, que significa cómo se ejecutan realmente las instrucciones, debe pasar por el microcontrolador que está utilizando. Si solo está haciendo proyectos usando bibliotecas o programándose usted mismo, seguramente aprenderá, pero si sigue la arquitectura de los microcontroladores, aprenderá mejor.

Se recomienda que, junto con Arduino, también debe trabajar en 8051 o en algún otro, para obtener un conocimiento profundo.

Si. Es la mejor fuente para el aprendizaje inicial. Personalmente he usado la placa ArduinoUNO. Es el básico que puede ayudarlo a comprender los programas básicos sobre cómo funcionan los sistemas integrados. También puede agregar otros paneles con él para permitir el envío de SMS, función de correo electrónico.

Traté de calcular dos valores de entrada y enviar SMS y correo electrónico.

También hay muchos recursos que puede consultar a continuación,

Arduino – Comenzando

Creo que depende de cómo lo uses. Es una forma de entrar, pero muchas personas no avanzan más allá de solo trabajar con tutoriales. Puede usarlo para comenzar, ver si le gustan los sistemas integrados y luego pasar a más placas “profesionales”. El Arduino estaba destinado a aficionados a la electrónica, a artistas, etc.

Arduino es muy divertido básicamente gratis, así que lo recomiendo. Para el desarrollo integrado en la industria, tal vez comience con microcontroladores PIC para tener una idea, luego intente algo más avanzado como una placa beagle con un SOC con todas las funciones.

Si.

Arduino fue mi primera experiencia con sistemas integrados, y ahora trabajo con ellos todos los días.

More Interesting

¿Cómo debo comenzar a aprender o trabajar con una Raspberry Pi?

¿Cuál es la principal diferencia entre PIC y AVR?

Sistemas Embebidos: ¿Qué es CPU Tick?

Tengo la intención de utilizar un microcontrolador (AVR) para diseñar un sistema que capture un valor de un sensor y almacene los datos a lo largo del tiempo. ¿Cómo hago esto?

¿En qué consiste el circuito interno de un regulador 7805?

Estoy 2013 desmayado, colocado en TCS. Después de estar en el banco durante 4 meses, me vi obligado a tomar un proyecto de Infraestructura. Trabajé durante 2 meses, sentí que estaba arruinando mi carrera y renuncié. Ahora me estoy preparando para la planificación de CDAC para el curso de sistemas integrados. ¿Cómo planificarme para conseguir un buen trabajo en CDAC?

¿Cuál es la diferencia entre una maestría en informática y una maestría en ingeniería de sistemas con sistemas integrados?

¿Cómo funciona un cristal piezoeléctrico en el microcontrolador 8051?

¿Cuáles son los conceptos clave del curso de aprendizaje del sistema integrado?

¿Es posible comprar una placa de desarrollo estilo LispMachine?

¿Cuáles son los beneficios de usar microcontroladores?

¿Cuál es el mejor microcontrolador en términos de costo: PIC o Arduino?

¿Por qué es difícil definir un sistema integrado?

¿Qué cualidades buscas al contratar ingenieros integrados? ¿Cómo se podría saber que él / ella está preparado para ingresar a la industria integrada?

¿Cuál es el mejor instituto para la formación de sistemas integrados en India con buenas ubicaciones?