Vous êtes sur la page 1sur 9

Nadie nace sabiendo ni siendo un experto en cualquier tema.

Todo lleva un tiempo de


aprendizaje, de práctica y de aplicación. Desarrollar programas eficaces y funcionales
para microcontroladores no es la excepción de esta regla. En este artículo no aprenderás
a programar sino que encontrarás los consejos más importantes que te guiarán por el
camino menos frustrante hacia una realización exitosa. Participa de los mejores consejos
que se brindan en los foros más importantes de toda la Web y descubre los secretos que
utilizan los programadores más avezados. Entra al mundo geek y sé parte de él.

 Anuncios Google

 Foros, listas de correo, blogs, YouTube, MSN y muchos otros medios son
utilizados en la Web para permitir que la gente pueda comunicarse entre sí y
pueda ayudarse mutuamente en los temas referentes a microcontroladores.
Luego de recorrer durante algunos años muchos de estos espacios en busca de
información y conocimientos, he encontrado que la mayoría de los interrogantes
y consejos que se brindan a quienes recién comienzan en el mundo de los
microcontroladores se reiteran una y otra vez en todos los lugares. Pareciera
que las dudas y las preguntas son siempre las mismas.

La razón es muy obvia y sencilla: cada día hay más gente con ansias de
aprender, y como sabemos que tú eres uno de ellos, hemos preparado un
pequeño listado de las cosas más importantes a tener en cuenta al momento de
iniciarte en este apasionante mundo de los microcontroladores. Sea cual fuere la
marca de microcontrolador que prefieras o el lenguaje de programación que
utilices, existen métodos de trabajo que, cuando te acostumbras a ellos,
comienzas a descubrir que todo se vuelve más fluido, más sencillo y más rápido.
Es allí cuando dejas de perder el tiempo en cosas sencillas o elementales y pasas
a utilizar el tiempo para crear y concebir con eficiencia tus mejores trabajos.
El mundo de la programación espera por tí

Al comenzar, las dudas son interminables y los miedos al fracaso suelen ser
los culpables de que muchos abandonen su interés por el mundo de los
microcontroladores. No hay que dejar de tener en cuenta que la información está
tan dispersa en la red que encontrar lo que estamos buscando es a veces más
difícil que ver abrazados a Bill Gates y a Steve Jobs. Por eso, si estabas a un
paso de comenzar a trabajar con microcontroladores y no encontrabas la puerta
de acceso, ven con nosotros, lee estos pequeños “Tips”, apréndelos, ponlos en
práctica y deslúmbranos con tu creatividad.

1 - El Datasheet del microcontrolador


Una de las mayores razones de confusión y de complicaciones al desarrollar un
proyecto es la falta de información del microcontrolador que se desea utilizar.
Las hojas de datos son los documentos más importantes que debemos acopiar al
momento de decidirnos e inclinarnos por un determinado tipo de
microcontrolador.

Por ejemplo, si en tu diseño vas a utilizar un PIC 16F877A, debes imprimir, leer
y recurrir a sus hojas como si fuese El Libro de la Verdad Absoluta. Todas las
respuestas están allí. Todo lo que necesitas saber está allí. No te permitas iniciar
un desarrollo sin haber leído las hojas de datos del microcontrolador que
utilizarás. Un registro mal “seteado” y nada funcionará. Desde la configuración
inicial del dispositivo (fuses), pasando por los registros de los ADC (Analog to
Digital Converter) o los módulos CCP que te permiten obtener señales PWM,
hasta la mismísima configuración del reloj o clock del sistema. Todo está allí.

2 - Piensa en tus objetivos, sueña con ellos.


¿Qué deseas lograr con tu desarrollo? Pensar en la idea final nos suele llevar a
visualizar en la mente el proyecto terminado y consolidado en un prototipo
funcionando a la perfección. ¿Qué componentes adicionales necesitaría? ¡Ah!
¿Tengo esos componentes? Luego de que ya hayas dado vuelta todos los
estantes y cajones buscando ese material que te faltaba, comienza a anotar los
que te hagan falta, los que no tengas. No abuses de tu memoria para recordar
todo lo que necesitas comprar en la tienda; coloca en ella tu desarrollo y utilízala
como un microcontrolador: optimiza este recurso y utilízalo sólo para ampliar y
perfeccionar tu proyecto. Los materiales que hacen falta no deben ocupar
espacio en tu mente; haz un listado minucioso y detallado para no hacer dos
viajes y listo.

3 - No quieras correr antes de empezar a caminar


Uno de los errores más comunes de los que recién se inician es querer obtener
más de lo que pueden llegar a comprender. No intentes hacer como primer
trabajo un cartel luminoso de LEDs para venderlo en los estadios de fútbol y
volverte millonario la semana próxima. Ni siquiera pretendas construir y
empuñar el sable láser de Obi-Wan Kenobi y ser la envidia del colegio. ¡No, no!

No pretendas comenzar por lo más difícil

Si no tienes noción de la complejidad del proyecto que emprenderás es porque


no has leído o interpretado el punto anterior. Las frustraciones provocadas por
los fracasos en los primeros intentos aniquilan la confianza en nosotros
mismos y arruina toda la diversión que significa construir y materializar
nuestros sueños mientras vamos aprendiendo. SIEMPRE comienza con lo más
elemental y, a medida que los éxitos comiencen a llegar, puedes ir agregando
complejidad a los diseños. Además, cualquier programador experimentado te
dirá que su primer trabajo fue escribir “Hola Mundo” en un display o un LED
titilando como una baliza. Quien diga que no, te miente cobardemente.

Comienza a caminar comprendiendo los conceptos básicos y la terminología


técnica y desarrolla pequeños proyectos de luces, motores o pantallas LCD.
Luego, comienza a hacer un poco de jogging y trote liviano con algo más
complejo como letreros de luces y pequeños controles de los que se utilizan en
industrias. La domótica y la mecatrónica son dos campos muy interesantes y
amplios como para sumar buena experiencia. Si no salteas ninguno de los pasos,
muy pronto estarás corriendo grandes competencias a la par de los profesionales.

4 - Corta la pizza en porciones, no la comas entera


Por más simple que sea un proyecto, siempre es bueno dividir en bloques o
pasos la tarea a realizar. Silbar y comer maní son cosas muy habituales y
sencillas de hacer, pero concretarlas al unísono no es algo fácil. Organízate y
prepárate a trabajar por partes. Primero ESTO, luego ESTO OTRO y al final
AQUELLO. Intentar hacer todo a la vez o en forma desordenada sin un patrón
de acción puede ocasionarte errores al momento de construir el proyecto. Por
ejemplo, si decides incorporar un Puente H para mover un motor, contrólalo
antes de conectarlo al microcontrolador. Es decir, conéctalo y pruébalo en forma
independiente para saber que el mismo funciona. Así con todos los bloques en
los que puedas sub-dividir tu proyecto.

El Sr. Spock aprueba como lógicos estos consejos


5 - No sólo la fuerza te guiará, deja que el Sr. Spock también lo haga.
Tus inspiraciones serán una avalancha de imágenes y pequeños trailers en tu
imaginación, pero en el teclado deberás actuar de manera puramente lógica.
El número uno, nos guste o no, está antes que el dos. Primero el cero, luego el
uno, después el dos, el tres y así en adelante. Siempre es así y nunca cambia esa
realidad, a pesar de las paradojas de Ariel Palazzesi. Los programas funcionan
así. Obtenemos la variable A y la transformamos en B; le sumamos C y el
resultado se muestra en el paso D, y así se encadenan los procesos individuales
que desembocan en el resultado final del programa. Nada es al azar, ni porque
se le ocurra a Max Ferzzola. Los programas siguen un razonamiento lógico y,
por lo tanto, los microcontroladores también. Si tu mente se acostumbra a
razonar de esta manera, programar será un juego de niños para ti.

6 - El pseudo-código también es lógico.


Te puede parecer arcaico, poco profesional y hasta una pérdida de tiempo, pero
escribir en un papel todos los pasos que seguirá tu programa puede ser una
ayuda muy importante mientras vas redondeando la idea final.

Por ejemplo:

o Necesito una variable (A) que contenga un valor 20 al iniciar.


o También otra (B) que valga 18 en el mismo momento.
o Después las sumo y coloco el resultado en una tercera variable que se
llamará C.
o Las muestro en el display.

En un programa en lenguaje BASIC eso resulta ser:

A = 20
B = 18
C = A+B
Print at 1,1, Dec C

Escribir la secuencia de acciones que queremos que nuestro programa realice


nos permitirá modelarlo a nuestro gusto y requerimiento, además de optimizarlo.
Cuando lo aprendes en la escuela, te lo enseñan como Diagrama de Flujo y
puede que con el tiempo te olvides de él, pero cuando lo aprendes por ti mismo,
razonando los pasos a seguir, no lo olvidas nunca.
Organíza tu trabajo en partes y/o bloques

Algo que puede parecer muy intrascendente, pero que es de vital importancia, es
“comentar” cada línea de código que escribamos. Aunque creamos que es
inútil, si no lo haces, terminarás arrancándote los cabellos una semana después
al no darte cuenta qué es lo que quisiste colocar allí o por qué llegaste a ese
lugar dentro del programa. Que hoy los comentarios te ocupen 10 renglones por
cada línea de código significará que el próximo mes te ahorres 10 horas de
trabajo intentando descubrir qué intentaste hacer allí.

7 -Organiza y guarda estructuras pre-armadas.


A medida que vayas utilizando un microcontrolador en particular (siempre
seleccionamos uno “preferido”) y comiences a utilizarlo reiteradamente, te
resultará cómodo tener a mano una estructura estandarizada de conexiones y
bloques de programas. Es decir, si acostumbras a utilizar un microcontrolador X,
si siempre utilizas la misma frecuencia de cristal oscilador, si siempre utilizas el
mismo tipo de LCD, y si además también conectas siempre tus desarrollos a un
ordenador a través de un puerto RS-232, tendrás siempre un gran bloque de
programa que se repite diseño tras diseño.

Cuando comienzas a darte cuenta que muchos de tus diseños repiten pasos o
bloques, allí empiezas a armar tus “templates” que son plantillas pre-armadas de
cosas que se reiteran habitualmente. Consérvalas y organízalas en lugares
prácticos y de fácil acceso. Te servirán para ahorrar mucho tiempo al momento
de iniciar el diseño de un nuevo proyecto. Aprovecha el trabajo que ya tienes
hecho y que sabes que funciona.

8 - No preguntar hasta agotar las posibilidades de conocimiento.


En la mayoría de los foros o grupos de correo que aglutinan a miles de
entusiastas de los microcontroladores sería muy fácil registrarse gratis, realizar
consultas y, una vez que nos brindan las respuestas, seguir adelante. Además, en
esos lugares siempre hay gente bien dispuesta a brindar ayuda. Trata de no
hacerlo hasta el final de tus posibilidades. Lee las hojas de datos de los
materiales que te están complicando el diseño, busca dentro de los foros, utiliza
Google, lee algún libro relacionado al tema, busca hasta el cansancio en la ayuda
del programa (Help) y, como último recurso, pregunta a otros.

Si ante el menor inconveniente acudes a otras personas para que te resuelvan los
problemas, nunca aprenderás lo suficiente. Además, cuando te den la solución
a tu problema, no sabrás entender que dicha solución sólo la pudiste obtener
allí porque no tienes idea de lo que buscas. Todos siempre necesitamos una
ayuda hasta en la tontería más insignificante, pero la comodidad y la
holgazanería de que otros te hagan el trabajo no es un buen negocio para un
programador. Por último, si pides ayuda, demuestra haber hecho tus intentos de
solución contando lo que has realizado y los resultados que has obtenido. Si no
haces nada, y sólo te limitas a pegar el enunciado que te han dado tus profesores,
no esperes que alguien te ayude.

No permitas que la frustación se apodere de tí


9 - La frustración es el enemigo a vencer.
Trata de no abandonar los proyectos porque algo no funcionó como esperabas.
Descubre en esas oportunidades un reto o un desafío antes que un fracaso.
Siempre es bueno mantenerse tranquilo y calmo a pesar de que nuestros
circuitos echen humo por los cuatro costados. Todo error que se busca, al
encontrarlo y solucionarlo, es un aprendizaje que queda grabado. Puede sonar
muy extraño pero la asimilación del conocimiento es directamente proporcional
al daño provocado. Es decir, cuanto más grave y más caras sean las roturas,
mayores serán los aprendizajes de saber qué es lo que NO se debe hacer y por
qué suceden algunas cosas.

No fue Dios el culpable de que algo no nos funcionara, sino que somos nosotros
los que hemos metido mal algún cable. Un buen paseo, una buena caminata y al
día siguiente retomar el trabajo es una de las mejores formas de vencer la
frustración. Por eso, siempre hay que revisar, revisar, revisar y volver a
revisar todas las conexiones antes de conectar la energía al circuito. Nada debe
dejarse librado al azar y mucho menos restarle importancia creyendo que hemos
hecho bien las cosas. Todos somos humanos y podemos cometer el error más
infantil que puedas imaginar. No olvides que muchas veces una parte del éxito
es una sumatoria de aprendizajes brindados por los fracasos.

Google es el mejor amigo del hombre

10 - Google es el mejor amigo del hombre (programador)


Si lo que buscas no está en Google, es porque no existe y eres un pionero en la
materia. Toneladas de material que puede ayudarte está allí en Google
esperándote para poner en marcha tu proyecto. En castellano, en inglés o en
arameo antiguo, lo que necesites estará en texto, imágenes y video. Nunca dejes
de consultar en Google antes de preguntar tus dudas a otros.

Conclusiones
A cada momento puedes descubrir un nuevo modo de estructurar un programa.
Disfruta de cada LED que puedas hacer brillar y no lo tomes como algo más;
detente y tómate un tiempo para analizar tu buen trabajo. Sin caer en narcisismos
banales, aprovecha cada buena rutina de programa para limpiar de tus hombros
los fracasos y las tristezas de los códigos que no te funcionaron. Siempre nos
parece que los fracasos son demasiado pesados. Solo en tu fuerza interior está la
manera de hacer que las alas que te brinda la concreción de un buen trabajo
inclinen la balanza y venzan el peso de las frustraciones.

Olvídate de frases bochornosas como “Pues es raro…”, “Nunca había pasado


antes”, “Pues ayer funcionaba…” o el clásico y nunca bien ponderado “Debe ser
un virus…”. Si no enfrentas el problema, nunca podrás vencerlo, y si no
abres tu mente y te cierras con terquedad sin intentar realizar otros caminos,
nunca esperes resultados diferentes.

Si has leído hasta aquí y eres un programador con experiencia, seguramente


tendrás más consejos para aquellos que recién comienzan. Te invitamos a
que los agregues en los comentarios. Gustosamente leeremos tus aventuras y
desventuras como programador. Recomendación: No cuentes sólo las ganadas.

Vous aimerez peut-être aussi