Está en la página 1de 10

10 consejos para un programador

novato
Mario Sacco . Vista 63087 veces
 Tweet

 146
 3
 149 Votos
 67 Comentarios
 67>> comenta
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
 Military Singles - PicsUSMilitarySingles.com - Official Site. 100% Register
free. Worldwide active community.

 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 CCPque 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 avisualizar 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 lamecatró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, peroescribir en un
papel todos los pasos que seguirá tu programa puede ser una ayuda muy
importante mientras vas redondeando la idea final. 
Por ejemplo:
 Necesito una variable (A) que contenga un valor 20 al iniciar.
 También otra (B) que valga 18 en el mismo momento.
 Después las sumo y coloco el resultado en una tercera variable que se
llamará C.
 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 unpuerto 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 Googleantes 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.

También podría gustarte