Está en la página 1de 6

10 Consejos para un programador novato

Nadie nace sabiendo ni siendo un experto en cualquier tema. Todo lleva un tiempo de aprendizaje, de prctica y
de aplicacin. Desarrollar programas eficaces y funcionales para microcontroladores no es la excepcin de esta
regla. En este artculo no aprenders a programar sino que encontrars los consejos ms importantes que te
guiarn por el camino menos frustrante hacia una realizacin exitosa. Participa de los mejores consejos que se
brindan en los foros ms importantes de toda la Web y descubre los secretos que utilizan los programadores ms
avezados. Entra al mundo geek y s parte de l.


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 aos muchos de estos espacios en busca de informacin y conocimientos, he
encontrado que la mayora de los interrogantes y consejos que se brindan a quienes
recin 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 razn es muy obvia y sencilla: cada da hay ms gente con ansias de aprender, y
como sabemos que t eres uno de ellos, hemos preparado un pequeo listado de las
cosas ms 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 programacin que utilices, existen mtodos de trabajo que,
cuando te acostumbras a ellos, comienzas a descubrir que todo se vuelve ms fluido,
ms sencillo y ms rpido. 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 programacin espera por t



Al comenzar, las dudas son interminables y los miedos al fracaso suelen ser los
culpables de que muchos abandonen su inters por el mundo de los microcontroladores.
No hay que dejar de tener en cuenta que la informacin est tan dispersa en la red que
encontrar lo que estamos buscando es a veces ms difcil 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
pequeos Tips, aprndelos, ponlos en prctica y deslmbranos con tu creatividad.

1 - El Datasheet del microcontrolador
Una de las mayores razones de confusin y de complicaciones al desarrollar un
proyecto es la falta de informacin del microcontrolador que se desea utilizar. Las hojas
de datos son los documentos ms importantes que debemos acopiar al momento de
decidirnos e inclinarnos por un determinado tipo de microcontrolador.

Por ejemplo, si en tu diseo 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
estn all. Todo lo que necesitas saber est all. No te permitas iniciar un desarrollo sin
haber ledo las hojas de datos del microcontrolador que utilizars. Un registro mal
seteado y nada funcionar. Desde la configuracin inicial del dispositivo (fuses),
pasando por los registros de los ADC (Analog to Digital Converter) o los mdulos CCP
que te permiten obtener seales PWM, hasta la mismsima configuracin del reloj o
clock del sistema. Todo est all.

2 - Piensa en tus objetivos, suea 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
perfeccin. Qu componentes adicionales necesitara? 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 utilzala como un microcontrolador: optimiza este recurso y utilzalo slo
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 ms comunes de los que recin se inician es querer obtener ms de lo
que pueden llegar a comprender. No intentes hacer como primer trabajo un cartel
luminoso de LEDs para venderlo en los estadios de ftbol y volverte millonario la
semana prxima. Ni siquiera pretendas construir y empuar el sable lser de Obi-Wan
Kenobi y ser la envidia del colegio. No, no!


No pretendas comenzar por lo ms difcil


Si no tienes nocin de la complejidad del proyecto que emprenders es porque no has
ledo 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
diversin que significa construir y materializar nuestros sueos mientras vamos
aprendiendo. SIEMPRE comienza con lo ms elemental y, a medida que los xitos
comiencen a llegar, puedes ir agregando complejidad a los diseos. Adems, 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 bsicos y la terminologa tcnica y
desarrolla pequeos proyectos de luces, motores o pantallas LCD. Luego, comienza a
hacer un poco de jogging y trote liviano con algo ms complejo como letreros de luces
y pequeos controles de los que se utilizan en industrias. La domtica y la mecatrnica
son dos campos muy interesantes y amplios como para sumar buena experiencia. Si no
salteas ninguno de los pasos, muy pronto estars corriendo grandes competencias a la
par de los profesionales.

4 - Corta la pizza en porciones, no la comas entera
Por ms 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 unsono no es algo fcil. Organzate y preprate 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 patrn de accin puede ocasionarte errores al momento de
construir el proyecto. Por ejemplo, si decides incorporar un Puente H para mover un
motor, contrlalo antes de conectarlo al microcontrolador. Es decir, conctalo y
prubalo 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 lgicos estos consejos


5 - No slo la fuerza te guiar, deja que el Sr. Spock tambin lo haga.
Tus inspiraciones sern una avalancha de imgenes y pequeos trailers en tu
imaginacin, pero en el teclado debers actuar de manera puramente lgica. El nmero
uno, nos guste o no, est antes que el dos. Primero el cero, luego el uno, despus 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 lgico y, por lo tanto, los microcontroladores tambin. Si tu mente se
acostumbra a razonar de esta manera, programar ser un juego de nios para ti.

6 - El pseudo-cdigo tambin es lgico.
Te puede parecer arcaico, poco profesional y hasta una prdida 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:

* Necesito una variable (A) que contenga un valor 20 al iniciar.
* Tambin otra (B) que valga 18 en el mismo momento.
* Despus 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, adems de optimizarlo.
Cuando lo aprendes en la escuela, te lo ensean 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.
Organza tu trabajo en partes y/o bloques
Organza tu trabajo en partes y/o bloques

Algo que puede parecer muy intrascendente, pero que es de vital importancia, es
comentar cada lnea de cdigo que escribamos. Aunque creamos que es intil, si no lo
haces, terminars arrancndote los cabellos una semana despus 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 lnea de cdigo significar que el
prximo 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
cmodo 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
adems tambin conectas siempre tus desarrollos a un ordenador a travs de un puerto
RS-232, tendrs siempre un gran bloque de programa que se repite diseo tras diseo.

Cuando comienzas a darte cuenta que muchos de tus diseos repiten pasos o bloques,
all empiezas a armar tus templates que son plantillas pre-armadas de cosas que se
reiteran habitualmente. Consrvalas y organzalas en lugares prcticos y de fcil acceso.
Te servirn para ahorrar mucho tiempo al momento de iniciar el diseo 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 mayora de los foros o grupos de correo que aglutinan a miles de entusiastas de los
microcontroladores sera muy fcil registrarse gratis, realizar consultas y, una vez que
nos brindan las respuestas, seguir adelante. Adems, 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 estn complicando el diseo, busca
dentro de los foros, utiliza Google, lee algn 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 aprenders lo suficiente. Adems, cuando te den la solucin a tu
problema, no sabrs entender que dicha solucin slo la pudiste obtener all porque no
tienes idea de lo que buscas. Todos siempre necesitamos una ayuda hasta en la tontera
ms insignificante, pero la comodidad y la holgazanera 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 solucin contando lo que has realizado y los resultados que
has obtenido. Si no haces nada, y slo te limitas a pegar el enunciado que te han dado
tus profesores, no esperes que alguien te ayude.


No permitas que la frustacin se apodere de t


9 - La frustracin 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 desafo 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 extrao pero la asimilacin del
conocimiento es directamente proporcional al dao provocado. Es decir, cuanto ms
grave y ms caras sean las roturas, mayores sern 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 algn cable. Un buen paseo, una buena caminata y al da siguiente
retomar el trabajo es una de las mejores formas de vencer la frustracin. Por eso,
siempre hay que revisar, revisar, revisar y volver a revisar todas las conexiones antes de
conectar la energa 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 ms 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
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 esperndote para poner en
marcha tu proyecto. En castellano, en ingls o en arameo antiguo, lo que necesites
estar en texto, imgenes 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 ms; detente y tmate 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
cdigos 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
concrecin de un buen trabajo inclinen la balanza y venzan el peso de las frustraciones.

Olvdate de frases bochornosas como Pues es raro, Nunca haba pasado antes,
Pues ayer funcionaba o el clsico y nunca bien ponderado Debe ser un virus.
Si no enfrentas el problema, nunca podrs vencerlo, y si no abres tu mente y te cierras
con terquedad sin intentar realizar otros caminos, nunca esperes resultados diferentes.

Si has ledo hasta aqu y eres un programador con experiencia, seguramente tendrs ms
consejos para aquellos que recin comienzan. Te invitamos a que los agregues en los
comentarios. Gustosamente leeremos tus aventuras y desventuras como programador.
Recomendacin: No cuentes slo las ganadas.
http://www.taringa.net/posts/info/3289448/10-Consejos-para-un-programador-novato.html

También podría gustarte