Kategorier: Alle - comunicación - arduino - programación

av omega lucario 1 år siden

590

Arduino ied

Un programa en Arduino se estructura en dos partes principales: Setup y loop. La función Setup se utiliza para la preparación inicial del programa, donde se declaran variables y se configuran los pines digitales como entradas o salidas, y se inicializa la comunicación serial.

Arduino ied

variables

Una variable debe ser declarada y opcionalmente asignada a un determinado valor. En la declaración de la variable se indica el tipo de datos que almacenará (int, float, long)

Sentencia de acondicionales

El lenguaje de arduino permite realizar sentencias condicionales if, if... else, for, while, do... while. Su utilización es similar a las funciones correspondientes en C

Operadores aritméticos

Empleando variables, valores constantes o componentes de un array pueden realizarse operaciones aritméticas y se puede utilizar el operador cast para conversión de tipos. Ej. int a = (int)3.5; Además pueden hacerse las siguientes asignaciones: x ++. Lo mismo que x = x + 1. x --. Lo mismo que x = x - 1, or decrements x by -1. x += y. Lo mismo que x = x + y, or increments x by +y. x -= y. Lo mismo que x = x - y . x *= y. Lo mismo que x = x * y. x /= y. Lo mismo que x = x / y. Para su utilización en sentencias condicionales u otras funciones Arduino permite utilizar los siguientes operadores de comparación: x == y. x es igual a y. x != y. x no es igual a y. x < y, x > y, x <= y, x >= y. Y los siguientes operadores lógicos: Y lógico: if (x > 0 &#38;&#38; x < 5). Cierto si las dos expresiones lo son. O lógico: if (x > 0 || y > 0). Cierto si alguna expresión lo es. NO lógico: if (!x > 0). Cierto si la expresión es falsa. El lenguaje de Arduino presenta las siguientes constantes predefinidas: TRUE / FALSE.HIGH/LOW. Estas constantes definen los niveles de los pines como HIGH o LOW y son empleados cuando se leen o escriben en las entradas o salidas digitales. HIGH se define como el nivel lógico 1 (ON) o 5 V. LOW es el nivel lógico 0, OFF, o 0 V.INPUT/OUTPUT. Constantes empleadas con la función pinMode() para definir el tipo de un pin digital usado como entrada INPUT o salida OUTPUT. Ej. pinMode(13, OUTPUT);

tipos de variables
Cuerda
doble
flotador
sin firmar
largo
unsigned int
En t
byte
carbonizarse
variables de uso

Una vez que se han declarado las variables, se pueden definir estableciendo la variable igual al valor que se desea almacenar con el operador de asignación

 (signo igual individual). El operador de asignación le dice al programa que coloque lo que esté en el lado derecho del signo igual en la variable del lado izquierdo.

inputVariable1 = 7; // establece la variable llamada inputVariable1 en 7
inputVariable2 = analogRead (2); // establece la variable llamada inputVariable2 al
                                // lectura del voltaje de entrada (digitalizado) del pin analógico n. ° 2


Variable Rollover

Cuando se hace que las variables excedan su capacidad máxima, vuelven a su capacidad mínima, tenga en cuenta que esto sucede en ambas direcciones.

  byte x;
  x = 0;
  x = x - 1; // x ahora contiene 255 - se da la vuelta en neg. dirección
  x = 255;
  x = x + 1; // x ahora contiene 0 - rollos sobre


variables de iniciacion

Las variables se pueden inicializar (se les asigna un valor inicial) cuando se declaran o no. Sin embargo, siempre es una buena práctica de programación verificar nuevamente que una variable tenga datos válidos, antes de acceder a ella para otro propósito.

Ejemplo:

int calibrationVal = 17; // declara calibrationVal y establece el valor inicial 


variables de alcance

Otra opción importante a la que se enfrentan los programadores es dónde declarar las variables. El lugar específico donde se declaran las variables influye en la forma en que varias funciones de un programa verán la variable. Esto se llama alcance

 variable .

variables declaradas

Antes de que se utilicen, todas las variables deben declararse. Declarar una variable significa definir su tipo y, opcionalmente, establecer un valor inicial (inicializar la variable). Las variables no tienen que inicializarse (se les asigna un valor) cuando se declaran, pero a menudo son útiles.

int inputVariable1;
int inputVariable2 = 0; // ambos son correctos


Entrono de desarrollo

componentes

AREF
RX
TX
ICSR
5032
T16.000
mega16v2
SPX 16.000Y
Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader
Subtema
Clock Speed 16 MHz
Microcontroller
ATmega328

pines

entradas

Pines de poder
Vin
5V
3.3V
Pines analógicos
A5
A4
A3
A2
A1
A0

salidas

salida de pines digitales
0
1
2
3
4
5
6
7
8
9
10
11
12
13
GND

puertos

External Power Supply
Usb interface

funciones

Una función es un bloque de código identificado por un nombre y que es ejecutado cuando la función es llamada. La declaración de una función incluye en primer lugar el tipo de datos que devuelve la función (e.j. int si lo que devuelve es un valor entero). Después del tipo de datos se especifica el nombre de la funció<bookmark>OLE_LINK1</bookmark>int delayVal() { int v; // crea una variable temporal 'v' v = analogRead(pot); // lee el valor del potenciómetro v /= 4; // convierte los valores 0-1023 a 0-255 return v; // devuelve el valor final de la variable }

se dividen en

funciones de generación automática

randomSeed(seed). Especifica un valor o semilla como el punto de inicio para la función random(). Este parámetro debe ser realmente aleatorio y para ello puede emplearse la función millis() o incluso analogRead() para leer ruido eléctrico desde una entrada analógica.random(max), random(min, max). Esta función devuelve un valor aleatorio entre el rango especificado.

funciones de tiempo y matematicas

delay(ms). Realiza una pausa en el programa la cantidad de tiempo en milisegundos especificada en el parámetro (máximo 1000, mínimo 1).millis(). Devuelve la cantidad de milisegundos que lleva la placa Arduino ejecutando el programa actual como un valor long unsigned. Después de de 9 horas el contador vuelve a 0.min(x,y). max(x,y). Devuelve el mínimo y el máximo respectivamente de entre sus parámetros.

arduino uno rev3

Estructura básica de un programa

La estructura básica de programación de Arduino es bastante simple y divide la ejecución en dos partes: setup y loop. Setup() constituye la preparación del programa y loop() es la ejecución. En la función Setup() se incluye la declaración de variables y se trata de la primera función que se ejecuta en el programa. Esta función se ejecuta una única vez y es empleada para configurar el pinMode (p. ej. si un determinado pin digital es de entrada o salida) e inicializar la comunicación serie. La función loop() incluye el código a ser ejecutado continuamente (leyendo las entradas de la placa, salidas, etc.).

Puerto serial

Serial.begin(rate). Abre un Puerto serie y especifica la velocidad de transmisión. La velocidad típica para comunicación con el ordenador es de 9600 aunque se pueden soportar otras velocidades.Serial.println(data). Imprime datos al puerto serie seguido por un retorno de línea automático. Este comando tiene la misma forma que Serial.print() pero este último sin el salto de línea al final. Este comando puede emplearse para realizar la depuración de programas. Para ello puede mandarse mensajes de depuración y valores de variables por el puerto serie. Posteriormente, desde el entorno de programación de Arduino, activando el "Serial Monitor" se puede observar el contenido del puerto serie, y, por lo tanto, los mensajes de depuración. Para observar correctamente el contenido del puerto serie se debe tener en cuenta que el "Serial Monitor" y el puerto serie han de estar configurados a la misma velocidad (Para configurar la velocidad del puerto serie se hará con el comando Serial.begin(rate)).Serial.read().Lee o captura un byte (un caracter) desde el puerto serie. Devuelve -1 si no hay ningún carácter en el puerto serie.Serial.available(). Devuelve el número de caracteres disponibles para leer desde el puerto serie.