domingo, 25 de marzo de 2012

Codigo y Funciones Arduino

En esta entrada analizaremos un poco más a detalle al código ya que en la pasada solo se tomo en cuenta como compilar, cargar programas al Arduino y trabajar con el IDE de Arduino. Primero que nada abrimos el código que utilizamos en el programa anterior de encendido de un LED. Abrimos nuevamente el IDE de Arduino vamos a File/Examples/Basics/Blink y ya tenemos el código para entender un poco que hace cada cosa, el lenguaje de programación que se maneja es C.

setup(): Esta función la mandamos a llamar cuando queremos iniciar un programa, cambiar el estado de los pines o empezar a usar librerías. En este caso se declara el estado del pin y entre paréntesis ponemos primero el número de pin que vamos a utilizar y si esperara una entrada o realizara una salida en este caso elegimos el pin 13 como salida.

pinMode: Como ya lo dije pinMode es para configurar uno de los pines del arduino como salida o entrada.

loop(): Después de haber iniciado nuestro programa con la función setup() podemos crear un ciclo con la función loop(), un ciclo nos sirve para realizar acciones con nuestro Arduino por ejemplo en este caso dentro del ciclo hacemos que el LED se encienda cierto tiempo y se apague otro cierto tiempo.

digitalWrite(): Esta función le da un valor de 0(LOW) o 1(HIGH) a alguno de los pines. Por ejemplo si el pin está en estado de salida y le damos un valor de 1 se envía un voltaje de 5v o en caso de que el valor sea 0 se mantiene o se envían 0v. Por otra parte si el pin está configurado como entrada si el valor es 1 se activa una resistencia de 20k y si el valor es 0 se desactiva la resistencia. Para este caso elegimos el pin 13 y se le envía un valor de 1(HIGH) lo cual manda voltaje al pin por consecuencia el LED se enciende después lo apagamos con el valor de 0(LOW).

delay(): Por ultimo tenemos la función delay() la cual sirve para pausar el programa por cierta cantidad de tiempo sus parámetros se manejan en milisegundos. En este caso se pausa el programa por un tiempo de mil milisegundos.

Ya explicada cada una de las funciones podemos modificar un poco el programa para entenderlo un poco mejor lo único que hare será cambiar los valores de tiempo y el pin que usamos.

Cambiamos el pin del 13 al 12 y utilizamos un tiempo de 10milisegundos.


Resultados:

Video del primero programa funcionando con delay de 1000ms
video


Video del programa funcionando con delay de 10ms parece como si el LED ya no parpadeara pero en realidad 10ms es tan rápido para ser apreciado por la vista humana pero si lo movemos se puede apreciar como enrealidad si esta parpadeando debido al camino de luz que se forma como lo podemos ver en la imagen de abajo.
video




Bibliografía:
http://www.ladyada.net/learn/arduino/lesson2.html
http://arduino.cc/en/Tutorial/Blink

1 comentario: