Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TUTORIALES ARDUINO
REFERENCIA PARA EL
PROGRAMADOR DEL LENGUAJE
ARDUINO
4 NOVIEMBRE, 2013
SHARE ON:
Os presentamos una referencia para el programador del lenguaje Arduino, con las distintas
instrucciones y sentencias disponibles en el lenguaje, organizados por categoras y con un ejemplo
de cada caso.
Operadores y comparadores
Seleccionar
Ocultar
COMPARADORES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//xigualay
x==y
//xdistintodey
x!=y
//xmenorquey
x<y
//xmayorquey
x>y
//xmenoroigualquey
x<=y
//xmayoroigualquey
x>=y
OPERADORES ARITMTICOS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//operadordeasignacin
a=b
//adicin
a+b
//substraccin
ab
//multiplicacin
a*b
//divisin
a/b
//modulo
a%b
OPERADORES DE BITS
1
2
3
4
5
6
7
8
9
10
11
12
13
//andbinario
a&b
//orbinario
a|b
//xorbinario
a^b
//notbinario
a~b
//desplazamientoaizquierda
14
15
16
17
a<<b
//desplazamientoaderecha
a>>b
OPERADORES COMPUESTOS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//incremento
a++
//decremento
a
//adicincompuesta
a+=b
//substraccincompuesta
a=b
//multiplicacincompuesta
a*=b
//divisincompuesta
a/=b
//andcompuesto
a&=b
//orcompuesto
a|=b
OPERADORES BOOLEANOS
1
2
3
4
5
6
7
8
//not
!a
//and
a&&b
//or
a||b
OPERADORES DE ACCESO
1
2
3
4
5
//operacionindireccin
*variable
//operaciondireccin
&variable
//tipovacio(soloparafunciones)
Seleccionar
Ocultar
void
BOOLEANOS
1
2
//booleano,falseotrue
boolean=false;
ENTEROS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//entero,16bits,de32,768a32,767
intvar=100;
//entero,16bits,de0a65535(exceptoenDue,dondeson32bits)
unsignedintvar=100;
//entero,16bits,de0a65535
shortvar=100;
//entero,32bits,de2,147,483,648a2,147,483,647
longvar=100000L;
//entero,32bits,de0a4,294,967,295
unsignedlongvar=100000L;
COMA FLOTANTE
1
2
3
4
5
//comafloante,32bits,de3.4028235E+38a3.4028235E+38.Precision6digitos
floatvar=1.117;
//idnticoafloat,exceptoenArduinoDuedondeesflotantede64bits
doublevar=1.117;
BYTES
1
2
3
4
5
//8bits,de0a255
bytevar=B10010;
//16bits,sinsigno,de0a65535
wordvar=10000;
CARACTERES
1
2
3
4
5
//8bits,de128a127
charvar='A';
//8bits,de0a255
unsignedcharvar=240;
//convierteachar
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char(variable);
//convierteabyte
byte(variable);
//convierteaint
int(variable);
//convierteaword
word(variable);
//conviertealong
long(variable);
//convierteafloat
float(variable);
CUALIFICADORES DE VARIABLES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//STATIC
//Variablesvisiblesnicamenteenelinteriordeunafuncin,
//ycuyovalorsemantieneentrellamadasalamisma.
staticintvariable;
//CONST
//Variablescuyovalornopuedeserredefinidotraslainicializacin
constfloatpi=3.14;
//VOLATILE
//Variablesenlasqueseindicaalcompiladorquenoguardeenlosregistros
//delmicroprocesador,sinoquefuerzalaactualizacinenmemoria.Estose
//hacecuandoexistelaposibilidaddequeelvalordelavariablesea
//modificadoporotroprocesoqueseejecutaconcurrentementeconelactual
//(porejemplocuandoseempleanhilosointerrupciones)
volatileintvariable=LOW;
Vectores
CREACIN DE VECTORES
1
2
3
4
5
6
7
8
//declararvector
intmiArray[5];
//iniciarvector
intmiArray[]={2,4,8,3,6};
//declarareiniciarvector
intmiArray[5]={2,4,8,3,2};
MANIPULACIN VECTORES
1
2
//asignarvaloraelementodelvector
miArray[0]=10;
Seleccionar
Ocultar
3
4
5
//obtenervalordeelementodelvector
x=miArray[4];
Cadenas de texto
Seleccionar
Ocultar
Seleccionar
Ocultar
charcadena1[15];
charcadena2[8]={'a','r','d','u','i','n','o'};
charcadena3[8]={'a','r','d','u','i','n','o','\0'};
charcadena4[]="texto";
charcadena5[8]="texto";
charcadena6[15]="texto";
//vectordecadenas
char*cadenaArray[]={"Cadena1","Cadena2","Cadena3",
"Cadena4","Cadena5","Cadena6"};
//literaldecadenadetexto
StringtxtMsg="Hola";
//convirtiendouncharaString
StringtxtMsg=String('a');
//convirtiendounliteralaString
StringtxtMsg=String("Texto");
//concatenandodosliteralesaString
StringtxtMsg=String("texto1"+"texto2");
Condicionales
CONDICIONAL ABREVIADO
1
condition?true:false;
CONDICIONAL IF
1
2
3
4
5
6
7
8
9
if(variable<10)
{
//accionA
}
if(variable<10)
{
//accionA
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
}
else
{
//accionB
}
if(variable<10)
{
//accionA
}
elseif(variable>=100)
{
//accionB
}
else
{
//accionC
}
switch(variable){
case1:
//accionA
break;
case2:
//accionB
break;
default:
//casopordefecto(opcional)
}
Bucles
BUCLE FOR
1
2
3
for(inti=0;i<=100;i++){
//accion
}
BUCLE WHILE
1
2
3
4
5
6
variable=0;
while(variable<100){
//accion
variable++;
}
BUCLE DO WHILE
Seleccionar
Ocultar
1
2
3
4
5
do
{
//accion
variable++;
}while(variable<100);
Funciones matemticas
FUNCIONES DE RANGO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//devuelvemnimoentraayb
min(a,b);
//devuelvemximoentraayb
max(a,b);
//devuelvevalorabsolutodea
abs(a);
//devuelvexrestringidoa(a,b)
constrain(x,a,b);
//interpolalinealmenteyentrex1,y1x2,y2
map(x,x1,x2,y1,y2);
POTENCIACIN
1
2
3
4
5
//devuelvea^b(ambostipofloat)
pow(a,b);
//devuelvelaraizcuadradadea
sqrt(a);
NMEROS ALEATORIOS
1
2
3
4
5
//inicializalasemilladelgeneradordenumerospseudoaleatorios
randomSeed(semilla);
//devuelveunnumeroaleatorioentreayb(ambostipolong)
random(a,b);
TRIGONOMETRIA
1
2
3
4
5
6
7
8
//devuelveelsenodea(atipofloatyenradianes)
sin(a);
//devuelveelcosenodea(atipofloatyenradianes)
cos(a);
//devuelvelatangentedea(atipofloatyenradianes)
tan(a);
Seleccionar
Ocultar
//devuelveelbytemenossigniticativodeunapalabraovariable.
lowByte(variable);
//devuelveelbytemssignificativodeunapalabra
//(oelsegundobytemenossignificativoenvariablesmayores)
highByte(variable);
//devuelveelbitndeunavariablex
//(siendoelbit0elmenossignificativo)
bitRead(x,n);
//escribeelbitndelavariablexconelvalorb
//(siendoelbit0elmenossignificativo)
bitWrite(x,n,b);
//ponea1elbitndelavariablex
bitSet(x,n);
//ponea0elbitndelavariablex
bitClear(x,n);
//obtieneelvalordelbitn(idnticoa2^n)
bit(n);
Funciones de textos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//delvuelveelcaracterenlaposicin3(idnticoatxtMsg[3];)
txtMsg.charAt(3);
//sustituyeelcaracterenlaposicin3por"A"(idnticoatxtMsg[3]="A";)
txtMsg.setCharAt("A",3);
//concatenatexto1ytexto2(idnticoatexto1=texto1+texto2;)
texto1.concat("texto2");
//devuelvelalongituddelacadena
txtMsg.length();
//devuelvelacadenaconvertidaenminsculas
txtMsg.toLowerCase();
//devuelvelacadenaconvertidaenmaysculas
txtMsg.toUpperCase();
//eliminaespaciosycarcteresincorrectos
txtMsg.trim();
//devuelvelacadenadetextocomoentero
txtMsg.toInt();
COMPARACIN
1
2
Seleccionar
//comparadoscadenas.Devuelve1sitexto1esmayorquetexto2,
//0sisoniguales,y1encasocontrario
Ocultar
3
4
5
6
7
8
9
texto1.compareTo(texto2);
//comparasidoscadenassoniguales(idnticoatexto1==texto2)
texto1.equals(texto2);
//comparasidoscadenassoniguales,ignorandomaysculasyminsculas
texto1.equalsIgnoreCase(texto2);
SUBCADENAS
1
2
3
4
5
6
7
8
//devuelveunasubcadenadelaposicion3ala10
txtMsg.substring(3,10);
//compruebasilacadenaempiezapor"texto",conoffset3
txtMsg.startsWith("texto",3);
//compruebasilacadenaempiezapor"texto",conoffset3
txtMsg.endsWith("texto");
BSQUEDA Y SUSTITUCIN
1
2
3
4
5
6
7
8
9
10
//devuelveelndicedelaprimeraocurrenciade'A',
//apartirdelaposicinoffset
txtMsg.indexOf('A',offset);
//devuelveelndicedelaltimaocurrenciade'A'
//previaalaposicinoffset
txtMsg.lastIndexOf('A',offset);
//sustituyelasocurrenciasde"texto1"por"texto2"
txtMsg.replace("texto1","texto2");
Funciones de usuario
VARIABLES GLOBALES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
intoption=1;
intcambiar(){
option=4;
}
voidsetup(){
Serial.begin(9600);
}
voidloop(){
cambiar();
Serial.print(option);//muestra4
delay(10000);
}
Seleccionar
Ocultar
intcambiar(var){
var=4;
}
voidsetup(){
Serial.begin(9600);
}
voidloop(){
intoption=1;
cambiar(option);
Serial.print(option);//muestra1
delay(10000);
}
intcambiar(int&var){
var=4;
}
voidsetup(){
Serial.begin(9600);
}
voidloop(){
intoption=1;
cambiar(option);
Serial.print(option);//muestra4
delay(10000);
}
intcambiar(int*var){
*var=4;
}
voidsetup(){
Serial.begin(9600);
}
voidloop(){
intoption=1;
cambiar(&option);
Serial.print(option);//muestra4
delay(10000);
}
DEVOLUCIN DE VALORES
1
2
intcambiar(){
intvar=4;
3
4
5
6
7
8
9
10
11
12
13
14
15
returnvar;
}
voidsetup(){
Serial.begin(9600);
}
voidloop(){
intoption=1;
option=cambiar();
Serial.print(option);//muestra4
delay(10000);
}
ENUMERACIONES
1
2
3
4
5
6
7
8
9
10
11
12
13
//declaracion
enummiEnumeracion{
opcion1,
opcion2,
opcion3
};
//ejemplodeuso
miEnumeracionvariable=opcion2;
if(variable==opcion2){
//accion
}
ESTRUCTURAS
1
2
3
4
5
6
7
8
9
10
11
12
//declaracion
structmiEstructura
{
intcampo1;
intcampo2;
charcampo3;
};
//ejemplodeuso
structmiEstructuravariable;
variable.campo1=10;
//declaraciones
typedefintnuevotipo;
typedefenummiEnumeracionnuevotipo;
typedefstructmiEstructuranuevotipo;
Seleccionar
Ocultar
5
6
7
//ejemplodeuso
nuevotipovariable;
Clases
Seleccionar
classMiRobot;
//definiciondeclaseejemplo
classMiRobot
{
public:
voidsaludar(); //muestra"Hola"
voidincCont(); //incrementacontador
intgetCont(); //devuelvecontador
voidsayCont(); //muestravalorcontador
voidsetCont(int);//inicializacontadoraunvalor
private:
intcont=0;
//variablecontadorprivada
};
//muestra"Hola"
voidMiRobot::saludar(){
Serial.println("Hola");
}
voidMiRobot::incCont(){
this>cont++;
}
//devuelvecontador
voidMiRobot::getCont(){
returnthis>cont;
}
//muestravalorcontador
voidMiRobot::sayCont(){
Serial.println(this>cont);
}
//inicializacontadoraunvalor
voidMiRobot::setCont(int_cont){
this>cont=_cont;
}
voidsetup(){
Serial.println("Iniciando");
Serial.begin(9600);
MiRobotrobot;
robot.saludar();//semuestrahola
}
voidloop(){
robot.incCont(); //seincrementaelcontador
Ocultar
49
50
51
robot.sayCont(); //muestraelvalor
delay(1000);
}
ARDUINO BASICO
PREVIOUS POST
NEXT POST
RELATED POSTS
MEDIR LA HUMEDAD DEL SUELO CON ARDUINO E HIGRMETRO FC-28
0Comentarios
Recomendar
LuisLlamas
Compartir
Ordenarporlosmsnuevos
Iniciaeldebate...
Selprimeroencomentar.
Suscrbete
Acceder
AadeDisqusatusitiowebAddDisqusAdd
Privacidad
Search
SIGUENOS EN
G+
SIGUE LEYENDO
TUTORIALES ARDUINO
ltimas entradas de Arduino
MEDIR LA HUMEDAD DEL SUELO CON ARDUINO E HIGRMETRO FC-28
RSS
OTRAS CATEGORIAS
DISEO
INFORMTICA
INGENIERIA
PROGRAMACION
ZONA GEEK
FREEWARE
LICENCIA
Excepto notacin expresa, los contenidos de este sitio se ofrecen bajo licencia Creative Commons
License BY-NC-SA.
Ms informacin
ENTRADAS RECIENTES
Medir la humedad del suelo con Arduino e higrmetro FC-28
Nuestro primer programa en Python
Controlar Arduino con C# y el puerto de serie
El mejor IDE para Arduino. Visual Studio con Visual Micro
Feliz Navidad! 2015
POLTICA DE COOKIES
Este web utiliza cookies propias y de terceros para ofrecerle una mejor experiencia y servicio. Al
navegar o utilizar nuestros servicios el usuario acepta el uso de las mismas. El usuario tiene la opcin
de impedir la generacin de cookies y la eliminacin de las mismas mediante la seleccin de la
correspondiente opcin en su navegador.