Como usar este blog

    Este blog pretende ser un curso interactivo y ameno para iniciarse en robótica.

    Como cualquier otro curso, la idea es asistir a todas las clases y en orden.

    Es por eso, que deben leer los posts del más antiguo al más nuevo sin saltarselos.

Comentarios recientes

¿Qué necesito para programar un microcontrolador?

Enviado por Cristián Arenas U. el viernes, 07 noviembre, 2008 a las 1:03, Hora de verano de Chile

Una vez que tienes un microcontrolador, el siguiente paso, es programarlo para que haga algo útil.

Para hacer eso, necesitas:

 

  1. Un editor/procesador de texto.
  2. Un compilador/ensamblador.
  3. Un programador/quemador.
¿Qué son estas cosas?
  • Un editor de texto, es un programa para escribir, cuya función principal, no es que el texto se vea lindo, si no, ayudarte a escribir. Normalmente colorean las palabras especiales de cada lenguaje para ayudarte a comprender la estructura de tu código de forma visual. Además, muchos vienen con agregados útiles, como expresiones regulares (regex), de las cuales que hablaré en un futuro post.
  • Un procesador de texto, es un programa para escribir, cuya función principal, es que el texto se vea lindo, para esto te deja agregar imágenes, tablas, colores, distintos tamaños y tipografías para las letras, etc... Esto no es muy útil para programar, por lo que no lo recomiendo, sin embargo conozco una persona que programa así. Si puede servir, por ejemplo, para documentar tu código.
  • Un compilador, es un programa que traduce el código escrito en un lenguaje en particular a código de ensamblador o a un archivo binario/hexadecimal directamente, lo cual es ejecutado directamente por un computador..
  • Un ensamblador, es un programa que traduce un tipo de código de muy bajo nivel (que no pienso enseñar por que no me gusta :P) a un archivo binario/hexadecimal.
  • Un programador o quemador (como le quieran decir), consta de dos partes, un software pare el computador y un aparato físico que se encargan de traspasar el archivo hexadecimal desde el computador en que lo compilaste, al microcontrolador que lo debe ejecutar.
Ok.. se que parecen muchas cosas, pero por eso mismo, se han inventado atajos para resolver el problema:
  • Un IDE, una sigla en inglés que significa "Entorno de Desarrollo Integrado" (Integrated Development Environment), es un conjunto de esas cosas, que para nuestros fines, normalmente traen un editor de texto, un compilador, un ensamblador y un programador (software). La idea es que la mayoría de esas cosas queden ocultas para simplificarnos la vida, por lo que muchas veces solo vemos el programa para escribir y un botón que compila, ensambla y traspasa el programa al micro, todo automáticamente.
  • Un Bootloader, es un programa especial para el microcontrolador, que hace que no requiera un aparato especial para cargarle tus programas (y en consecuencia, se reduce el costo).
Ya, ahora se ve más simple; sin embargo, aun existen alternativas más simples y agradables, como por ejemplo:
  • Arduino: Una plataforma construida a partir de microcontroladores AVR de Atmel, son increíblemente baratos, poderosos, y no solo traen un IDE y un Bootloader, si no que además trae muchas funciones pre-hechas en C++, gracias a lo cual, puedes hacer complejos programas en poco tiempo.
  • Picaxe: Otra alternativa, pero ocupando los PICs de Microchip. Personalmente, y con toda la subjetividad que eso implica, no los recomiendo.

 

Publicidad por Bligoo.com

Programador

Enviado por Marcelo el 09/11/2008 a las 21:12
Marcelo

Hola,

Tengo una duda...

Cuando mencionas que existe un bootloader, el cual evita el uso de un programador físico, entonces como hace un bootloader para traspasar la info al microcontrolador ? A través de algún puerto especial ? .

 

Saludos y muy buena la info!!


Bootloaders

Enviado por el 10/11/2008 a las 0:48
Cristián Arenas U.

 

Excelente pregunta :)

 

Un bootloader es un programa que utiliza los puertos de comunicación serial del microcontrolador para programarse a si mismo, eso significa que lo que necesitas es tan solo un cable serial o usb->serial.

 

Eso si, hay un pequeño detalle que no mencioné apropósito, ya que hablaré de ello en mi siguiente post.

Lo que pasa es que un bootloader es un programa... así que, de todos modos necesitas un programador para pasarle el bootloader la primera vez :P

Hay 2 soluciones a eso...

  1. Te consigues un programador prestado solo por esa vez.
  2. Compras un microcontrolador que venga con bootloader precargado.
En mi próximo post hablaré con más detalle sobre los arduinos, que vienen con el bootloader precargado :)

 

-----------------

Cristián Arenas Ulloa

NiñoScript 

 


Ya me quedo más claro ...

Enviado por Marcelo el 12/11/2008 a las 22:29
Marcelo

Ya me quedo más claro :)

 

Supongo que la opción de comprar un microcontrolador con un bootloader debe ser más economica, o sino no veo la gracia de eso.

Ahora, si compras un micro con el bootloader incluido, te ahorras plata, pero quedas condicionado con ese micro en especifico. A que me refiero, a que si compras un programador, no solo te servira para un micro, sino que para varios, eso si es que son estandar. Según tu experiencia, (y suponiendo que la idea no es programar un solo microcontrolador sino que varios, para realizar distintos robots, etc), es mejor comprar varios micros con bootloaders incluidos o comprar un programador y varios micros normales ?

 

Otra cosa, el otro dia encontre un programa llamado gnusim8085 para Linux el cual supuestamente simula el funcionamiento de un microprocesador 8085 (eso es lo que entendi), pero que por lo que vi solo aceptaba programas en ASM. Tal vez una alternativa por lo menos para la parte teorica sería trabajar con algun simulador para microcontroladores, que acepte programas escritos en lenguajes como C++, aunque no se si existen.

 

Saludos!


Problema de escala.

Enviado por el 18/11/2008 a las 23:15
Cristián Arenas U.

El problema que planteas es netamente un problema de escala.

Si vas a tener por ejemplo, 2, 3 o hasta 10 microcontroladores, puede que te convenga comprarlos con bootloaders pregrabados.

Pero si quieres producir en masa, o hacer clases, es muy probable que te salga más conveniente comprarte un programador.

Por ejemplo, un AVR, modelo ATMega168 con el bootloader de Arduino, te puede costar 6 dolares, en cambio, un ATMega168 vacío te puede costar 4.9 dolares por unidad, o hasta 3 dolares al por mayor. Y un programador te puede entre unos 12 y 60 dólares.

Uno solo:

$12+$4.9 = $16.9 > $6 

Muchos (pero no al por mayor):

$12+11*$4.9 = $65.9 < $66 = 11*$6

Así que para alguien que no necesita muchos, son bastante recomendables los bootloaders, el problema, es que no están disponibles para todos los chips y te estarías perdiendo poder usar por ejemplo los famosos ATtiny13 que por unidad cuestan menos de 2 dolares (imaginate al por mayor)

Ahora, algunos programadores tienen otras gracias especiales, por ejemplo los de 60 dólares que mencioné, son por USB y ocupan una tecnología llamada JTAG, la cual es más rápida para programar los chips que los bootloaders y tiene gracias como poder hacer debugging en el chip sin necesidad de emularlo, si no que en tiempo real, esto significa llegar y pausar el programa en cualquier momento, revisar el valor de todas las variables e incluso hacer un cambio en el programa on-the-fly, lo cual es muy poderoso y yo me quiero comprar uno :P

 

Acerca de la "otra cosa", almenos para AVR, existen varios simuladores gratuitos, el oficial creo que se llama GNU AVR Simulator, además está Simulavr.

Y lo que dices de que solo soporta código en Assembler, fíjate que muchos compiladores de C (u otros lenguajes...) para microcontroladores, primero traspasan el código a Assembler y luego se lo pasan a un ensamblador, así que probablemente ya tengas el código en assembler de tu programa ;)

(busca archivos *.asm)

 

PD: creo que me demoraré una semana más para el próximo post, estoy ocupadísimo en la u en este momento. :(

-----------------

Cristián Arenas Ulloa

NiñoScript 


simulador

Enviado por Luis Mora el 04/08/2011 a las 17:31
Luis Mora

amigo buenas, no se que tan viejo sea el post pero espero me ayuden, tengo un proyecto que me gustaria ejecutar pero no se si existe un simulador para diseñar procesos previo a quemar el microcontrolador, no se por donde buscar, si puede escribame un correo o por aqui mismo me responde gracias y disculpe la molestia


Espero ansioso una próxima entrega ...

Enviado por Marcelo el 09/12/2008 a las 0:51
Marcelo

Espero ansioso una próxima entrega :)

 

Saludos!


importante

Enviado por carlos moyeda el 26/03/2009 a las 17:57
carlos moyeda

soi moieda cbtis 189 eddy lovaa


me urge SOBREZ UNA ESKINA ...

Enviado por soe moja 6q me urge !! el 26/03/2009 a las 17:59
soe moja 6q me urge !!

me urge SOBREZ UNA ESKINA

SPERARE


VOI ASER PAPA

Enviado por CARLOS el 26/03/2009 a las 18:00
CARLOS

VOI ASER PAPA EAEAEAEA :d


zamano echeverriia

Enviado por eza mano el 26/03/2009 a las 18:02
eza mano

ola soe eza mano soe del cbtis 189 6q

me gustan los hombre*-


ssssss

Enviado por pablo ulises el 26/03/2009 a las 18:07
pablo ulises

soi pablo reyna y me dicen el caskillo

 


kiero ser + q una amiga para el

Enviado por 3214 el 26/03/2009 a las 18:09
3214

feliz cumple moyeda  y chilangio

tan tan los kiero muschooooee 

 

 

 

moja jottoooooooooooooooo!!!!!!!!!!!!!!!!!!!!

 

 

 

 

 

pero te amoooooooo

 

 

pilas


MOYEDA CE LA COME          LOS ...

Enviado por el gordo paz el 26/03/2009 a las 19:35
el gordo paz

MOYEDA CE LA COME

 

 

 

 

 

 

 

 

 

 

LOS MEDIOKRES RULES!!!!!!!!!!!!!


soi tirado

Enviado por lonzo el 26/03/2009 a las 18:12
lonzo

eyy soi tirado algien me puede levantar!!


SOY KNT JAJAJAJ  JAJ TONTOS

Enviado por KNT el 26/03/2009 a las 19:12
KNT

SOY KNT JAJAJAJ

 

 

JAJ

 

TONTOS


chuki vende licor,bodka,oso negro por ...

Enviado por yo el 26/03/2009 a las 19:14
yo

chuki vende licor,bodka,oso negro por internet

 

 

jajjajja


ola todos

Enviado por pedro el 26/03/2009 a las 19:20
pedro

ola todos


jhon cena    mela pela

Enviado por el gordo paz el 26/03/2009 a las 19:26
el gordo paz

jhon cena    mela pela


ola

Enviado por ola el 26/03/2009 a las 19:28
ola

ola


si ayudo

Enviado por martin el 26/03/2009 a las 19:29
martin

si ayudo


ta muy bueno eso

Enviado por lara el 26/03/2009 a las 19:30
lara

ta muy bueno eso


gracias por este link

Enviado por luis el 26/03/2009 a las 19:30
luis

gracias por este link


muy bueno

Enviado por carlos el 26/03/2009 a las 19:31
carlos

muy bueno


el abuelo y barron ce ...

Enviado por el abuelo y barron el 26/03/2009 a las 19:32
el abuelo y barron

el abuelo y barron ce besan  y c kogen...... de  la m ANO

cheche vende cocos en hacienda

sonriks alias el mojon caga enel cbtis 189

peter ce la comeeeeeeee!!!!

 

 

 

 

los mediokresss RULES!!!!

MARYKAS


tengo gorra nueva

Enviado por ulises el 26/03/2009 a las 19:33
ulises

tengo gorra nueva


 el chivas va a perder ...

Enviado por soy wero el 26/03/2009 a las 19:34
soy wero

 el chivas va a perder contra el america 3-0


los frijoles saben buenos

Enviado por chuky flatulencias el 26/03/2009 a las 19:35
chuky flatulencias

soi chuky

nombre aier me comi un pinche jarro de frijolers negros i me isiseron mal


Escribe un comentario

¿Quieres usar tu foto? - Inicia tu sesión o Regístrate gratis »
Comentarios de este artículo en RSS