Está en la página 1de 21

Introduccin al lenguaje

PROCESSING para ARDUINO

ndice
Declaracin de variables
Estructura bsica de programas ARDUINO
Escribir los pines del ARDUINO
Leyendo los pines del ARDUINO
Estructuras condicionales
Comunicacin serial

Declaracin de variables
Las variables se declaran por lo general al principio
de un programa. Las variables se pueden utilizar
para darle nombre a datos obtenidos o para
asignarle un nombre fcil de recordar a ciertos
datos.
Estas se declarar poniendo primero el tipo de
variable(Puede ser decimal, entera, booleana,
binaria, caracter, texto, servo, etc) luego el nombre
y por ultimo su valor numrico (si lo tiene) seguido
de un fin de lnea ( o sea ;)

Ejemplo 1
Tipo de variable (en este caso es
una variable entera)

int

caliente

La variable se llama caliente

= 39;

Este es el valor numrico de la


variable, en este caso es igual a
39, seguido de un fin de linea

Ejemplo 2
Tipo de variable (en este caso es
un servo)

servo codo ;

Aqu debera haber un valor, pero ya que no podemos definir un


El servo
llama
servose
como
uncodo
nmero, no escribimos nada y solo ponemos el fin de
lnea, de ahora en adelante podremos utilizar la variable codo
para manejar ese servo

Ejemplo 3
Tipo de variable (en este caso es
una variable entera)

int

temperatura

La variable se llama temperatura

Este es el valor numrico de la


variable queda en blanco, lo
podemos modificar mas adelante
en el programa

Estructura bsica de programas arduino


Todos los programas arduino deben contener dos
rutinas, que son setup() y loop() (significan
instalacin y bucle respectivamente) la rutina
setup() se usa para definir pines como entradas o
salidas, o para hacer cualquier otra cosa que solo
se tenga que hacer al iniciar el programa, luego la
rutina loop() repite el cdigo que contenga una y
otra vez infinitamente

Ejemplo
Esta rutina se repite
Declaramos lano hay
infinitamente,
variable
led
el
nada que
la con
detenga,
valor delescribe
entero 13
primero
un uno
lgico(estado alto, 5v ) en
el pin led, luego hay un
delay
(retrasoelopin
pausa)
Declaramos
led de
1000ms
( 1 salida
segundo),
(13) como
luego(OUTPUT)
escribe un cero
lgico (estado bajo,0v) y
luego hay un retraso de
1000ms otra vez, al final
del programa vuelve al
principio de la rutina loop,
por lo que vuelve a escribir
un uno lgico y as
sucesivamente

int led = 13;


void setup() {
pinMode(led,OUTPUT); }
void loop() {
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}

Escribir los pines del ARDUINO


Los pines del ARDUINO pueden ser escritos de
manera digital (previamente declarados como
salidas) con 0 y 1 lgico o sea valores de 0 y 5v (3.3
para el ARDUINO DUE) y escritos de manera casi
anloga mediante los pines que soporten PWM
(modulacin por ancho de pulsos).
Los pines se pueden escribir de acuerdo a lo que
programemos, puede ser como un valor fijo o que
cambie mediante estructuras condicionales (if
else). Se pueden escribir todos los pines de E/S
incluyendo los pines de entrada anloga.

Ejemplo 1
El comando digitalWrite()
implica escribir digitalmente
(con cero o uno lgicos)

digitalWrite

(3, HIGH)

Se define que se va a escribir con


estructura:
( numero de pin, estado)

Fin de linea

Ejemplo 2
El comando analogWrite() implica escribir anlogamente (o casi
anlogamente por que se trata de PWM) con valores entre 0v y 5v con una
resolucin de 8 bits o sea que puede ser cualquier valor entre 0 y 255
(2^8=256 valores posibles)

analogWrite

(3, 125)

Se define que se va a escribir con


estructura:
( numero de pin, valor )

Fin de linea

Leyendo pines del ARDUINO


Los pines pueden ser ledos para tomarse como
variables (previamente declarados como entradas
en la rutina setup con pinMode()).
Los pines digitales ( 0 13) pueden leer estados
digitales (alto o bajo) y nicamente los pines
anlogos pueden ser usados para leer voltajes con
una resolucin de 10 bits ( 1024 valores posibles
entre 0v y 5v)

Ejemplo 2
El comando digitalRead() lee el
estado digital de una de las
entradas

Lectura =

digitalRead

(11) ;

Si queremos para no escribir el comando digitalRead() para el mismo pin


Ente parentesis
poner
podemos
declarar ladebemos
lectura del
pin como una variable dentro del programa
Fin de linea
el numero
pin del
en nuestro
caso,del
el valor
queque
obtenemos del pin 11 se llama Lectura y lo
queremos
tomar la
entrada
podemos
usar
con ese nombre cuando queramos

Ejemplo 1
El comando analogRead() lee el
estado digital de una de las
entradas

eanaloga0 = analogRead

(A0) ;

Ente parentesis debemos poner


Si queremos para no escribir el comando analogRead() para el mismo pin
Fin de linea
el numero del pin del que
podemos declarar la lectura del pin como una variable dentro del programa
queremos tomar la entrada para
en nuestro caso, el valor que obtenemos del pin A0 se llama eanaloga0 y
los pines analogos ponemos una
lo podemos usar con ese nombre cuando queramos
A antes del numero del pin
analogo

Estructuras condicionales
Las estructuras condicionales permiten establecer
un Qu pasa si?/Y sino? esto es til cuando
queremos evaluar una condicin y que pase algo si
es cierta o falsa, las hay de varios tipos la mas
comn es la if que evala una condicin y hace
algo si es cierta, luego las if else que hacen
algo si la condicin es cierta y hacen otra cosa si no
es cierta, tambin existe la estructura switch
case que evala mltiples resultados para
mltiples condiciones respecto a una variable.

Operadores lgicos en las estructuras


Para establecer nuestra condicion podemos usar
operadores lgicos matmaticos y booleanos como:
Matemticos

Booleanos

igual a

AND &&

distinto de

==
!=

OR

||

Menor que <

NOT !

Mayor que

(||se escribe con Alt Gr+ 1)

>

Menor o igual que <=


Mayor o igual que

>=

Ejemplo1
if(analogRead(A0)>=125)
{
digitalWrite(3,HIGH)
}

Ponemos lo que
El comando
if() evala
queremos
que pase
una condicion
y ejecuta
cuando
la condicin
unaen
accion
si se
sea cierta,
nuestro
cumple,
se
caso
cuandolaelcondicin
valor
;
escribe
dentro
de A0
sea igual
o del
parentesis
y la
a
mayor
que 125,
vaaccin
a
ejecutar
escribe
poner
el pin se
3 en
entre
llaves
estado alto,
pero
este
no pasara a bajo
Los fines de lneacuando
se colocan
solosea
en
el valor
el cdigo dentro
de las
llaves,
aleso
menor
a 125,
para
cerrar corchetes
no es necesario
necesitamos
usar un
una
fin deestructura
linea
if..else

Ejemplo 2
if(analogRead(A0)>=125)
{
digitalWrite(3,HIGH);
}
else
{
digitalWrite(3,LOW);
}

Ponemos
lo if()
queevala
El
comando
queremos
que pasey
una condicin
cuando
condicion
ejecutalauna
accin si se
sea
cierta, la
encondicin
nuestro se
cumple,
casoescribe
cuandodentro
el valor
del
de A0 sea igual
o
parntesis
y la accin
a
mayor
que 125,
va a
ejecutar
se escribe
ponerentre
el pinllaves
3 en
estado alto
Ahora cuando la condicin no sea
verdadera , se escribir un estado
bajo en el pin 3

Ejemplo 3
switch (LecturaA) {
Case 0 :
digitalWrite (13,HIGH);
break;
Case 128:
digitalWrite (13,LOW);
break;
}

Case indica el valor


de la variable que
tomara
como
Usamos
la estructura
condicion
y luego
de
switch()
para
que haga
los
dos
puntos
lo que
algo
segn
el valor
de
queremos
hacer
Luego
de losLecturaA
dos
puntos
la variable
elque
caso
se de
decuando
ponen
lneas
que
temoslas
declarar
cumpla,
en este
cdigo
a ejecutar
en
caso
previemente,
esta
solo son
2se
deejemplo
que laviene
condicin
lectura
de una
casos,
pero
pueden
cumpla,
sesepone
un
entrada
anloga
que
agregar
todos
lospuede
que
break;
final para
que
como al
sabemos
necesiten
solo se
ejecute
laentre
accin
tomar
valores
0y
una vez y255
siga con el
resto del programa

Comunicacin serial
La placa ARDUINO puede comunicarse por medio
de pulsos, cuando estos se organizan segn un
protocolo podemos transmitir mas que solo estados
altos y bajos y podemos comenzar a transmitir
datos por el puerto serial, esto se hace con los pines
RX y TX (para recibir datos y transmitir datos),
podemos enviar datos a otras placas ARDUINO o a
otros dispositivos que soporten comunicacin
serial. SI tenemos la placa arduino conectada por
USB, todo lo que imprimamos en el puerto serial
aparecer en el monitor serial del ARDUINO IDE.

Ejemplo
Void setup (){
Serial.begin(9600);
}
Void loop (){
Serial.println(
delay(1000);
}

); mundo
Hola

Los mensajes de texto siempre van entre comillas


(entindase texto por letras y nmeros que cuyo unico
objetivo sea darnos un mensaje), en caso de que se quiera
escribir el valor contenido en una variable solo se pone el
nombre de la variable sin comillas

Usamos el comando
Serial.println()
comandoen el
ParaElimprimir
Serial.begin
() inicia
puerto
serial un
dato y
el puerto
el
luego
saltarserial,
una lnea,
9600
el
si lonumero
queremos
mandar
numero
de baudios
de corrido
usamosque
el
manejaremos
comando en la
transmision
(numero
Serial.print()
deEsto
caracteres
por
se puede
segundo)
visualizar
en el
monitor serial del
ARDUINO IDE.
El delay se coloca para
no imprimir el Hola
mundo tantas veces
como pueda el arduino
(unas miles de veces
por segundo)

También podría gustarte