Please enable JavaScript.
Coggle requires JavaScript to display documents.
Funciones Básicas de la Programación Arduino (Bits y Bytes (bitWrite()…
Funciones Básicas de la Programación Arduino
E/S Digitales
pinMode()
Configura el pin
digitalWrite()
Escribe un valor HIGH o LOW
Configura como OUT con el voltaje correspondiente en el pin seleccionado.
Configura como INPUT para habilitar y deshabilitar la resistenacia interna de pull up del correspondiente pin.
digitalRead()
Lee el valor del pin correspondiente como HIGH o LOW.
Bits y Bytes
bitWrite()
Escribe un bit en una variable numérica en una posición especificada.
bitSet()
Pone a 1 el bit especificado en una variable.
bitRead()
Lee un bit de un número en una posición especificada.
bitClear()
Pone a 0 el bit especificado en una variable.
highByte()
Extrae el octeto (byte) de mayor peso de una palabra (o el segundo byte de menor peso de un tipo de datos de mayor tamaño).
bit()
Calcula el valor del bit especificado (el bit 0 vale 1, el bit 1 vale 2, el bit 2 vale 4, etc.).
lowByte()
Extrae el octeto (byte) de menor peso de una variable (el byte más a la derecha).
Matemáticas
tan(rad)
Calcula la tangente de un ángulo (expresado en radianes). El resultado estará comprendido entre -∞ y +∞.
pow(base, exponent)
Calcula el valor de un número elevado a una potencia. Pow() puede ser usado también para elevar un número a una potencia fraccional. Esto es muy útil para generar los valores de una curva (que generalmente se expresa en términos de exponentes fraccionales).
map(value, fromLow, fromHigh, toLow, toHigh)
Trasforma un número de una escala a otra. Es decir, un valor (“value”) igual a “fromLow” se transformaría en “toLow” y un valor igual a “fromHigh” se transformaría en “toHigh”. Los valores dentro del rango fromLow-fromHigh se transformarían proporcionalmente en valores dentro del rango toLow-toHigh.
sqrt(x)
Calcula la raíz cuadrada de un número.
sin(rad)
Calcula el seno de un ángulo (expresado en radianes). El resultado estará comprendido entre -1 y 1.
cos(rad)
Calcula el coseno de un ángulo (expresado en radianes). El resultado estará comprendido entre -1 y 1.
constrain(x, a, b)
Limita a un número a permanecer dentro de un rango.
min(x, y)
Calcula el mínimo de dos números
max(x, y)
Calcula el máximo de dos números
abs(x)
Calcula el valor absoluto de un número.
Interrupciones externas
detachInterrupt()
Desactiva una interrupción dada.
attachInterrupt()
Esta función determina la rutina (programa) que se ha de ejecutar cuando se presenta una interrupción. La ejecución de attachInterrupt() reemplaza cualquier otra función de interrupción que estuviera asociada con esa interrupción. La mayor parte de las placas Arduino tiene dos entradas para interrupciones externas: la número 0 (asociada con el pin digital No 2) y la número 1 (asociada al pin digital número 3).
Interrupciones
interrupts()
Esta función vuelve a activar las interrupciones (tras que éstas hayan sido desactivadas por la función noInterrupts()). Las interrupciones permiten la ejecución de ciertas tareas importantes mientras el procesador ejecuta un sketch y están activadas por defecto.
Algunas funciones no podrán ser llamadas mientras las interrupciones estén desactivadas (porque utilizan interrupciones) y las comunicaciones de entrada no serán leídas. Las interrupciones pueden incrementar el tiempo de ejecución del código principal. Por esta razón puede ser recomendable desactivarlas durante la ejecución de partes particularmente importantes del código de nuestro sketch.
olinterrupts()
Esta función desactiva las interrupciones (puedes activarlas con la función interrupts() que acabamos de ver). Las interrupciones permiten la ejecución de ciertas tareas importantes mientras el procesador ejecuta un sketch y están activadas por defecto.
Algunas funciones no podrán ser llamadas mientras las interrupciones estén desactivadas (porque utilizan interrupciones) y las comunicaciones de entrada no serán leídas. Las interrupciones pueden incrementar el tiempo de ejecución del código principal.
Por esta razón puede ser recomendable desactivarlas durante la ejecución de partes particularmente importantes del código de nuestro sketch.
Números aleatorios
random()
La función random() general números pseudo-aleatorios.
randomSeed(seed)
randomSeed() sirve para inicializar el pseudo generador de números aleatorios. El parámetro le dice a la función en que punto de la secuencia debe de comenzar. Esta secuencia, que es muy larga y aleatoria es siempre la misma.
En caso de que necesitemos que la secuencia de números generados por la función random() sea diferente en diferentes ejecuciones del mismo sketch se recomienda el uso de randomSeed() para inicializar el generador de números aleatorios con una entrada (seed) más o menos aleatoria (como por ejemplo la lectura de analogRead() en un pin libre).
Por otra parte, puede ser interesante en ciertas ocasiones disponer de series de números pseudo aleatorios que se repiten exactamente de la misma manera. Esto puede conseguirse llamando a randomSeed() con número fijo antes de comenzar la secuencia aleatoria.
E/S Analógica
analogReference()
Configura la referencia de voltaje para la entrada analógica.
analogRead()
Lee el valor del pin analógico específico.
analogWrite()
Escribe un valor analógico (onda PWM) al pin específico. No en todo los pines digitales se puede aplicar PWMNo en todo los pines digitales se puede aplicar PWM.
constrain(x, a, b)
Restringe un número para estar dentro de un rango.
map(value, fromLow, fromHigh, toLow, toHigh)
Vueleve a mapear un número de un rango a otro. Es decir, un valor de fromLow se asignaría a toLow, un valor de fromHigh a toHigh, valores intermedios a valores intermedios, etc.
E/S Avanzada
*noTone()
Termina la generación de la onda cuadrada que fue comenzada por una función tone(). No tiene ningún efecto si no se ha ejecutado ninguna función tone() sobre ese pin antes.
tone()
Genera una onda cuadrada de la frecuencia específica ( y un ciclo de trabajo del 50%) en un pin específico.
shiftOut()
Cada bit se emite por riguroso orden en el pin indicado.
Emite un byte bit a bit por el pin indicado
Una vez que el bit está disponible en el pin, el pin de reloj (clock pin) conmuta (alta al comienzo, baja a continuación) para indicarque el bit está disponible en pin de salida.
shiftIn()
Lee un byte bit a bit del pin de entrada especificado
Como en la función anterior (shiftout) podemos especificar el sentido de lectura (de izquierda a derecha o viceversa).
Cada operación de lectura se realiza así: cuando el pin reloj (“clock pin”) se pone en alta (HIGH) se procede a leer el bit en el pin, a continuación el pin reloj se pone en baja tensión (LOW).
PulseIn()
Lee un pulso (HIGH o LOW) de un pin determinado. Por ejemplo, si el valor especificado como parámetro es HIGH, pulseIn() espera a que el pin esté en HIGH, en ese momento comienza la cuenta (timing) hasta que la tensión en el pin esté en LOW momento en que cesa la cuenta. pulseIn() devuelve la duración del pulso en microsegundos.
Asimismo, pulseIn() devuelve control con un cero como return si el pulso no comienza dentro de un periodo especificado (time out)
Edelin Rosario Lima
Mat:. 17-9627