martes, 10 de marzo de 2009

3-El software.

En esta página vemos los pasos a seguir para instalar el software.

Una vez instalado ya podemos empezar a programar, recuerda que es en C , la mayoría de instrucciones son típicas de C (puedes ver varios tutoriales en la sección "descargas" "programación" ...aunque algunas instrucciones son exclusivas de Arduino:

true / false:

Es una constante que define el estado lógico. FALSE es simplemente 0 , mientras que TRUE es cualquier número diferente a 0, sin importar el tipo.

high / low :

Estas señales definen los niveles de las patillas del integrado como ACTIVADO (high) = 5 v o DESACTIVADO (low) 0v.

digitalWrite (13, HIGH) ;

Esta línea de programa activa el pin 13.

Input / output:

Se usa dentro de la instrucción pinMode ( ) , define al pin como entrada o salida.

pinMode (13,OUTPUT) ;

pinMode (pin, modo):

Se usa dentro del bucle setup ( ) y define el comportamiento del pin, entre entrada o salida.

pinMode (pin, OUTPUT); // ajusta “pin” como salida.

En Arduino los pines digitales están configurados por defecto como entradas, por lo que no necesitan que los declaremos explícitamente como entradas.

También es conveniente poner internamente una resistencia pullup de 20k a la cual se accede por software. Esto es útil al conectar actuadores como los pulsadores.

Acceso a la resistencia de pullup:

pinMode (pin , INPUT);

digitalWrite ( pin , HIGH);

Cuando configuramos un pin como salida esta puede proporcionar 40mA a otros dispositivos o circuitos, suficiente para encender un led con su correspondiente resistencia, pero no para activar un relé, un motor, etc.

Si conectamos un dispositivo que consuma más de 40mA o cortocircuitamos las salidas podemos quemar el chip.

A menudo es recomendable conectar una resistencia entre el pin de salida y el receptor una resistencia de 470Ω a 1K.

digitalRead (pin):

Lee el valor de un pin de entrada obteniendo como resultado HIGH (activado) o LOW (desactivado). “pin” puede configurarse con un valor de 0 a 13.

Dato = digitalRead (10); Guarda en “dato” el estado de la entrada 10.


digitalWrite (pin, valor):

Pone la salida indicada a HIGH (activada) 5v o LOW (desactivada) 0v, al igual que digitalRead a pin podemos asignarle un valor entre 0 y 13.


analogRead ( pin):

Lee un valor analógico con 10 bits de resolución. Esto solo funciona en los pines analógicos de 0 a 5 . El resultado d ela lectura es un entero con rango de 0 a 1023.

No es necesario declararlas como entradas ya que sólo funcionan como tal.


digitalWrite (pin, valor):

En los Arduino nuevos funciona en los pines 3,5,6,9,y 10, marcados como PWM (modulación por ancho de pulsos) ,el valor se asigna con un entero entre 0 y 255.

Un valor 0 genera un valor estable de 0 voltios en el pin indicado, 255 genera un valor de 5v. Para valores entre 0 y 255 se generan diferentes trenes de pulsos para provocar el mismo efecto que si se estuviese aplicando una tensión analógica de un valor entre 0 y 5. Por ejemplo con el número 128 , si lo aplicamos a un Led la apariencia del mismo sería medio encendido.

analogWrite (10, 200); // activa el pin 10 con la correspondiente señal PWM.

No se necesita declarar las salidas analógicas como tal.
El siguiente ejemplo lee una señal analógica y la convierte en un valor para la salida:

int led = 10 ; //led en el pin 10.

int pin = 0 ; // el potenciómetro se conecta a esta entrada.

int valor; //espacio donde guardaremos los datos.

void setup ( ){} // no es necesario setup.

Void loop

{

valor = analogRead (pin) // lee el valor del pin 0 y lo guarda en “valor”.

valor = valor /4 ; //convierte la entrada de 0 a 1023 en 0 a 255.

analogWrite (led, valor); //activa la salida con PWM correspondiente a “valor”.

}

delay (ms):
Para el programa según la cantidad de milisegundos indicada.

Delay (1000) ; // para un segundo.

millis ( ):
Devuelve el número de milisegundos desde que empezó a funcionar el programa actual, es un número entero largo.

Valor = millis ( ); // valor carga el número de milisegundos.
Este valor se pone a cero aproximadamente cada 9 horas.

min (X, Y):
Calcula el mínimo de los dos números y devuelve el menor.


max (X,Y):
Calcula el máximo del los dos números y devuelve el mayor

0 comentarios: