You are on page 1of 10

MANUAL DE COMANDOS ARDUINO

Índice
COMANDOS BÁSICOS

1.-void setup………………………………1
2.-void loop ………………………………1
3.-símbolo “//”…………………………….1
4.-pinMode…..……………………………2
5.-digitalWrite…………………………….2
6.-int………………………………………3
7.-if………………………………………..3
8.-digitalRead……………………………..4
9.-delay………………………………..…..4
10.-const…………………………………..4
11.-Serial.begin…………………………...5
12.-Serial.print……………………………5
13.-analogRead……………………….......5
14.-for…………………………………….6
15.-analogWrite…………………………..7
16.-map…………………………………...7
17.-millis………………………………….8
18.-while………………………………….8
19.-tone…………………………………...8
COMANDOS ESPECIALES
20.-#include<Servo.h>……………………9
21.-Servo………………………………….9
22.-attach………………………………….9
23.-write…………………………………...9

0
COMANDOS BÁSICOS

Nota: Las mayúsculas y minúsculas importan, por lo tanto, cuidar este


punto.
1.- void setup () {
}

Necesario para la declaración de estados, aquí se declara de que forma


funcionaran los pines, etc.
Todo lo que se coloque aquí se correrá solamente una vez.
Ejemplo,
void setup () {
pinMode(3,INPUT);
}

2.- void loop () {


}

Es prácticamente un bucle infinito, todo el código que se coloque entre los


paréntesis se correrá repetidamente.
Ejemplo,
void loop () {
digitalWrite(3,HIGH);
}

3.- //

Se utiliza para escribir comentarios, notas para recordar que hace el


programa.
Ejemplo,
void setup (){
pinMode(3,INPUT); //el pin número 3 se declaró como salida.
}

1
4.- pinMode(pin,INPUT/OUTPUT);

Se utiliza para declarar el estado de un pin, en la parte donde dice pin va


colocado el número del pin, y en la parte de INPUT/OUTPUT va colocado
uno de estos dos estados, ya sea que el pin funcione;

Para que entren datos (o voltaje) en él, se le coloca la palabra INPUT


Para que de el pin salgan datos (o voltaje), se le coloca la palabra OUTPUT.

Ejemplo:
pinMode(4,OUTPUT); // del pin numero 4 funcionará como salida de datos,
// o salida de voltaje.

NOTA: nunca olvidar nunca el punto y coma al final de la función, o no


correrá el programa.

5.- digitalWrite(pin,LOW/HIGH);

Funciona para energizar o desenergizar a cierto pin declarado como salida


(OUTPUT) en pinMode.
En la parte de pin va colocado el número de pin que se quiere energizar o
desenergizar.

-Se coloca después de la coma LOW si se quiere desenergizar este pin.


-Se coloca después de la coma HIGH si se quiere energizar este pin.

Ejemplo:

void setup(){
pinMode(3,OUTPUT); //se declara el pin 3 como salida
}
void loop(){
digitalWrite(3,HIGH); //se energiza el pin 3, lo que esté conectado
} //directamente a él, encenderá

2
6.- int variable = 0;
Se utiliza para declarar una variable tipo entera, en la parte de variable se
coloca el nombre que se le quiera dar.
Esta se coloca antes del apartado de void setup(){}.

Ejemplo,
int patito = 0;
void setup{
}
void loop{
}
NOTA. Otras variables son:
“char, se utilizan para almacenar caracteres, ocupan un byte. byte, pueden
almacenar un número entre 0 y 255. int, ocupan 2 bytes (16 bits), y por lo
tanto almacenan número entre 2-15 y 215-1, es decir, entre -32,768 y 32,767.
unsigned int, ocupa también 2 bytes, pero al no tener signo puede tomar
valores entre 0 y 216-1, es decir entre 0 y 65,535. long, ocupa 32 bits (4
bytes), desde -2,147,483,648 a 2,147,483,647. float, son números decimales
que ocupan 32 bits (4 bytes). Pueden tomar valores entre -3.4028235E+38 y
+3.4028235E+38. double, también almacena números decimales, pero
disponen de 8-bytes (64 bit).”
Varelo, A. (14 de Diciembre de 2014).
http://diwo.bq.com. Obtenido de http://diwo.bq.com/variables-en-arduino/

7.- if (variable==algo){
}
else{
}
Condicional, si se cumple la condición, se ejecutará todo el código que se
encuentre entre las llaves.
Si no se cumple el condicional, se ignorará, o si existe un else{} se ejecutará
el código dentro de las llaves de este.

NOTA: Se escribe == en los paréntesis del condicional if, tener cuidado de


no colocar solamente un =, ya que esto creará problemas al código. El
ejemplo se mostrará con la descripción de la siguiente función.

3
8.- digitalRead(2);
Lee el estado de un pin que se declaró como entrada (INPUT) en pinMode.
Lee si está recibiendo energía, o no.

Ejemplo,
int estadopin = 0; //se declara una variable entera
void setup(){
pinMode(2,INPUT); //se declaran si los pines serán salidas o entradas
pinMode(3,OUTPUT);
}
void loop(){
estadopin = digitalRead(2); //si el pin 2 recibe voltaje este será igual a HIGH
if (estadopin == HIGH){ //si el estado del pin es HIGH (si recibe energía)
digitalWrite(3,HIGH); //entonces el pin 3 se energizará
}
else{ //si no es cierto que estadopin =HIGH
digitalWrite(3,LOW); //desenergiza el pin 3(o se mantiene apagado)
}
} //llave para cerrar void loop

9. delay (num);
Pausa el programa el número que se coloca en num en milisegundos.
Ejemplo,
delay (500); // pausa el programa 500 milisegundos, o sea medio segundo.

10.- const float constante = valordelaconstante;

Función para declarar una constante, en float se puede colocar, el tipo de


variable que se desee, en constante el nombre que se le quiera poner a la
constante. El valor puede ser, numero, caracteres, o pin analógico.
Ejemplo:
const int Pindelsensor =A0;

4
11.- Serial.begin(num);
Establece conexión entre la computadora y el Arduino, así tú puedes ver los
valores que entran en un pin análogo.
En el apartado num se coloca la velocidad en la cual el Arduino se
comunicará. Usualmente es número es 9600 (bits por segundo).

NOTA: Esta función solo establece comunicación entre la computadora y


el Arduino, para poder ver los valores que entran en un pin análogo hay
que usar la siguiente función, sin esta, la siguiente función no servirá.

12.- Serial.print(nombre); (ocupa la función Serial.begin( ) )


Muestra en la pantalla de la computadora el valor de la variable que se
escribe en el apartado de nombre, si se escribe algo entre comillas, se
mostrará lo que se escribió en la pantalla de la computadora.

El ejemplo se mostrará con la siguiente función.

13.- analogRead(nombre);
Lee el voltaje que está recibiendo el pin nombre, el valor que representa el
voltaje que lee, regresa como un número entre el 0 y el 1023.
Por ejemplo si recibe 5 volts, analogRead() valdrá 1023, si recibe (5/2)volts,
analogRead()= 1023/2, si recibe 0 volts, analogRead() será igual a 0.

Ejemplo,
const int sensor = A0; //se le llama cte porque siempre leerá A0
void setup () {
Serial.begin (9600); //un pin análogo no tiene que declararse }
void loop () {
int variable = analogRead (sensor); //leerá los valores que entran en A0
Serial.print (“El valor de la variable es: ”); //imprime texto escrito
Serial.print (variable);//imprime (muestra en la pantalla) el valor de la variable
}

5
14.- for (int variable = x; condición; variable ++/--){
}
Es un simple bucle donde todo el código dentro de sus llaves siempre que se
cumpla la condición.
-En el apartado variable se coloca el nombre de la variable y su valor en x.
-En el apartado condición se coloca la condición, tal como variable<y
donde el for se ejecutará siempre que la variable sea menor a y.
-En la siguiente parte se colocará la modificación de la variable, o sea, si esta
se sumará o se restará una unidad (++ o -- respectivamente).

Ejemplo, //se describirá todo el proceso


//en este momento
for (int pin=2; pin<5; pin++){ //pin=2, ya que 2<5, se ejecutará lo sig.
pinMode(pin, OUTPUT); //el pin 2 se declara como salida
digitalWrite(pin, LOW); //también se declara sin energía
} //en este punto se ejecuta pin++, por tanto pin=2+1=3

Ya que pin=3 y 3<5, se ejecuta lo que está entre llaves


pinMode(pin, OUTPUT); //ahora el pin 3 se declara como salida
digitalWrite(pin, LOW); //desenergizado

y al final pin=3+1=4
Ya que pin=4 y 4<5, se ejecuta lo que está entre llaves
pinMode(pin, OUTPUT); //ahora el pin 4 se declara como salida
digitalWrite(pin, LOW); //desenergizado

y al final pin=4+1=5

Ya que pin=5 y 5=5, NO se ejecuta lo que está entre llaves. Así, pudimos
declarar a los pines 2,3,4 como salida y apagados, con un pequeño código.

SOLO LO QUE ESTÁ EN NEGRITAS ES EL CÓDIGO.

6
15.-analogWrite(pin,valor);
Manda una salida de voltaje con la técnica PWM. Por tanto, se puede
suponer que manda voltaje que puede tener cualquier valor entre 0-5volts.
Si analogWrite()=0, voltaje=0v
Si analogWrite()=127, voltaje=(5/2)v
Si analogWrite()=255, voltaje=5v
NOTA: Esta función solo se puede utilizar en los pines con el símbolo (~).
NOTA: En realidad el voltaje no varía, sino el ancho del pulso, pero puede
verse de esta manera para su fácil entendimiento.
El ejemplo se muestra con la siguiente función.

16.-map (variable, valmin1, valmax1, valmin2, valmax2);


Esta función cambia las escalas de valores. Por ejemplo, si analogRead
manda valores entre 0-1023, esta función puede cambiar esta escala a tipo
PWM, o sea a una escala de 0-255, por lo que si antes la variable mandaba
información diciendo que valía 1023/2 ahora mandará información diciendo
que vale 255/2.
valmin1, es el valor menor de la escala original
valmax1, es el valor máximo de la escala original
valmin2, es el valor menor de la nueva escala
valmax2, es el valor máximo de la nueva escala

Ejemplo.
void setup () {
}
void loop (){
int val = analogRead (0);
val = map (val,0,1023,0,255);
analogWrite(9,val);
}

7
17.-millis ()
Función que sirve para saber el tiempo actual. Informa del tiempo que
Arduino lleva funcionando desde que ha sido encendido, o desde que se hizo
un reset.
Ejemplo se mostrará con la siguiente función.
NOTA: el tiempo es medido en milisegundos.

18.-while (condición){
}
Ejecuta las instrucciones que contiene durante el tiempo que se cumple la
condición indicada.

Ejemplo,
while(millis()<5000){ //se ejecuta lo sig. durante los primeros 5 segundos
pinMode(3, HIGH);
}

19.-tone(pin,frecuencia,tiempo);
Utilizado como su nombre lo supone, para generar un tono, en los
argumentos tenemos que colocar primero el pin de salida donde se encuentra
conectado nuestro dispositivo, la frecuencia de este, y el tiempo que este
sonará, se recomienda usar delay(10); después de este, para que Arduino
pueda leerlo.

Recordar que el oído humano, solo alcanza a oír frecuencias entre los 20Hz a
20kHz.
El ejemplo se dejará como ejercicio al lector.

8
Comandos Especiales
20.-#include <Servo.h>
Librería para utilizar los siguientes comandos funcionales en servomotores.

21.-Servo variable;
Se utiliza esta función para que la variable tenga todas las funciones y
capacidades que la librería servo posee. A si es como comunicamos a Arduino
que nuestra tal variable es nuestro servomotor.

22.-variable.attach(pin);
Dentro de la función setup() es necesario decirle a Arduino que pin está unido
al servomotor, esto se realiza con esta función. Actúa de forma análoga a
pinMode().

23.-variable.write(ángulo);
Funciona de manera análoga a la función digitalWrite().
Mueve el servomotor al ángulo que se indica dentro de la variable Angulo del
argumento de esta instrucción.
Ejemplo,
include#<Servo.h> //Librería necesaria para que funcione lo sig.
Servo servomotor; //se declara que servomotor es un servomotor.
angulo = 45; //angulo al que se moverá nuestro servo.

void setup() {
servomotor.attach(3); //se declara en que pin operará nuestro servo
}
void loop () {
servomotor.write(angulo); //el servo lee el ángulo y ejecuta la acción.
}