¿He entendido qué es Arduino correctamente?

7

Antes de salir y comprar un kit de inicio Arduino, ¿puede alguien confirmar que entiendo qué es?

Tal como lo entiendo, puedo usar un simulador para crear el comportamiento que quiero. Una vez que esté satisfecho con el código que lo compilo, conecte el Arduino Uno a mi computadora (con un "chip en blanco adjunto") y coloque el chip en un chip. Luego puedo quitar el chip y ponerlo en una placa de pruebas, o en Matrix Strip o similar y trabajar en un proyecto.

¿Es eso correcto?

    
pregunta Ben

5 respuestas

10

No, has entendido mal. El chip no está en blanco (tampoco se inserta el chip en Arduino. Viene con el Arduino). Tiene un cargador de arranque especial que en realidad es el núcleo de la plataforma Arduino y que le permite a Arduino no tener un programador especial para programar los chips. Así que no funcionará con chips en blanco en absoluto. Además, solo está limitado a los chips que son compatibles con el gestor de arranque o son muy similares.

También por lo que puedo ver, el IDE de Arduino no tiene un simulador, por lo que no tiene suerte en ese punto.

El punto principal de Arduino es que oculta el funcionamiento del chip del programador, lo que facilita su uso para aquellos que lo encuentran demasiado complicado para comenzar a programar el chip directamente. Ofrece un lenguaje de programación tipo C simplificado y tiene una gran biblioteca de funciones que facilitan la conexión de varios periféricos. El PCB en sí es útil ya que permite a los usuarios tener una base de buena calidad desde la cual crear sus propios dispositivos y les ahorra la molestia de crear un PCB que impulsará el AVR por sí mismo o utilice algún tipo de placa de prototipos.

Básicamente, lo que quieres es un IDE regular de Atmel llamado AVR Studio que tiene un simulador (puede descargarlo libremente y verificar si se ajusta a sus necesidades). En el lado del hardware, necesitará un programador , si el simulador del IDE es bien, o un emulador en circuito que le permitirá depurar directamente el código en el chip. El emulador en sí es bastante caro, pero hay algunos otros productos que le permitirán pasar por el código también.

Tenga en cuenta que es posible hacer que un programador AVR utilice Arduino, pero eso no es una ventaja importante sobre otros programadores disponibles en Internet o el programador oficial.

    
respondido por el AndrejaKo
5

No del todo, no.

El Arduino es un sistema completo en sí mismo.

Aunque es posible quitar el chip de la placa y usarlo en sus propios sistemas, esto rara vez se hace.

Con el Arduino usted programa su "boceto" (como lo llaman) en un subconjunto de C ++ basado en un sistema llamado "Cableado". Luego subes esto a la placa Arduino. El tablero ya tiene el chip y lo dejas ahí. Hay conexiones en la placa para vincularlo a sus otros sistemas.

Puedes cambiar tu "boceto" tantas veces como quieras y volver a subirlo al Arduino hasta que lo hagas correctamente.

Si bien hay simuladores, rara vez se usan, ya que es más fácil simplemente cargarlos directamente en Arduino y hacer que interactúen correctamente con su hardware externo.

    
respondido por el Majenko
2

Definitivamente puedes quitar el chip del arduino y usarlo en una tabla o en otro proyecto. El chip del arduino uno y las versiones anteriores del arduino duemilanove es un atmega328 (algunas versiones tienen un atmega168). Puede encontrar la referencia real al chip en el sitio web de atmel (no se pueden publicar enlaces porque no hay suficiente karma). Lo que hay que tener en cuenta es que los números de pin son en realidad muy diferentes de los de la placa arduino. Aquí hay una página con el pinout real, en caso de que quiera usarlo en otro proyecto o leer cosas en la hoja de datos: enlace Cuando retire el chip, tenga cuidado de no doblar las patas del chip. Usualmente uso un destornillador plano que inserto debajo del chip en un lado, y con cuidado me muevo a la mitad. Luego repita en el otro lado, y listo, limpie el chip. Tenga cuidado al volver a enchufarlo, ya que a veces una pierna sale un poco fuera de su ranura de recepción y se dobla cuando la empuja hacia abajo.

Lo que hace que arduino sea "especial" como placa de desarrollo es el entorno utilizado para programarlo. Similar al procesamiento (usa el mismo código base), es una especie de interfaz simplificada para el lenguaje c ++. El código que escribes en el editor de arduino obtiene algunas cosas agregadas por delante y por detrás, y se compila usando avr-g ++ en un archivo ejecutable. También se vincula a lo que se denomina "núcleo", que se puede encontrar en la carpeta hardware / cores / arduino en la carpeta Arduino. Inicializa algunas cosas (como los temporizadores y la interfaz en serie), e implementa las funciones de ayuda que todos conocemos y amamos: digitalWrite, analogRead, etc ... En caso de que desee saber más sobre la programación de avr-gcc en general, hay una muchos tutoriales alrededor Puedo recomendar el sitio web enlace , que tiene muchos enlaces y tutoriales.

Este archivo binario se carga en el chip en el arduino usando un programa llamado avrdude, que a su vez se llama automáticamente por el procesamiento como GUI. Este programa cargará el archivo binario a través del puerto serie, a lo que se llama un cargador de arranque en el atmega328. Un gestor de arranque es un pequeño programa (generalmente 2kB o 4kB) que se almacena permanentemente en el chip. Si lo quita, lo usa en otra tarjeta y lo vuelve a enchufar, podrá usar el software arduino nuevamente. El chip arduino utiliza una versión ligeramente modificada del protocolo stk500, y requiere un parche para que se ejecute. Se necesita un poco de voluntad para sobrescribir el gestor de arranque, pero eso es algo que es bastante posible. A continuación, puede utilizar un programador estándar para volver a flashear el arduino. Puede utilizar otro arduino como programador flash: google para arduino ISP

    
respondido por el wesen
1

De hecho, puede usar el Arduino para clonarse en un chip ATMEGA simple, usando el boceto ArduinoISP. Algunos pueden considerar que es una capacidad poco clara, otros la usan de forma rutinaria.

Principalmente, lo que te da la idea de Arduino es dos cosas: un cargador de arranque en el chip, de modo que puedes cargar programas funcionales usando un puerto en serie en lugar de una herramienta de programación especial (la mayoría de las placas actuales tienen un convertidor en serie USB incorporado ). En segundo lugar, hay un IDE y un conjunto de bibliotecas destinadas a facilitar el desarrollo integrado para los principiantes. Vale la pena señalar que no todos los que usan el hardware y el cargador de arranque usan el IDE y las bibliotecas, algunos prefieren codificar directamente para el chip AVR.

Además, hay un diseño de interfaz físico / eléctrico para los "escudos" de accesorios que se apilan en la placa principal y proporcionan una amplia gama de complementos (aunque estos generalmente no son competitivos en costo con otros microcontroladores / placas que tienen tales periféricos incorporados)

Puede comprar tableros compatibles con Arduino de muchas fuentes y en muchos factores de forma, ya sea ensamblados o como kits, también puede comprar chips atmega precargados con un Arduino o un cargador de arranque similar.

    
respondido por el Chris Stratton
1

El microcontrolador Propeller de parallax.com se ajusta a lo que usted describe. El "Kit educativo de Propeller" viene con el chip Propeller, una EEPROM, un conector USB a Serial, una placa de pruebas y otros componentes discretos y un manual bien escrito y fácil de leer. Tarda unos minutos en construir el circuito en el tablero y está listo para escribir y descargar programas en la EEPROM. Lo programa en un lenguaje fácil de aprender llamado SPIN, así como en PASM (Asamblea de hélices).

El Propeller es el primer microcontrolador con el que "jugué". Utilizo el kit para programar una EEPROM, luego coloco la EEPROM en otro circuito basado en hélices "independiente" que construí en un tablero de mandos. Independiente significa que no tiene el conector USB a serie.

    
respondido por el lyassa

Lea otras preguntas en las etiquetas