Anda di halaman 1dari 2

SET DE INSTRUCCIONES FUNDAMENTALES

PARA PROGRAMAR

ARDUINO

Estructura Bsica de Programacin


/* Comentarios extensos de ms de dos lneas de
cdigo */
// Comentarios en una sola lnea de cdigo
int pin=5; /* Se define a pin como una variable global entera de
valor 5 */
void setup{
/* El setup es el bloque en el cual se declara el tipo de
funcionamiento de los pines y los datos para las comunicaciones
USB, I2C, SPI,.. entre otras, se ejecuta una nica vez al
momento de encender o resetear la placa*/
pinMode(pin, OUTPUT); /* Configura a 'pin' como
salida digital */
}
void loop{
/* El Loop es el bloque que se ejecuta justo despus del setup
donde se ejecutan cclicamente las operaciones
programadas segn los eventos que se provoquen a la Placa */
digitalWrite(pin, HIGH); // Se pone el pin en estado alto 1
delay(1000); // Se genera una espera o retardo de 1000ms
digitalWrite(pin, LOW); // Se pone el pin en estado bajo 0
delay(1000); // Se genera una espera o retardo de 1000ms
}

Variables
GLOBALES
Son aquellas que sern ledas e implementadas por cualquier funcin y
estamento de un programa; en Arduino se declaran al comienzo del
programa, antes de setup().
LOCALES
Se considera como variable local a la variable que es creada dentro
de una funcin o como parte de su y solo es visible y puede usarse
dentro de la funcin en la que se declar.

Tipos de Datos

Operadores Generales
x = 2 => El valor de la constante se asigna a la variable x
z + 2 => Adicin entre el valor de z y la constante 2
y 4 => Sustraccin de la constante 4 al valor de y
y * 6 => Se multiplica el valor que posee y por la constante 6
y / 3 => El valor de y es dividido en el numero de 3 partes iguale
x > 5 => El valor de x es mayor que 5
z < 9 => El valor de z es menor que 9
x >= 10 => El valor de x es mayor o igual que 10
y <= 3 => El valor de y es menor o igual que 3
z == 10 => El valor de z es igual a la constante 10
y != 3 => El valor de y no es igual a 3
x ++ => Lo mismo que x = x + 1
x -- => Lo mismo que x = x - 1
x + = y => Lo mismo que x = x + 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
x && z => (And) Solo si las dos expresiones son ciertas
x || z => (Or) Si alguna de las dos expresiones es cierta

Arrays
// Podemos declarar un array indicando su tamao
int coleccion1[5];
// Y luego almacenando sus valores
coleccion1[0] = 1;
coleccion1[1] = 45;
/* O tambin se puede declarar e indicar los valores que
conforman el array */
int MyArray [3]={Valor1,Valor2,Valor3};
/* Tambien podemos evitar indicar el ndice porque ya detecta que su
tamao es cinco */
int MyArray []={4, 20, 43, 15, 16};
// Lectura de una posicin y asignacin de su valor a x
int x = MyArray [3];
// Los arrays pueden ser de ms de una dimensin
int MyArray [2] [4] = {{ 2, 3, 4, 5}, {5, 4, 2, 1}}
/* MyArray = I 2 3 4 5 I
I 5 4 2 1 I */

Constantes
HIGH LOW
true false
INPUT OUTPUT
152 Nmero decimal
0b11010011 Nmero binario
0x7B Nmero Hexadecimal
8U Force unsigned
12L Force long
12UL Force long unsigned
12.0 Punto flotante
3.6e4 36000

Conversion
char()

byte()

int()

word()

long ()

float()

Digital I/O
pinMode(pin, INPUT); // Configura a pin como una entrada de la tarjeta
digitalWrite(pin, HIGH); // Pone el estado de la salida pin en Alto 1
pinMode(pin, OUTPUT); // Configura a pin como una salida de la tarjeta
digitalWrite(pin, LOW); // Pone el estado de la salida pin en Bajo 0
int digitalRead (pin); // Lee el estado del pin

ANALOG I/O
Int A = analogRead(pin ); /* Lee el valor de la entrada Anloga pin y lo
guarda en A */
Int analogWrite(pin, x) ; /* Escribe en pin, un tren de pulsos segn
el valor de x, que va de 0 255 */

SET DE INSTRUCCIONES FUNDAMENTALES


PARA PROGRAMAR

ARDUINO
Tiempo
delay(20); // Genera una espera de 20 milisegundos
delayMicroseconds(50); // Genera una espera de 50 microsegundos

Matemticas
abs(5); // Devuelve el valor absoluto de un nmero (entero o decimal)
min(x, z); /* Devuelve el nmero de menor valor entre dos
nmeros x y z (entero o decimal) */
max(u, h); /* Devuelve el nmero de menor valor entre dos
nmeros u y h (entero o decimal) */
y= constrain(x, a, b); /* Define los valores mnimo y mximo que puede
poseer la variable x
x posee un valor que esta entre a y b; se devolver el valor x
x es menor que a; se devolver el valor de a
x es mayor que b; se devolver el valor de b
*/
x= pow(2,6); /* Devuelve el valor resultante de elevar el 2 a la 6
6
x= 2 =64 */
y= sqrt(9); /* Devuelve el valor resultante de la raz cuadrada de 9
y= 9 = 3 */
random(100); /* Devuelve un valor aleatorio entre 0 y 100
random(15, 60); /* Devuelve un valor aleatorio entre 15 y 60

Comunicacin Serial
Serial.begin (9600); /* Abre el puerto y lo configura a una velocidad de
9600 bps */
int A = Serial.Read(); // Lee y guarda un byte desde el puerto
Serial.print(5, DEC); // Envia via seral el valor decimal 5
Serial.println (b, DEC); /* Vuelca o enva un nmero o una cadena
de caracteres, en este caso al puerto serie, b como un nmero decimal en
caracteres ASCII seguido de "CR" y "LF".*/
Serial.println ( analogRead (0) ); /* enva valor analgico obtenido de la
entrada anloga 0 */
Serial.end(); // Cierra y finaliza la comunicacin serial

Estructuras de Control
if (x<=3) { sentencia 1; } // Si x es mayor o igual a 3 se realiza la sentencia 1
else { sentencia 2; } // Si x es menor que 3 se realiza la sentencia 2
for ( int i ==0; i<= 255; i++) { sentencia; } /* La sentencia se ejecutara segn
sea el valor de la condicin final en este caso 255 */
while (y > 3) { sentencia u; } /* Mientras y sea mayor que 3 se realiza la
sentencia u */
switch (y) { // Segn el valor de y se realizara alguna de las sentencias
case 1: // Si el valor de y es 1 se realizara la sentencia 1
sentencia 1;
break;
case 2: // Si el valor de y es 2 se realizara la sentencia 2
sentencia 2;
break;
case 3: // Si el valor de y es 3 se realizara la sentencia 3
sentencia 3;
break;
default: /* Si el valor de y es distinto de los anteriormente
enunciados se ejecuta la sentencia 0 */
sentencia 0;
}

Anda mungkin juga menyukai