Está en la página 1de 9

Crea aplicaciones Android con MIT App Inventor en

espaol

Monitor de pulsaciones del corazn con


Arduino/Genuino 101
arduinotutorialextensionesiotInternetOfThingsgenuinoBLE 09ago2016
heartratemonitor

EnlaactualidadelnmerodedispositivosdisponiblesenInternethasuperadoal
nmerodepersonasconectadas.Lainfraestructuraquesoportalacomunicacin
entretodosestosdispositivosestambinconocidacomoelInternetdelas
Cosas(InternetofThings,IoT).

LanecesidaddecrearappsquepuedanmanejarelIoThacontribuidoal
desarrollodeunaextensindeMITAppInventorqueproporcioneunamanera
sencilladeconectarlosdispositivos.

EstetutorialosensearcomoutilizarlaplacaArduino/Genuino101paraleer
datosdesdeunsensordepulsacionesdecorazn(HeartRateMonitor)utilizando
elcomponenteBluetoothLowEnergy(BLE).Sinotieneselsensororiginalpodis
emularloutilizandounpotencimetro
uotrosensoranalgico.

Requerimientos
PlacaArduino/Genuino101
LED
Sensordepulsacionesdelcorazn,potencimetrouotrosensoranalgico
IDEdeArduinoconlibrerasinstaladasBLEyCurieBLE

El Circuito
Arduino/Genuino 101 Sketch
AntesderealizarlaappconAppInventorloprimerodetodoesimplementarel
serviciostandardBluetoothdebajoconsumodelSensordePulsacionesde
CoraznusandoparaelloelIDEdeArduinoycargandoelsketchdentrode
nuestraplaca.

Podiscopiarelcdigoypegarlodelapginasiguiente:
https://www.arduino.cc/en/Tutorial/Genuino101CurieBLEHeartRateMonitor

Elfuncionamientobsicodelsketchseresumeenlossiguientespuntos:
1.DeclarareldispositivoperifricoBLE(nuestraplacaArduino101)consu
servicioycaracterstica(sensordepulsaciones).
2.Esperarunaconexinentranteconundispositivocentral(nuestro
smartphoneotabletconBluetooth).
3.EncenderelLEDparaindicarquelaplacaestconectada.
4.Leerelsensoranalgicoactualizandoelvalorcuandocambie.
5.ApagarelLEDcuandolaconexintermine.

Diseo

Eldiseodelaaplicacinutilizarlasdisposicionesnecesariasparamostraruna
imagendeuncoraznqueircambiandocuandoseproduzcalaconexin,un
conjuntodebotonesyunaetiquetaquemostrarelestado.
Leeremosdatosdelsensoractualizandoeltextodelaetiquetacorrespondiente
unavezlosdispositivosestnenlazados.Parapoderrecibirlosvaloresdel
sensortendremosqueimportarlaextensinBluetoothLE.

Bloques
Alprincipioinicializaremostresvariablesglobalesparaalmacenarladireccin
denuestraplacaArduino/Genuino101ylosUUIDsestndaresdelservicioMonitor
dePulsacionesdelCoraznysucaractersticaparaelintercambiodedatos.Sino
sabeselsignificadodeestosconceptos,deberasrevisarlosenlareferencia
oficialdelIoTdeMITAppInventoroenlasclasescorrespondientesdelcurso.
Cuandolaappinicia,deshabilitaremoselbotndenombre"btnDisconnect"yel
temporizador...notienemuchosentidoutilizarlossinotenemoslaconexin
todavaestablecida.

Alprincipio,elusuarioharclicenelbotndeScanyobtendrunalistade
dispositivosBluetoothdisponibles.Paraseleccionarnuestraplacayconectarnos
aellautilizaremosunSelectordeLista(ListPicker)...tenencuentaquesitienes
msdispositivosBluetoothalrededorsaldrnms...podremosidentificarel
nuestroporelnombredelservicio.

Sitodovabienactualizaremoslaleyendamostradaporlaetiquetadeestado.
Habilitaremostambinelbotnquepermiteladesconexindeldispositivo
perifricoyeltemporizador.
Cadasegundo,eleventodelrelojsedispararynuestraappcomprobarla
conexin.SiestOK,entonceslaaplicacinreproducirelsonidodellatidodeun
coraznycambiarlaimagenmientrasintentaunanuevalecturadelosdatosdel
sensor.

Silaaplicacindetectacambiosenelsensorsedispararuneventodeltipo
ByteValueChanged.Elnuevovalorseasignaraltextodelaetiquetaconel
sufijo"BPM".Debidoalosdatosdevueltosporelsensortendremosqueutilizarla
funcinmatemticaroundparaconvertireldatoaunnmeroenteroyeliminarel
0menossignificativoconelquenosllegabaelbyte.
Paraterminar,losbotonesquepermitirnalusuariodesconectarseysalirdela
app...

Esoestodo!

Consejo"Problemasaldetectardispositivosbluetooth":
SitenisproblemasaldetectardispositivosBluetoothunavezgeneradoelAPK
esposiblequeanestvigenteunfallodeAppInventorconlospermisosdel
componenteBLE.Parasolucionarlolonicoquetenisquehaceresaadirenla
vistadediseodevuestroproyectouncomponenteClienteoServidorBluetooth
"delosdeantes"...conesto,aunquenoloutilicemosparanada,garantizamosque
laapptendrlospermisosnecesariosparaencontrarotrosdispositivos
Bluetoothcercanos;-)

Podisdescargaroselcdigofuentedelproyectoesteenlace:

https://goo.gl/1iB9vS

Referencias:

HeartRateMonitorwithArduino/Genuino101(originaleningls)
TutorialHeartRateMonitordelsitiowebdeArduino
ReferenciaIoTdeMITAppInventor

Happyinventing!

JoseLuisNez
@twajoseluis

Realizaunabsquedaenestaweb

Search

Curso App Inventor 2 en espaol!