Sei sulla pagina 1di 27

Tutorial para principiantes:

Cmo aprender a programar un


Dreamster v1.0?

PorGiselaFarace

Mayo2015
1

ndice

1.QuesunArduino?
2.ElrobotDreamster
2.1.Sealesanalgicasydigitales
2.2.Conexionado
2.2.1.Losmotores
2.2.2.Sensoresdeultrasonido
3.Qunecesitamosinstalar?
4.Antesdeempezar
4.1.Estructuradelcdigo
4.2Referenciasimportantes
5.Aprendiendoaprogramar
5.1.LED
5.1.1.QuesunLED?
5.1.2.ComoprenderunLED?
5.2.ElPuertoSerie
5.3.Sensoresdeultrasonido
5.3.1.Cmofuncionanlossensoresdeultrasonido?
5.3.2.Cmomedirdistanciasconsensoresdeultrasonido?
5.4.Sensoresinfrarrojos
5.4.1.Cmofuncionanlossensoresinfrarrojos?
5.4.2.Cmodistinguirblancoynegroconsensoresinfrarrojos?
5.5.Motores
5.5.1.PuenteH
5.5.2.PWM
5.5.3.Cmosecontrolanlosmotores?
6.Desafos
6.1.Seguidordelneas
6.2.Resolvedordelaberintos
6.3.Empujandodecajitas
6.Anexo
6.1.pinMode()
6.2.digitalWrite()
6.3.analogWrite()
2

6.4.analogRead()
6.5.delay()
6.6.delayMicroseconds()
6.7.Serial.begin()
6.8.Serial.print(),Serial.println()
6.9.pulseIn()
6.10.map()
6.11.ifelse
6.12.for
6.13.while
7.Pginasdereferencia

1. Qu es un Arduino?

Arduino es una plataforma de hardware libre, basada en una


placa con un microcontrolador y un entorno de desarrollo,
diseada para facilitar el uso de la electrnica en proyectos
multidisciplinares.
Puede tomar informacin del entorno a travs
de sus entradas analgicas y digitales, puede controlar luces,
motoresyotrosactuadores.

El microcontrolador en la placa Arduino se programa mediante el lenguaje de


programacin Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en
Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de
conectarloaunacomputadora.

El programa se implementa haciendo uso del entorno de programacin propio de


Arduino y se transfiereempleandouncableUSBa MicroUSB.Unavezconectadalaplaca
a la computadora no es necesario utilizar una fuente de alimentacin externa ya que el
propiocableUSBlaproporciona.

ParaconocermssobreArduino:
www.arduino.cc

2. El robot Dreamster

Existen muchos modelos deArduino.EnparticularnuestroDreamsterutilizaunArduino


Leonardo,comoelsiguiente.

Figura1.AspectodelArduinoLeonardo

Cada uno de los pines de entrada y salida se encuentran numerados y separados en


secciones.

2.1. Seales analgicas y digitales

Existen dos tipos de seales: analgicas y digitales. Analgica quiere decir que la
seal, para ir de un valor aotro,pasa por todos los valores intermedios. La seal digital,
encambio,vaasaltos,pasadeunvaloralsiguientesinpodertomarvaloresintermedios.
En otras palabras, una seal analgica es continua y puede tomar infinitos valores
mientras que unaseal digital es discontinua y slopuedetomardosvaloresoestados:0
y 1, que pueden ser impulsos elctricos de baja y alta tensin, interruptores abiertos o
cerrados,etc.

Figura2.Sealanalgicaydigital.
5

En el Arduino los pines puedenserdesalida oentrada.Lamayoradelospinessonde


entrada y salida digitales a excepcin de los que tienen una A antes del nmero. Esto
indica que son entradas analgicas. Adems, los pines con un ~ indica que la salidaes
regulable con un PWM. Estas pueden simular una especie de salida "analgica" que se
usageneralmentepararegularlavelocidaddelosmotoresoajustarelbrillodeunled.

2.2. Conexionado

A continuacin se detallan las conexiones de los leds, sensoresymotoresdelroboten


lospinesdelArduino.

Funcin

PinName

Funcin

PinName

MotorIzquierdaP

InfrarrojoIzquierda

A0

MotorIzquierdaN

10

InfrarrojoDerecha

A1

MotorDerechaP

SensorUSATrigger

A3

MotorDerechaN

SensorUSAEcho

LedVerde

11

SensorUSBTrigger

A4

LedRojo

12

SensorUSBEcho

LedAzul

13

SensorUSCTrigger

A5

SensorUSCEcho

Tabla1.ConexionesdelDreamsterenlaplacaArduinoLeonardo

2.2.1. Los motores

La distincin de los motores con el P y el N se refiere al pin positivo y al pin negativo


respectivamente. Para podermoverunmotorsenecesitaunadiferenciadepotencialentre
losdospines.

Por ejemplo, si el positivo del motor izquierdo se


encuentra conectado a la tensin Vcc y el pin negativo del
motor izquierdo a tierra GND el motor girar. Si se
conectan al revs, es decir el P a GND y el N a Vcc el
motor girar en elsentidocontrario. Enelcasoqueambos
pines se encuentran conectados a Vcc o a GND no habr
diferencia de potencial y por esto el motor quedar
detenido.

2.2.2. Sensores de ultrasonido

Los sensores de ultrasonido se encuentran ubicados como se muestra en la imagen.


En el caso de los sensores B y C, hay dos posibles ubicacionesen la placa y se puede
cambiar la posicin del sensor. Estas cuatro ubicaciones en particular estn conectadas
de forma de cruz. Porestaraznnoesposibleubicardos sensoresenformacruzada,por
ejemplo ambos en las ubicaciones B. La mxima cantidad de sensores que se pueden
usaralmismotiempoesdetres.

Figura3.Ubicacindelossensoresdeultrasonidoenelrobot

3. Qu necesitamos instalar?

Primero debemos instalar el Software de Arduino (IDE). Este se puede descargar


gratuitamenteen:
http://www.arduino.cc/en/Main/Software

Unavezinstalado,abrirelprograma.Severdeunaformaparecidaalasiguiente.

Figura4.EstructuradelaIDE

1. Verificar:
Compilaypruebaelcdigo.Tenotificasiencuentraerrores.
2. Cargar: Enva tu cdigo a la placa de Arduino.Cuandolehacesclickdeberasver
parpadearlaslucesdetuplaca.
3. Nuevo:
Abreunanuevaventanadecdigo.
4. Abrir:
Abrelosdiferentescdigosexistentes.
5. Guardar:
Guardaloscambiosdetucdigo.
6. Monitor Serie: Abre una ventana que muestra la informacin queenvalaplacaa
travsdelpuertoserie.Estemonitoresmuytilparadepurarelcdigo.
7. NombredelSketch:
Muestraelnombredelarchivoenelqueeststrabajando.
8. readecdigo:
Enestaseccinseescribeelcdigo.

9. rea de mensajes: Enesta rea la IDE te muestra si encuentra algnerror entu


cdigo.
10. Consola de texto: Muestra el mensaje de error completo. Para depuracin la
consoladetextoesmuytil.
11. Tarjeta y Puerto Serial: Muestra qu modelo de Arduino est configurado y en
qupuertoestconectado.

LuegodebemosconfigurarelmodelodeArduinoquesevaautilizar

Figura5.ConfiguracindelArduinoLeonardoenlaIDE

Por ltimo se debe configurar en qu puerto se encuentra conectado el Arduino.


Muchas veces la computadora reconoce el Arduino y el puerto en el que est conectado
indicandoentreparntesiselmodelodelaplaca.

Figura6.ConfiguracindelpuertoserialenlaIDE

4. Antes de empezar
4.1. Estructura del cdigo

Elcdigoseestructuradelasiguienteforma:

Figura7.Estructuradelcdigo

Lasestructurasprincipalesdelprogramason:

voidsetup()
Es la primera funcin que se ejecuta en el programa. Se usa para inicializar las
variables, el modo de los pines, etc. Se ejecuta una sola vez al empezar el programa o
luegodepresionarelbotnderesetdelaplaca.

voidloop()
Esta funcin es precisamente un ciclo infinito. Dentro se encuentra nuestro programa
principal.Sedebedeclararluegodeconfiguradalafuncinsetup().
10

Declaracindevariables
Antes de la funcin de setup se deben declarar las variables a utilizar. Sirve para
asociarunaetiquetaaunnmerodepinoconfigurarotrotipodevariablesauxiliares.

4.2 Referencias importantes

A continuacin se explican las funciones y variables que vamos autilizar durante este
tutorial.EnelAnexoseexplicalasntesisdelasfunciones.

Variables
int:
variabledetipoenterode16bits.(Rango32767a+32767)
char:
variabledetipocaracter.
long:
variabledetipoenterode32bits(Rango2147483647a+2147483647)

Modificadoresdevariables
const:
dejaconstanteelvalordelavariable.Seescribeantesdeltipodevariable.

Estadosdealgunasvariables
HIGH, LOW: constantes que definen el estado del pin en alto (HIGH) o en bajo
(LOW).
INPUT,OUTPUT:
configuraelpincomoentrada(INPUT)ocomosalida(OUTPUT)

Funciones
pinMode( ) :
configura un pin especfico para que se comporte como entrada o
salida.
digitalWrite():
escribeelvalorHIGHoLOWaunpindigital.
analogWrite( ): escribe un valor analgico al pin. Puede ser usado para variar el
brillodeunLEDocambiarlavelocidaddeunmotor.
analogRead():
leeelvalordeunpinespecfico.
delay():
pausaelprogramaporunacantidaddetiempomedidaenmilisegundos.
delayMicroseconds( ):
pausa el programa por una cantidad de tiempo medida en
microsegundos.
Serial.begin( ): configura la tasa de transferencia de bits
por segundo para la
transmisinporpuertoserie.
Serial.print( ), Serial.println( ):
imprimen la informacin que se enva por el puerto
serie.Enelcasodelprintlnluegodeimprimircomienzaenunanuevalnea.
pulseIn():
leeelestadodelpin,yaseaHIGHoLOW.
map():
transformaunrangoaotro.

Estructuras
ifelse:
esquemadedecisinapartirdeunacondicinysucomplemento:
[Sicondicin]
sentencia1
[sinocondicin]
sentencia2
.
for:
seutilizapararepetirunbloquedesentenciasencerradasentrellaves.
while:
mientras la condicin es verdadera se comporta como un ciclo continuo.
Cuandolaexpresindentrodelacondicinseafalsaysaledelciclowhile.
11

Comentarios
//
Comentaunalnea

/*
Comentatodolocontenidoentrelasbarras,
puedenserprrafosconvariaslneas
*/

Es importante comentar el cdigo explicando lo que se hizo en algunas lneas y una


descripcin del programa en general. Esto sirve a futuro cuandoluego de varios das de
no leer el cdigo, no recordas que intentaste hacer. Tambin es importante para hacer
mslegibleelprogramaaotrapersona,sobretodocuandosetrabajaenequipo.

12

5. Aprendiendo a programar

5.1. LED
5.1.1. Qu es un LED?

Un led (lightemitting diode) es un diodo emisor de luz.


Los ledsse usancomoindicadoresenmuchosdispositivosy
tambin en iluminacin. Se los puede encontrar con
diferente tipode luz,abarcando elespectroinfrarrojo,visible
yultravioleta.

El led posee polaridad: nodo (positiva) y ctodo (negativa). Se puede distinguir


fcilmente la polaridad observando las patas del dispositivo. La ms largacorresponde al
nodo.Tambinenelladodelctodolabasedelledtieneunbordeplano sobreelplstico
quelorecubre.

Figura8.PolaridaddelLED

5.1.2. Como prender un LED?

Mirando la tabla 1 podemos saber en que pines seencuentranconectadoslosleds.En


estecaso:

LedVerde:pin11
LedRojo:pin12
LedAzul:pin13

13

Ejemplo1
//
Enelsiguienteejemploelledazulparpadeaconunafrecuenciadeunsegundo

int
led_azul=13//
Usamoslaetiquetadeled_azulparareferirnosalpin13

voidsetup
(){

pinMode
(led_azul,OUTPUT)//
Configuramoselledcomopindesalida
}

voidloop
(){

digitalWrite
(led_azul,HIGH)//
Seprendeelled

delay
(1000)//
Espera1segundo

digitalWrite
(led_azul,LOW)//
Seapagaelled

delay
(1000)//
Espera1segundo
}

Ejercicio:
Escribir un programa con la siguientesecuencia:prenderledazul,esperarunsegundo,
penderledrojo,esperarunsegundo,prenderledverde,esperarunsegundo.Repetir.
Ayuda. ElledubicadoenelShield(placa verdeubicadasobreelArduino)tienedentro 3
pequeos leds con los diferentes colores. Para poder observar los colores antes de
prenderunledhayqueapagarelanteriorqueestabaprendido.

14

5.2. El Puerto Serie

Como se explic antes, el puertoseriesirveparaenviarinformacindesdeelArduinoa


la computadora. Se usa principalmente para depurar el cdigo y verificar que algunos
componentesestncumpliendosufuncincorrectamente,comoporejemplolossensores.

Ejemplo2
/*
En este ejemplo, se habilita la opcin de comunicacin serie. Se generan
nmeros aleatorios entre 0 y 299. Luego se imprime en el monitor serie los
nmeros mayores a 100. Para inicializar el puerto serie se usa un baud rate de
9600, que corresponde al nmero de bits por segundo (bps) mximo que puede
transmitirelcanal.
*/

int
aleatorio=0//
Declarounavariableparaguardarnmerosaleatorios

voidsetup
(){

Serial.begin
(9600)//
Configuroelbaudrateen9600
}

voidloop
(){
aleatorio=
random
(300)//
Nmerosaleatoriosentre0y299
//
Sielnmeroesmayora100

if
(aleatorio>100){
Serial.print
("Numeroaleatorio:")
Serial.println
(aleatorio)//
Imprimeelnmeroaleatorio
}
}

Elejemploanteriorenelmonitorserie:

Figura9.Muestradenmerosaleatoriosenviadosatravsdelpuertoserie.

15

5.3. Sensores de ultrasonido


5.3.1. Cmo funcionan los sensores de ultrasonido?

Estos sensores nos permiten medir la distancia a un objeto


mediante el uso de pulsosultrasnicos. A travs del Trigger se enva
un pulso quele avisa al sensor que debe empezar a medir. Luego,el
sensorenvaunasealultrasnicaquerebotacontraelobjetoyvuelve
al sensor. Esta seal que vuelve ingresa por el pin Echo e indica un
proporcionala ladistancia a la queseencuentraelobjeto.Lossensoresutilizadossonlos
HCSR04quesemuestraenlaimagen.

Figura10.Diagramadetiemposdelsensordeultrasonido.

5.3.2. Cmo medir distancias con sensores de ultrasonido?

Delatabla1,lospinesquecorrespondenacadasensorson:

SensorA SensorB SensorC

Trigger

pinA3

pinA4

pinA5

Echo

pin8

pin2

pin7

Tabla2.Ubicacindelospinesparalossensoresdeultrasonido.

16

Ejemplo3
/*
Ejemplo de lectura del sensor A a travs del puerto serie. Indica la distancia en
mm a la que se encuentra el objeto. El pin de Trigger se define como salida
mientrasqueelpindeEchocomoentrada.
*/

constint
Trigger_A=A3
constint
Echo_A=8
long
Duracion=0//
VariableauxiliarquemideladuracindelpulsoEcho
long
Distancia_mm=0//
Variableauxiliarparacambiarlasunidadesamm

voidsetup
(){

pinMode
(Trigger_A,OUTPUT)//
Seconfiguracomosalida

pinMode
(Echo_A,INPUT)//
Seconfiguracomoentrada

Serial.begin
(9600)//
Configuroelbaudrateen9600
}

voidloop
(){

digitalWrite
(Trigger_A,LOW)//
Nosaseguramosqueeltriggerestencero

delayMicroseconds
(2)

digitalWrite
(Trigger_A,HIGH)//
Activamoseltrigger

delayMicroseconds
(10)

digitalWrite
(Trigger_A,LOW)//
Desactivamoseltrigger
Duracion=
pulseIn
(Echo_A,HIGH)//
MedimosladuracindelpulsoEcho
Distancia_mm=((Duracion/2.9)/2)//
Convertimosladuracinendistancia

Serial.print
("Distancia=")

Serial.print
(Distancia_mm)//
Imprimimosporpantallaladistanciaenmm

Serial.println
("mm")

delay
(1000)
}

Ejercicio:
Armar un cdigo dondesemuestreenelmonitorserieladistanciadelos3sensoresde
ultrasonidodelaforma:DistanciaA:
valorA
//DistanciaB:
valorB
//DistanciaC:
valorC

17

5.4. Sensores infrarrojos


5.4.1. Cmo funcionan los sensores infrarrojos?

Los sensores infrarrojos se utilizan para diferenciar colores en el piso. Poseencomo


emisorunledinfrarrojoycomoreceptoruntransistor.

Este sensor es capaz de medir la cantidad de luz infrarroja reflejada en la


superficie. Dependiendo del material y del color, la luz infrarroja emitidapor el
led puede reflejarse totalmente, en el caso delblanco,oabsorbersetotalmente
en el caso del negro. En particular el blanco y el negro no son considerados
coloressinopresenciaoausenciadeluz.

Estos sensores sonmuy tiles pararobotsseguidoresdelnea.Lossensoresutilizados


ennuestrorobotsonlosTCRT1000.

Para verificar que los sensores estn prendidos se puede utilizar la cmara de un
celular. Si se la enfoca hacia los sensores se puede ver queunodelospuntosdel sensor
seencuentraconunaluzvioleta.Estoquieredecirqueelsensorestprendido.

Figura11.Visindelinfrarrojoatravsdeunacmaradecelular.
Arriba:sensoresapagados.Abajo:sensoresprendidos.

5.4.2. Cmo distinguir blanco y negro con sensores infrarrojos?

Segnlatabla1,lossensoresinfrarrojosseencuentranconectadosen:

SensorInfrarrojoIzquierda:pinA0
SensorInfrarrojoDerecha:pinA1

Estos pines corresponden al transistor o pin de entrada que recibe laluzemitidaporel


led. En este casolos leds infrarrojos estn conectados directamente a latensin.Poreso
noesnecesarioconfigurarelpindelleddelsensorcomosalida.

18

Ejemplo4
/*
En el siguiente ejemplo se utiliza el led azul como indicador de lo que ve el
sensor infrarrojo. El led va cambiando la intensidad de la luz dependiendo de la
superficie en laquese encuentra el sensor. En una superficieblanca el led est
completamente prendido mientras que en una superficie negra el led se apaga.
Ademsenvaporpuertoserieelvalordelsensor.
*/

constint
sensor=A0
constint
led=13
int
medicion
char
out

voidsetup
(){

pinMode
(sensor,INPUT)//
Configuroelsensorcomoentrada

pinMode
(led,OUTPUT)//
Configuroelledcomosalida

Serial.begin
(9600)//
Configuroelbaudrateen9600
}

voidloop
(){
medicion=
analogRead
(sensor)//
Leeelvalordelsensor
out=
map
(medicion,0,1023,0,255)//
Ajustaelbrillodelled

analogWrite
(led,out)//
Escribeelvalorenelled

Serial.println
(out,DEC)//
Imprimeelvalorenelmonitorserieenformadecimal
}

Ejercicio:
Hacer un cdigo con los dos sensores infrarrojos del robot donde cambie laintensidad
del led segn loquemida el sensor y se indique el led azulparaunodelossensores yel
ledverdeparaelotrosensoralmismotiempo.

19

5.5. Motores
5.5.1. Puente H

Para manejar los motores de corriente continua usamos un circuito integrado


(DRV8833) que tienedos puentes H. Con el puente H podemos cambiarelsentidodelos
motores,esdecir,podemoshacerqueelmotoravance,retrocedaofrene.

Figura12.DosestadosposiblesdelpuenteH.

5.5.2. PWM

Adems del puente H tambin necesitamos regular la velocidad a la que giran los
motores. Esto se hace mediante una modulacin del ancho de pulsos, o ms conocido
como PWM (Pulse Width Modulation)queconsiste en modificar el ciclo de trabajodeuna
seal peridica para controlarlacantidaddeenergaqueseenvaaunacarga,ennuestro
caso el motor. En sencillas palabras, el PWM regula la energa controlando la tensin
mediaquerecibeelmotoryporlotantolavelocidadalaqueva.

Figura13.EjemplosdelamodulacindelanchodepulsoPWM
20

Como se explic al principio en la seccin 2, para mover el motor necesitamos una


diferencia de potencial entre el positivo y el negativo del motor.UsandolasealdelPWM
se puede mover el motor hacia adelante o hacia atrs con la velocidad indicada por el
PWM.

pinP

pinN

Motor

PWM

Adelante,frenadorpido

PWM

Atrs,frenadorpido

PWM

Adelante,frenadolento

PWM

Atrs,frenadolento

Tabla3.Dosparesdeopcionesparacambiarelsentidodelmotor
yregularlavelocidadmedianteelPWM

5.5.3. Cmo se controlan los motores?

Delatabla1,lospinesdelosmotoresseencuentranubicadosenlossiguientespines.

Positivo Negativo

MotorIzquierda

pin9

pin10

MotorDerecha

pin5

pin6

Tabla4.Ubicacindelospinesparalosmotoresdelrobot

21


Ejemplo5
/*
Ejemplo del movimiento incremental del motor izquierdo hacia adelante yluego
haciaatrs.
*/

int
MotorIzqP=9
int
MotorIzqN=10

voidsetup
(){
//
Configuramoslospinesenceroparaapagarelmotor

digitalWrite
(MotorIzqP,LOW)

digitalWrite
(MotorIzqN,LOW)
}

voidloop
(){
//
Incrementamoslavelocidadprogresivamentehaciaadelante

digitalWrite
(MotorIzqN,LOW)

for
(inti=0i<255i++){
analogWrite
(MotorIzqP,i)
delay
(100)
}
//
Incrementamoslavelocidadprogresivamentehaciaatrs

digitalWrite
(MotorIzqP,LOW)

for
(inti=0i<255i++){
analogWrite
(MotorIzqN,i)
delay
(100)
}
//
Detenemoselmotorparacomenzarnuevamente

digitalWrite
(MotorIzqP,LOW)

digitalWrite
(MotorIzqN,LOW)

delay
(1000)
}

Ejercicio:
Hacer que el robot describa un un cuadrado, es decir, que avancederecho durante 1
segundo, luego que gire a la derecha y avance por otro segundo, gire de nuevo a la
derecha hasta completar la vuelta. Hacer lo mismo pero que el robot gire hacia la
izquierda.

22

6. Desafos

Ahora es tiempo deintegrar todo lo que aprendimos en el tutorial! Para eso te damos
algunas ideas para empezar a jugar con el robot. Tambin pods inventar tu propia
modalidad.Ajugar!

6.1. Seguidor de lneas

Quers hacer que tu Dreamster sea un seguidor de lneas?


Simplemente tens que lograr programar los sensores infrarrojos y los
motoresparaqueelrobotpuedaseguirlalnea.Temostramosunejemplo:

6.2. Resolvedor de laberintos

Si quers salir de un laberinto con tu Dreamster tens


que programar los sensores de ultrasonido para que
detectenlasparedesasualrededor.
Sabas que siguiendo siempre la pared derecha o la
izquierda pods salir del laberinto? Para eso, cambia de
lugar los sensores de ultrasonido al lado que ms te guste,
programalos para que el robot siempre siga esa pared y
ademsasegurartequeavancederecho.

6.3. Empujando de cajitas

Esta modalidad consiste en un recinto delimitadopor


una lnea donde se encuentran cajitas. El objetivo del
robot es empujar las cajitas fuera del recinto sin salirse
del mismo. Para eso necesits usar los sensores
infrarrojosylossensoresdeultrasonido.Teanimas?

23

6. Anexo

Todaslasfuncionesexistentes:
http://www.arduino.cc/en/Reference/HomePage

6.1. pinMode( )
Sintaxis:
pinMode(
pin,modo
)

Parmetros:
pin:nmerodepinalquesequiereconfigurar
modo:INPUToOUTPUT

Devuelve:
Nada

6.2. digitalWrite( )
Sintaxis:
digitalWrite(
pin,valor
)

Parmetros:
pin:nmerodepin
valor:HIGHoLOW
Devuelve:
Nada

6.3. analogWrite( )
Sintaxis:
analogWrite(
pin,valor
)
Parmetros:
pin:elpinalqueselequiereescribir.
valor:ciclodetrabajo,entre0(siempreapagado)a255(siempreprendido).
Devuelve:
Nada

6.4. analogRead( )
Sintaxis:
analogRead(
pin
)
Parmetros:
pin:elnmerodelpinanalgicodeentradaaleer.
Devuelve:
int(0a1023)

24

6.5. delay( )
Sintaxis:
delay(
ms
)
Parmetros:
ms:elnmerodemilisegundosapausar.1000milisegundoses1segundo.
Devuelve:
Nada

6.6. delayMicroseconds( )
Sintaxis:
delayMicroseconds(
us
)
Parmetros:
us:elnmerodemicrosegundosapausar.
Devuelve:
Nada

6.7. Serial.begin( )
Sintaxis:
Serial.begin(
velocidad
)
Parmetros:
velocidad:enbitsporsegundo
Devuelve:
Nada

6.8. Serial.print( ), Serial.println( )


Sintaxis:
Serial.println(
val
)
Serial.println(
val,formato
)
Parmetros:
val:elvaloraimprimircualquiertipodedato.
formato:especificalabasedelnmero,i.e.DECparadecimal.
Devuelve:
size_t(long):println()devuelvelacantidaddebytesescritos.

6.9. pulseIn( )
Sintaxis:
pulseIn(
pin,valor
)
Parmetros:
pin:nmerodepindelcualsequiereleerelpulso.
valor:tipodepulsoledo,HIGHoLOW.
25

Devuelve:
lalongituddelpulsoenmicrosegundos

6.10. map( )
Sintaxis:
map(
valor,desdeLow,desdeHigh,haciaLow,haciaHigh
)
Parmetros:
valor:elnmeroareasignar
desdeLow:ellmiteinferiordelrangoactual
desdeHigh:ellmitesuperiordelrangoactual
haciaLow:ellmiteinferiordelrangoobjetivo
haciaHigh:ellmitesuperiordelrangoobjetivo
Devuelve:
elvalorreasignadoenelnuevorango

6.11. if else

Estructura:

if(
condicin
){
//
AccinA
}
else{
//
AccinB
}

6.12. for

Estructura:

for(
inicializacincondicinincremento
){
//
Sentencias

6.13. while

Estructura:

while(
expresin
){
//
Sentencias

26

7. Pginas de referencia

Dreamster
www.dreamsterbot.org/es

Arduino
www.arduino.cc

Sensoresdeultrasonido:HCSR04
www.micropik.com/PDF/HCSR04.pdf

Sensoresinfrarrojos:TCRT1000
www.vishay.com/docs/83752/tcrt1000.pdf

PuenteH:DRV8833
www.ti.com/lit/ds/symlink/drv8833.pdf

27

Potrebbero piacerti anche