SEMANA IV Comandos Mínimos en Arduino
SEMANA IV Comandos Mínimos en Arduino
arduino
SEMAN IV
min(x, y)
• Calcula el mínimo de dos números para cualquier tipo de datos
devolviendo el número más pequeño.
• valor = min(valor, 100); // asigna a valor el más pequeños de los dos números
especificados.
• valor = max(valor, 100); // asigna a valor el mayor de los dos números 'valor’
y 100.
• De esta manera nos aseguramos de que valor será como mínimo 100.
randomSeed(seed)
• Establece un valor, o semilla, como punto de partida para la función
random().
• Los saltos que podemos realizar con Arduino están limitados a la pila de
programa, no pueden ser infinitos, por lo que no es recomendable anidar
bucles y saltos, ya que podemos romper el flujo de programa
Return
• Termina una función y devuelve un valor desde una función a la
función que llama, si se desea.
Lo que escribamos por debajo de return en la función donde lo
usemos, no se ejecutará nunca. Ya que, cuando llega a return, vuelve
a la función que lo llamó..
Break
• es una sentencia que se debe de evitar a toda costa, tan solo
debemos usarla cuando sea totalmente necesario. Esta sentencia
rompe la iteración del bucle donde se encuentre, haciendo salir al
programa del bucle sin tener en cuenta que se cumplan las
condiciones para salir del mismo.
Entradas y salidas E/S
• cuenta con pines E/S para
comunicarse con el exterior. Estos
pines E/S tienen características
especiales que los hacen propicios
para una u otra tarea en función
del tipo de pin. Estas E/S pueden
englobarse en 3 tipos básicos, E/S
analógicas, E/S digitales y E/S para
la comunicación serie.
• Existen también pines de
propósito especiales como salidas
de reloj u osciladores y pines de
alimentación con los que
podemos suministrar diferentes
tensiones a placas externas
• Los pines de Arduino están configurados por defecto como entradas, por
lo que no es necesario indicarles el modo de trabajo si vamos a trabajar
con ellos como entradas.
• Las entradas se encuentran en un estado de alta impedancia, lo que va a
evitar en muchos casos que dañemos la placa al realizar una mala
conexión. Si establecemos un pin como salida y por error entra corriente
por dicho pin lo más seguro es que dañemos el microcontrolador de
manera irreversible.
• Los pines que tengamos configurados como salida (OUTPUT) van a
suministrar una corriente máxima de 40mA por separado, sin que la
corriente total de las salidas pueda superar los 200mA. Esta corriente es
suficiente para hacer brillar un led, pero insuficiente para activar
elementos de mayor potencia.
E/S Digitales
• Los pines asignados a E/S digitales, son pines que trabajan con dos
estados HIGH (alto) o LOW (BAJO). Según el modelo de Arduino que
estemos usando, va a tomar el estado HIGH (alto) como 5v o como
3.3v, el estado LOW (bajo) está asociado a un nivel de voltaje 0.
Lectura de entradas digitales (digitalRead)
• Al hacer una lectura digital, vamos a leer el valor de un pin
almacenando el resultado como HIGH (alto o 1) o como LOW (bajo o
0).
• valor = digitalRead (pin); //la variable "valor" toma el estado asociado al pin
• valor = analogRead (pin); //la variable valor toma el nivel del pin analógico
• void setup()
• {
• Serial.begin (9600); //abre el puerto serie estableciendo la
• velocidad en 9600
• } //baudios
• Arduino, puede tener 1 o más puertos para la comunicación serie, estos puertos
estarán numerados y deberán de abrirse de manera independiente según los que
queramos usar.
Escritura en el puerto serie (Serial.print)
• Si queremos que Arduino muestre información a través del puerto serie,
debemos de usar instrucciones que "impriman" en pantalla dicha
información.
• Para imprimir estos datos se usa el comando Serial.print, que mandará a
través del puerto serie el dato o la cadena de caracteres que le indiquemos.
Esta instrucción tiene algunas variantes, que veremos a continuación.
• Esta función va a detener el flujo de programa, haciendo que durante este tiempo
no se detecten eventos como pueden ser presionar un pulsador o la activación de
un sensor, esto puede ocasionar graves problemas en la aplicación, por lo que
siempre que se pueda hay que evitar usar la instrucción delay().
• es muy útil cuando ejecutamos tareas que requieren un tiempo mínimo para
dicha ejecución, como por ejemplo, para leer memorias externas o comunicarnos
con algunos dispositivos vamos a necesitar un tiempo mínimo para acceder a la
memoria o establecer la comunicación, este tiempo lo obtenemos deteniendo el
programa los milisegundos necesarios.
DelayMicroseconds(μs)
• La instrucción delayMicroseconds() funciona igual que delay(), con la
diferencia de realizar las temporizaciones usando microsegundos (μs)
en lugar de milisegundos (ms).
• Esta instrucción nos va a permitir realizar temporizaciones mucho
menores, haciendo que el tiempo que detenemos el flojo de
programa sea prácticamente imperceptible.
• tiempo = millis(); //la variable "tiempo" toma el valor del tiempo transcurrido