tutorial electrónica básica

54
Spark Fun Tutorials Tabla de contenido Intro: Integrated Circuits (IC).............................3 The make-up of an IC...................................... 3 Common IC packages........................................ 4 Donde sacar proyectos de Arduino............................8 Embedded electronics: Interlinking ICs......................8 Pull Up resistors......................................... 8 Escogiendo un valor para los pull up resistors..........9 Análogo y Digital..........................................10 Conversión Análogo a Digital (ADC).........................11 Protocolos de comunicación en serie y paralelo.............11 Seiral Communication (standard)............................13 Las reglas del Serial....................................13 La conexión física (wiring and hardware).................14 Hardware................................................. 15 Los UARTs (Universal Asynchronous Receiver Transmitter). .15 Pitfalls al conectar con Serial..........................16 Problemas con comunicación Serial........................17 Serial Peripherial Interface (SPI).........................17 Conectando muchos Esclavos...............................18 Programando para SPI.....................................19 Problemas con comunicación SPI...........................20 El I2C o Inter Integrated Circuit..........................20 I2C Hardware............................................. 21 Formas de comunicación Inalámbrica.........................21 Infrared................................................. 22 Sensores...................................................22

Upload: varphi16

Post on 03-Dec-2015

268 views

Category:

Documents


6 download

DESCRIPTION

Documento de electrónica que posee información sobre Microcontroladores (MCU), tipos de empaques, circuitos integrados (IC), información de protocolos de comunicación (serial, PSI, I2C), bluetooth y más.

TRANSCRIPT

Page 1: Tutorial electrónica básica

Spark Fun Tutorials

Tabla de contenido

Intro: Integrated Circuits (IC)................................................................................................. 3The make-up of an IC................................................................................................................................3

Common IC packages................................................................................................................................4

Donde sacar proyectos de Arduino....................................................................................... 8

Embedded electronics: Interlinking ICs..............................................................................8Pull Up resistors......................................................................................................................................... 8

Escogiendo un valor para los pull up resistors........................................................................9

Análogo y Digital....................................................................................................................... 10

Conversión Análogo a Digital (ADC)...............................................................................11

Protocolos de comunicación en serie y paralelo...........................................................11

Seiral Communication (standard)......................................................................................13Las reglas del Serial................................................................................................................................ 13

La conexión física (wiring and hardware)...................................................................................14

Hardware.................................................................................................................................................... 15

Los UARTs (Universal Asynchronous Receiver Transmitter).............................................15

Pitfalls al conectar con Serial............................................................................................................. 16

Problemas con comunicación Serial...............................................................................................17

Serial Peripherial Interface (SPI)........................................................................................ 17Conectando muchos Esclavos............................................................................................................18

Programando para SPI.......................................................................................................................... 19

Problemas con comunicación SPI....................................................................................................20

El I2C o Inter Integrated Circuit........................................................................................... 20I2C Hardware............................................................................................................................................ 21

Formas de comunicación Inalámbrica..............................................................................21Infrared........................................................................................................................................................ 22

Sensores...................................................................................................................................... 22LSM9DS1 Breakout: nine degrees of freedom (9DOF)...........................................................22

LSM9DS1 Overview (Capabilities)...................................................................................................22

Breakout Board Overview (Pins & Schematic)..........................................................................23

Izquierda:............................................................................................................................................... 23

Page 2: Tutorial electrónica básica

Derecha:.................................................................................................................................................. 24

Communication........................................................................................................................................ 25

Usando I2C.............................................................................................................................................25

Hardware Assembly (Dimensions).................................................................................................25

Los pines de interrups......................................................................................................................25

Los Jumpers...........................................................................................................................................25

Hardware Hookup (I2C & SPI Wiring)...........................................................................................27

Using the Arduino Library (install the Arduino library, & example)...............................28

Basic I2C programm..........................................................................................................................28

Tu localización:.........................................................................................................................................28

Magnetic Declination............................................................................................................................. 28

SparkFun Photon RedBoard................................................................................................. 30Power Header, External Supply and USB......................................................................................30

Pins................................................................................................................................................................ 31

LEDS.............................................................................................................................................................. 32

Bluetooth..................................................................................................................................... 34Masters, Slaves and Piconets..............................................................................................................34

Bluetooth Addresses and Names......................................................................................................34

Proceso de conección entre dos dispositivos.............................................................................35

Bonding and Pairing...............................................................................................................................35

Power Classes........................................................................................................................................... 36

Perfiles Bluetooth....................................................................................................................................36

More commonly enconuntered Bluetooth profiles..................................................................36

Serial Port Profile (SSP)...................................................................................................................36

Human Interface Device (HID).....................................................................................................37

Hands Free Profile (HFP) y Head Set Profile (HSP)............................................................37

Advance Audio Distribution Profile (A2DP)...........................................................................37

Audio/Video Remote Control Profile (AVRCP).....................................................................37

Versiones de Bluetooth....................................................................................................................38

BC118 BLE Mate 2.................................................................................................................... 38Hardware Connection........................................................................................................................... 41

6-pin Serial Header............................................................................................................................41

GPIO Headers (General-purpose input/output no special purpose go unused by default).............................................................................................................................................. 42

BC118 Concepts....................................................................................................................................... 43

Page 3: Tutorial electrónica básica

Communication With the Module....................................................................................................43

Intro: Integrated Circuits (IC)Son las pequeñas cajas negras que encuentras en las tarjetas:

Están compuestos de muchos componentes electrónicos.

The make-up of an IC

Interior de una de esas cajas negras

Page 4: Tutorial electrónica básica

Die: La forma de combinación de las capas de semiconductores, cobre y otros materiales que al interconectarse forman los compoenentes de los IC, (resistores, transistores, etc.)

Forma de un IC die.

Common IC packages

Los IC se empacan para poderlos conectar más fácilmente, del die van a las patitas de las cajas negras por medio de cables de oro.

Hay muchas formas de empaques:

Page 5: Tutorial electrónica básica

En estos empaques siempre se encontrará una marca (notch o punto) para indicar la polaridad del IC; es decir, indicar que pin es el primero.

Con el primer pin identificado, los demás son números crecientes de forma CCW

DIP (Dual in-line packages)

Page 6: Tutorial electrónica básica

Son los rectangulitos de paquetes de siempre, el espacio entre patitas son 0.1’’ que son 2.54mm, ese espacio es el mismo para la breadboards.

Sus patitas varian de 4 a 64.

Estos se pueden instalar en sockets para que el DIP pueda ser cambiado (en caso de daño, etc):

La versión de montaje superficial de estos DIP son los SOPIC (Small Outline Package IC)

La versión mini de los SOPIC son los SSOP (Shrink Small Outline Package)

Si el empaque ya no es rectangular y ahora es cuadrangular, tenemos un:

Page 7: Tutorial electrónica básica

Quad Flat Package (QFP), los cuales poseen de 32 pines a más de 300 en total, versiones más pequeñas están disponibles con TQFP y LQFP.

Otros empaques con los Quad Flat No Leads (QFNL) que son cuads sin patitas o los Ball Grid Array (BGA), estos últimos usados para microprocesadores avanzados (Rasp Berry Pi)

Page 8: Tutorial electrónica básica

Donde sacar proyectos de Arduino

Arduino-based projects to get your creative juices flowing:• Instructables• Bildr• Arduino Playground• The ITP Physical Computing Wiki• LadyAda• Make: Projectsand, of course, you can find plenty more Arduino tutorials here at learn.sparkfun.com.

Embedded electronics: Interlinking ICs

Goal: swap information between ICs common language/Communication Protocols (ComPro)

Pull Up resistorsComunes al usar Microcontroladores (MCUs)

¿Qué es?Tienes un MCU con un pin configurado como INPUT.Si no hay nada conectado a ese pin y el programa indica leer el estado del pin:No se sabe si el pin esta en HIGH (pulled to VCC) o en LOW (pulled to ground), a esto se le conoce como Floating pin (un estado de incertidumbre)

Para prevenir el estado floating, se pone una resistencia del INPUT pin a VCC (pull up) o a 0V (Pull down)

Pulls Up resitors son más comunes que los pull down, pues son usados con botones o swiches.

Page 9: Tutorial electrónica básica

Así cunado el botón no este apretado, el pin leera HIGH pues esta conectado a VCC por medio del pull up resistor.

Cunado se apriete el botón, la corriente desde VCC, pasando por el resistor, irá hacia tierra, ocasionando que el INPUT lea un estado de LOW

Si quitamos el pull up resisor, veríamos que corto circuitamos la batería.

Escogiendo un valor para los pull up resistors

Botón apretado: Resistencia controla cuanta corriente va de VCC a GND

Botón no apretado: Resistencia controla cuanta corriente va de VCC a INPUT pin.

Page 10: Tutorial electrónica básica

En general, R1 es R2/10, siendo valores comunes 10K o 100K.También puedes proponer la corriente a pasar y con VCC calculas el pull up resistor.

Muchos MCUs ya tienen estos Pull up resistors, en Arduino se puede activar o desarcivar:

pinMode(5, INPUT_PULLUP); // Enable internal pull-up resistor on pin 5

Análogo y Digital

Análogo: Infinitas posibilidades (señales suaves y continuas)resistors, capacitors, inductors, diodes, transistors, and operational amplifiers – are all inherently analogDiseño de un circuito con compoenetes sólo análogos es muy complicado.

Digital: Finitas posibilidades (ondas cuadradas de finitos valores)transistors and logic gates and, at higher levels, microcontrollers or other computing chipsDonde high voltaje: 5,3.3, 1.8V

Page 11: Tutorial electrónica básica

Low Voltage: 0V

Conversión Análogo a Digital (ADC)0V 05V 1

Cuando necesitamos medir señales analógicas, usamos un Analog to Digital Converter.

Lo que hace es tomar un voltaje analógico y asignarle un número.

Cada Pin ADC en un microcontrolador es diferente, esos ADC pines son de:10 bits; es decir, poseen la habilidad de detectar 2^10 = 1024 niveles. (Arduino)8 bits = 2^8 = 256 niveles16 bits 2^16 = 65535 niveles

Para un dac de Arduino (10 bits), y usando 5V, el DAC hace:(1023/5)*(Entrada voltaje analógica medida) = Lectura ADCLectura DAC*(5/1023) = Volts analógicos

Protocolos de comunicación en serie y paralelo

Paralelo1. Transfieren muchos bits al mismo tiempo (muchos 0s y 1s)2. Requieren buses3. Transmiten con 8, 16 o más cables.

Page 12: Tutorial electrónica básica

An 8-bit data bus, controlled by a clock, transmitting a byte every clock pulse. 9 wires are used.

SerieTrasmiten 1 bit en cada tiempoUsan no más de 4 cables

Example of a serial interface, transmitting one bit every clock pulse. Just 2 wires required!

Serial communication interface es más fácil, pues sacrificamos velocidad por numero de pines, los más conocidos son los USB (Univelsal Serial Bus) y Ethernet.

Page 13: Tutorial electrónica básica

Otros comunes son:1. Serial Communication (standard), 2. Serial Peripheral Interface (SPI), and 3. I2C

All three of these are communication protocols ICs use to communicate between each other.

Cada uno de los anteriores puede ser en modo:

Síncrono (SPI y I2C): Todos los componentes de un bus comparten una señal de reloj común más directo y rápida transferencia. Necesita un cable extra.

Asíncrono (Serial Standard): los datos son transferidos sin la ayuda de una señal de reloj, minimiza loa cables necesarios y Pines I/O pero a costa de más esfuerzo en transferir y recibir datos.

Este método asíncrono es muy común y se usa en sistemas embebidos, como GPS, Bluetooth, LCDs etc.

Seiral Communication (standard)

Las reglas del SerialEste protocolo asíncrono tiene ciertas reglas (para asegurar que la info se transfiera sin errores):

• Baud rate

Que tan rápido la info es enviada en una serial line. [bps]Ambos dispositivos deben operar a la misma velocidad.9600 bps es común en los dispositivos donde la velocidad no es crítica.A mayor baud rate, más rápido la info es enviada/recibidaEl valor máximo es 115200 (reloj ya no puede ir más rápido)

Framing the Data: un byte (1 Byte = 8 bits) lo mandamos en paquetes de bits

Page 14: Tutorial electrónica básica

• Data bits / Data chunkEs el tamaño de la info que el serial carga = chunk (su tamaño va de 5 a 9 bits)El estándar es 8 bits.

• Synchronization bitsEn cada chunk se transfieren 2 o 3 bits especiales:Start bit (solo hay 1) es indicado por un “idle data”Stop bit (comúnmente 1, pero pueden haber hasta 2)Los cuales marcan el inicio y fin de un paquete.

• Parity bitsForma opcional, no muy común (hace lenta la transferencia de info por un bit) y simple de checar si hay errores, los hay en pares o nones.

La conexión física (wiring and hardware)Un serial bus son dos cables:1º el que envía info serial pin TX 2º el que recibe info serial pin RX

Entre componentes, estos pines se cruzan: transmisor componente 1 habla con receptor componente 2

Dentro de este envio y recepción de info pueden ser Full o Half DUPLEX

Full Duplex: ambos dispositivos envían y reciben simultaneamenteHalf Duplex: los dispositivos toman turnos para enviar y recibir info

Page 15: Tutorial electrónica básica

Simplex: En ciertos dispositivos como las LCD, solo reciben y no mandan nada de vuelta al controlador. Así, sólo es necesario un cable desde el controlador TX al RX del LCD

HardwareLas implementaciones con hardware más populares son : TTL y RS232

Para IC y microcontroladores de bajo nivel usamos:1º TTL o Transistor-Transistor logic: señales TTL existen entre el voltaje de supply del microcontrolador (0 a 5V o 0 a 3.3V según el caso). El primer valor de supply es un idle (un voltaje constante), valores subsecuente supply es un bit de valor 1 y el último valor de supply es un stop bit.Por el otro lado, el primer valor de 0V es un start bit, subsecuentes valores de 0V es un bit de valor 0.

2º RS232 es como el contrario a TTL y se usaba en compus viejitas, su rango va de valores de tensión de +13 a -13V.

Hay otros estándares actuales como RS 485 que son convenientes si tienes cables muy largos (por la mayor tensión usada), donde el cambio de la tensión a lo largo de estos cables se puede perder si usamos TTL con sus valores de tensión de 0 a 5V o 0 a 3.3V.

No hay conexión directa entre TTL y RS 232, tendrías que cambiar las señales.

Los UARTs (Universal Asynchronous Receiver Transmitter)Son bloques de circuitos responsables de implementar la comunicación Serial.Son intermediarios entre comunicación Serial y paralela.Se encuentran comúnmente ya dentro de los microcontroladores (1 en el arduino Uno), pero pueden encontrarse como IC separados.

De un lado tenemos un bus de 8 data lines más pines de control I/ODel otro lado tenemos los TX y RX

Page 16: Tutorial electrónica básica

Los UART son responsables de enviar y recibir seiral infoAl enviar: el UART crea los paquetes de info (syncronozación, parity) y los envía por TX en el momento preciso (según el baud rate)Al recibir: Con el baud rate y sync bits obtenomos la info mandada desde otro IC.

Pitfalls al conectar con Serial1. Siempre conecta bien TX y RX de los dos dispositivos2. Que coincida el Baud rate en ambos dispositivos3. Que sólo un dispositivo este conectado al receptor del otro, nada de 2

dispositivos conectados al RX del arduino.

Page 17: Tutorial electrónica básica

Problemas con comunicación Serial1. Es asíncrono (no hay info de reloj transmitida) por lo que los dispositivos se

tienen que poner de acuerdo en tiempo con antelación y si difieren en ese tiempo obtenemos información basura.

2. Requieren UARTs para TX y RX (son difíciles en software)3. Necesitan de un Start bit y un End bit (de 10 bits enviados, 8 son de info de

verdad)4. Hechos para comunicación sólo entre dos dispositivos, si se usan más

podemos dañar todos los dispositivos.

Serial Peripherial Interface (SPI)Para enviar info entre MCUs y pequeños periféricos (shift registers, sensors, SD carfds etc.)

Page 18: Tutorial electrónica básica

Este protocolo añade starst y stops para ayudar a sincronizar cuando la información llegue.

Es un full dúplex, ya que tiene líneas separadas de envio y recepción, por lo que si la datasheet lo indica, puedes enviar y recibir al mismo tiempo.

SPI usa dineas separadas de Info/data y reloj, que mantiene ambos lados en perfecta sincronía.

En SPI, el hardware que recibe puede ser un simple shift register, en lugar de un UART (más caros y complejos)

Para mandar comunicación de regreso (un poco más complejo que sólo enviar)En SPI, un solo lado (master) es el que genera la señal de reloj (CLK o SCK).

MOSI (Master Out Slave In): Canal en el que el master le envía info al slave, MISO (Master In Slave Out): Este canal se usa cuando el slave necesita responder al master, recuerda que el master es el que pone la señal de reloj .: el slave al mandar su info la acomoda en tiempo según el master.

SS (Slave Select): Esta línea o canal se usa para seleccionar un slave con el que desees hablar, la señal prepara al slave para recibir info o para mandar info. Así, la señal indica que envie o reciba info y selecciona al slave.

Esta señal se mantiene en HIGH para desconectar a los esclavos del SPI bus, a esto se le conoce como “Active Low”

Cuando SS line va LOW, activa un slave determinado

Conectando muchos EsclavosExisten dos formas:1º En general cada esclavo necesita un canal SS separado. Muchos slaves, necesitaran muchas señales SS (para activarlos uno a la vez), Existen BInary Decoder Chips, que pueden multiplicar estas salidas SS.

Page 19: Tutorial electrónica básica

2º Otra forma es encadenando al MOSI y conectando un solo MISO, haciendo uso de una solo SS line, una vez que la info fue recibida por slaves, todos se activan al mismo tiempo con la señal SS común.

1. En esta última configuración uedes desconectar el MISO para casos en los que sólo necesitas mandar info y no recibir nada, como el caso de LEDs.

2. Si se necesita recibir info de slaves, necesitas mandar suficientes comandos de receive para obtener la info que necesitas.

3. Necesitarás mandar suficiente información para que esta llegue a todos los slaves

4. La primer parte de la info mandada, pasará hasta el último slave.

Programando para SPIEste protocolo es sencillo, por lo tanto yo puedo programar rutinas para manipular los I/O lines en una secuencia apropiada para transferir info.

En Arduino podemos hacerlo en cualquier Pin por medio de comandos de: shiftIn() and shiftOut()

Para sólo ciertos pines de manera más rápida y eficiente se usa la SPI Library la cual toma ventaja del hardware SPI en el MCU.

Al Usar la librería, tienes que usar los pines SS, SCK, MOSI y MISO que el MCU tiene.

Checa las opciones de interface para los dispositivos a los que deseas comunicarte, pues las opciones de concordar según sus datasheets.

Page 20: Tutorial electrónica básica

setBitOrder(): Controlar que mandar primero si el MSB o el LSB (Most o el Least Significant Bit)

setDataMode(): Controlar cuando Slave lee info: en sing edge o falling edge del clock pulse, además de determinar cuando el Clock se considera “idle” si en HIGH o en LOW.

setClockDivider(): Puedes acomodar al velocidad de transferencia de info, en un Arduino el master clock es de 16MHz, la función puede bajar la frecuencia (8MHz, 125kHz, etc)

Problemas con comunicación SPI1. Requiere muchos pines2. Solo permite un maestro en el bus, no varios

El I2C o Inter Integrated CircuitProtocolo de Comunicación Síncrono de distancia corta con 2 cables de señal (para intercambiar info) que permite:

“Multiples ICs “Escalvos” digitales comunicarse con 1 o más ICs “Maestros” digitales”

Page 21: Tutorial electrónica básica

1. Aquí con dos cables, podemos hablar con 1008 esclabos2. Puede haber varios maestros3. Los maestros no pueden hablar entre si4. Los maestros toman turnos para hablar con los esclavos5. De 9 bits de info, 8 son de info y 1 de Meta data

I2C HardwareEn un I2C tenemos dos señales:SCL: señal de Clock (generado por el master device, puede ser alterado por un esclavo por medio de “Clock stretching”)SDA: Señal de Data

Los mensajes se rompen en dos marcos:

Marco Address: Master indica al slave (al que se le envía el mensaje) e intercambian info a 8 bits el uno con el otro.

Formas de comunicación Inalámbrica

Page 22: Tutorial electrónica básica

Infraredhttps://learn.sparkfun.com/tutorials/ir-communication

Sensores

LSM9DS1 Breakout: nine degrees of freedom (9DOF)

Acceleration3-axis accelerometer (Scale, +/- 2, 4, 8 o 16 [g])

Angular velocity3-axis gyroscope (Scale, +/- Finer resolution = 245, 500, Max Gross resolution = 2000 [º/s] = [DPS])

Heading3-axis magnetometer (Measure power and direction of magnetic fields)(Scale, +/- 2, 4, 12 o 16 [Gauss] = [Gs])

LSM9DS1 Overview (Capabilities)Es un IC de 3.3V, no más de 3.6V deben ser aplicados (o lo dañaras)Si usas I2C, no necesitas nada másSi usas SPI, necesitarás un Level Shifter o Logic Level Converter Bi directional para conectar un dispositivo de 3.3V a uno de 5V.

Hay 2 Pins de Chip Select (CS): 1º CS AG (Accelerometer & Gyroscope)2º CS M (Magnetometer)

Y 2 pins de Serial Data Out (SDO)1º SDO AG (Accelerometer & Gyroscope)

2º SDO M (Magnetometer)

Page 23: Tutorial electrónica básica

Como soporta 2 métodos de comunicación: SPI & I2C, algunos pins fungirán con dobles roles.

Si CS pins son LOW: SPI mode se asumeSi CS pins son HIGH: I2C mode se asume

Si SPI mode, SDO son SDOSi I2C mode, SDO es un Address Selector

Checar Datasheet para más detalles.

Breakout Board Overview (Pins & Schematic)

Izquierda:1. Power

a. VDD: <Entre 2.4V – 3.6V> b. GND

2. I2C communication Protocol seleccionado por Defaulta. I2C

i. SDA (Canal bidireccional de comunicación)ii. SCL (Serial Clock)

Page 24: Tutorial electrónica básica

b. SPIi. SDA es el MOSIii. SCL (Serial Clock)

Derecha:

1. Data Enablea. DEN: Pin Raro, pues datasheet no dice mucho de

el…

INT Son pines de interrupts programables.

2. Interrupt Accel y Gyro: INT 1 y 2a. Alertan cuando se alcanzan ciertos límites por

encima o debajo de un valor threshold.b. Data Readyc. FIFO Overruns

3. Interrupt Magnetometer: INT Ma. Alertar sobre o debajo un threshold.

4. Data Ready para Magnetómetro: RDYa. Indica cuando nueva información de magnetómetro

esta disponible.

5. Chip Select Pins: CSa. Magnetómetro CSM

i. HIGH (1) I2C enabledii. LOW (0) SPI enabled

b. Accel/Gyro CSAGi. HIGH (1) I2C enabledii. LOW (0) SPI enabled

6. SDOa. I2C

i. SDOM Magnetometer Address Select: LSb M de I2C

ii. SDOAG LSb AG de I2Cb. SPI

i. SDOM Magnetometer MISO: Data Output

Page 25: Tutorial electrónica básica

ii. SDOAG Accel/Gyro MISO: Data output.

Communication

Usando I2C1º Selecciona I2C al tener CS_AG y CS_M en HIGH

2º Selecciona la I2C address al poner en LOW o HIGH los pines de SDO_AG y SDO M

3º Conectar SCL de componente a SCL de MCU

4º Conectar SDA de componente a SDA de MCU

La tarjeta ya tiene un Pull Up resistor de 10K en SDA y SCL, si es muy grande esta resistencia puedes poner un resistor en paralelo para bajarla.

Hardware Assembly (Dimensions)

Los pines de interrups No son críticos a la hora de conectar, pero ellos sacan lo más del chip.

Accel y GyroINT1 y 2:Programables para interrumpir como Active HIGH o Active LOWSe activan en eventos de Data Ready o al exceder ciertos límites.

MagnetometerDRDY:Ira LOW cuando nueva info de magnetómetro este disponible

INTM:Se activa cuando se supera un límite

Page 26: Tutorial electrónica básica

Los JumpersSu propósito es poner el chip automáticamente en I2CPor default (Cerrados)SJ1: Pone Chip en I2C mode

SJ2: Pone Address de I2C

SJ3: Pone Pull up resistors a SDA y SCL

Lo anterior permite que si usas I2C en el Breakout, puedes ignorar los 4 pines de SDO y CS, si usas SPI entonces los usarás.

Se pueden quitar sin problemas los canales que comunican los 3 cuadritos en cada grupo con una navaja, pero no es necesario hacerlo pues puedes usar SPI sin quitarlos.

Page 27: Tutorial electrónica básica

Hardware Hookup (I2C & SPI Wiring)Si usas I2C sin interrups solo soldas los 4 pines de la izquierda.

Dado que mide movimiento, el breakout posee 4 orificios para fijarlo, el diametro de esos orificios es 0.13’’

Page 28: Tutorial electrónica básica

Using the Arduino Library (install the Arduino library, & example)

Basic I2C programm

* How to create a LSM9DS1 object, using a constructor (global variables section).

* How to use the begin() function of the LSM9DS1 class.

* How to read the gyroscope, accelerometer, and magnetometer using the readGryo(), readAccel(), readMag() functions and the gx, gy, gz, ax, ay, az, mx, my, and mz variables.

* How to calculate actual acceleration, rotation speed, magnetic field strength using the calcAccel(), calcGyro() and calcMag() functions.

* How to use the data from the LSM9DS1 to calculate orientation and heading.

Tu localización:Ve Compass app en la parte de abajo encontraras tu locación en grados, minutos segundos.

Casa: 19º 17’ 36’’ N = 19.2933º99º 8’ 23’’ W = 99.1397º

Conversión:

1º = 60 min = 3600 seg

Magnetic Declination

http://www.ngdc.noaa.gov/geomag-web/?model=WMM&lon1=99º8%2723%27%27&startYear=2015&startDay=24&lat1Hemisphere=N&resultFormat=pdf&browserRequest=true&startMonth=10&lat1=19º17%2736%27%27&lon1Hemisphere=W&fragment=declination#declination

El ángulo entre el true north y la horizontal trace del local magnetic field.

Page 29: Tutorial electrónica básica

Ng is geographic or true north, Nm is magnetic north, δ is magnetic declinationit can be:"Positive" (or "easterly", east of true north)"Negative" (or "westerly", west of true north)

SparkFun Photon RedBoard

Page 30: Tutorial electrónica básica

• Board Overview (components and features)

Power Header, External Supply and USB

Pin Label

Nominal Voltage Voltage source

Current Output Limit

3.3V 3.3V 3.3V regulator output

800mA

Page 31: Tutorial electrónica básica

V-USB 4.8V (5V minus a diode drop)

USB 500mA (fused)

VIN 4.5-15V Barrel Jack Depends on external supply

Analog Pins cant stand 5V as input.

Pins Como trabaja a 3.3V: Los I/O pins trabajan a 3.3V (HIGH=3.3V, LOW=0V) Mucho cuidado con inputs de 5V, no todos los pines lo

soportan. En rojo oscuro: ¡Cuidado al conectar! En morado: Son duplicados, no los puedes usar como

inputs si los estas usando para comunicación (SPI, I2C) (outputs)

Pin Label

Alternate

Name

PWM

5V Digit

al input

?

Digital

Read

Digital

Write

5V Analo

g input?

Analog

Read

Analog

Write

Analogs

(ADC)

A0 A0 I I I I

A1 A1 I I I I

SS A2 (Slave Select)

I I I I

Page 32: Tutorial electrónica básica

SCK A3 (Clock)

I I I I

MISO A4 I I I I I I

MOSI A5 I I I I I I

DAC A6 I I I I

WKP A7 I I I I I I

Digitals

TX Tx I I I I

RX Rx I I I I

SDA D0 I I I I I

SCL D1 I I I I I

D2 I I I I I

D3 I I I I I

D4 I I I

D5 I I I

D6 I I I

D7 I I I

Page 33: Tutorial electrónica básica

LEDSPower: Is powered my board?D7: Attached to pin D7 for debuggingThe RGB LED identifies the connectivity status of the P1 module.

LED Color LED activity

Device Mode

Cyan ● Breathing Connected to WiFi and Particle Cloud

Cyan ● Blinking Connected to WiFi, Connecting to Particle Cloud

Green ● Blinking Connecting to WiFi

Blue ● Blinking Listening mode (waiting for WiFi info)

Pink ● Blinking Receiving new application over-the-air

Pink ● Breathing Connected in safe mode

White ● Breathing Application running, WiFi off

Orange-Yellow ● Blinking DFU mode

Page 34: Tutorial electrónica básica

MODE and RESET ButtonsRESET button: Can be used to restart the Photon RedBoard’s application. After pressing and releasing the button, the Photon will begin to boot up from scratch, which means it’ll have to re-connect to WiFi.

Diagnostic modesMode: To switch between running, safe (Wifi/Cloud connected no app running), listening (to re-configure WiFi, check the firmware version, or module identity while an application is running), and DFU modes.

To place the Photon in any of those modes, begin by holding both RESET and MODE down.

Then release RESET, while still holding MODE.

Release the MODE button to leave the Photon RedBoard in the desired state.

Page 35: Tutorial electrónica básica

Bluetooth

Protocol of wireless communication that Works with 2.4GHz

Masters, Slaves and PiconetsPiconets: Bluetooth networksUn master puede conectarse hasta con 7 slaves, coordina, solicita y manda información a los slavesUn slave solo puede estar conectaod a un master y no puede hablar con los otros slaves

Bluetooth Addresses and NamesTodo bluetooth tiene una dirección de 48 bit abreviada como BD_ADDR y representada como un 12 digitos hexadecimal.

24 bits de su dirección son los más significativos y se le llaman Organization Unique Identifier (OUI) el cual identifica al manufacturero.

Los otros 24 bit, son visibles en otros dispositivos bluetooth.

Page 36: Tutorial electrónica básica

Aquí se muestra esos 24 bit de este modulo de bluetooth , que en 12 digitos hexadecimales es: 000666422152

Los primeros 24 bit son:000666 = es la OUI de “Roving Networks” el manufacturero del módulo.

Los siguientes 24 bit son:422152 = La identificación del dispositivo

Proceso de conección entre dos dispositivos1. Inquiring: Para descubrir al otros dispositivo uno le da al otro un inquiry, el

que recibe, responde con su ID y posiblemente otra información (su nombre, etc.)

2. Paging formar la conexión entre los dispositvos: Antes de esta conexión, los dos dispositivos deben saber sus direcciones (ID)

3. Connection: Ya en la conexión, un dispositivo puede participar activamenteo puede entrar en estado de sueño.

a. Active Modei. Dispositivo transmitiendo o recibiendo info

b. Sniff modei. Modo de ahorro de energía, duerme y escucha transmisiones a

un determinado intervalo como 100 msc. Hold Mode

i. Es un sniff mode pero con un tiempo determinado de sleep, un master puede indicar a un slave que se ponga en Hold mode

d. Park Modei. El estado más inactivo, slave inactivo hasta que master le diga

que se active.

Bonding and PairingBonded: Dispositivos que automáticamente se conectan al estar lo suficiente mente cerca

Para crear un Bond, se tiene que llevar a cabo un proceso de pairing.

Pairing: Proceso que requiere de autenticación en la conexión en el que comparten sus direcciones, nombres, perfiles y una clave para hacer futuros bondings, esta info la guardan en su memoria.

La autenticación puede ser el presionar un boton (audífonos bluetooth)Compartir un número de 6 digitos, ping o clave alfanumérica.

Page 37: Tutorial electrónica básica

Power ClassesLa potencia de un dispositivo bluetooth tiene que ver con su alcance, algunos solo trabajan en una clase y otros pueden controlar su calse, tenemos así la siguiente tabla.

Class Number

Max Output Power (dBm)

Max Output Power (mW)

Max Range

Class 1 20 dBm 100 mW 100 mClass 2 4 dBm 2.5 mW 10 mClass 3 0 dBm 1 mW 10 cm

Perfiles BluetoothProtocolo adicional que ayuda a el Bluetooth a definir que tipo de info se esta transmitiendo y como será usada.

Para ser compatibles, los dispositivos bluetooth tienen que poseer los mismos perfiles: Headset profile (HSP), Human Interface Device (HID), etc.

More commonly enconuntered Bluetooth profiles

Serial Port Profile (SSP)Remplaza sin problemas a la comunicación Serial (cables RS 232)Es bueno para enviar mucha info entre dos dispositivosEs tal cual un TX y RX pero inalámbrico

Page 38: Tutorial electrónica básica

Human Interface Device (HID)Reemplaza a la conexión USB (más compleja)Es el tipo de perfil apropiado para teclados, ratones, joysticks, PS3 Controllers etc.

Hands Free Profile (HFP) y Head Set Profile (HSP)Manda audio de ida y de regreso

Advance Audio Distribution Profile (A2DP)Transfiere audio de un dispositivo a otro en una sola dirección pero con mucha más calidad.Es común su uso de MP3 a Bocina bluetooth.

Audio/Video Remote Control Profile (AVRCP)Es el A2DP pero expandiendo a que la bocina (o lo que recibe input) de ciertos comandos a la fuente, en el caso de una bocina (auricular) que pare, rebobine, adelante, pase a siguiente canción, volumen etc.

Page 39: Tutorial electrónica básica

Versiones de Bluetooth1. Versión 1.2 (la más estable de las versiones 1), alcance de 10 metros,

trasferencia de 1Mbps2. Versión 2.1 (más estable de las versiones 2), mejora su transmisión a 2.1Mbps

e introduce SSP Secure Simple Pairing.3. Version 3, mejora su transmisión a 24 Mbps, (que es realidad es por Wifi,

bluetooth solo establece la conexión y la maneja), aquellas versión 3 + HS tiene la capacidad de usar Wifi para obtener los 24 Mbps, aquellos que solo tienen versión 3, se limitan a 3Mbps en transmisión.

4. Versión 4: Versión Low Energy o BLE, separa en categorías de Clásico, alta velocidad y baja velocidad, las cuales llaman a las versiones anteriores de bluetooth. Sacrifica distancia y transmisión por bajo consumo de energía. (50m y 0.27 Mbps)

BC118 BLE Mate 2

No posee capacidad de conectividad Serial

Page 40: Tutorial electrónica básica

1. 6-pin FTDI Basic compatible serial header - This header has the same pinout as that of an FTDI Basic board; it’s meant to connect to a client device such as an Arduino Pro. We’ve provide two rows of pins to make multiple connections to these pins (e.g. to sniff the signals for troubleshooting) easier.

2. LED0 and LED1 - These LEDs display information about the current state of the module. These LEDs reflect the logical state of the module, and a reset of the module may be needed before the settings take effect.

LED 0Blue

LED 1Red

Status

BLINK OFF ScanningOFF BLINK Advertising

ON OFFConnectedCentral

OFF ONConnectPeripheral

ON ON Idle

Page 41: Tutorial electrónica básica

3. LEDs jumper - this jumper ships closed with solder; clear the jumper to disable the LEDs and save some current for low-power situations.

4. INP jumper - this jumper connects the voltage input pin on the 6-pin header to the 3.3V regulator on the BLE Mate 2. It can be cleared to remove the regulator from the circuit and save current.

5. REG jumper - clearing this jumper will break the connection between the output of the 3.3V regulator and the supply of the BC118 module.

Page 42: Tutorial electrónica básica

6. GPIO headers - All the pins on the BC118 are broken out to these pins, as are power and ground.

Hardware Connection

6-pin Serial Header

1. DTR - Connected only to the other DTR pad. This pin can be connected to PIO5 to provide a DTR output to the client device; that signal will be at a voltage determined by the supply voltage of the BC118 module and so may not be adequate to drive the reset signal on an Arduino.

2. RXI - Data IN from the client device.3. TDO - Data OUT from the BC118 device. Shifted up to

the level on the VCC pin of this header.4. VCC - Connected to the INP jumper (see below).5. CTS (Clear to Send) - Connected only to the other CTS

pad. Can be connected to PIO6 to provide an RTS signal to the BC118. That signal must not exceed the supply voltage of the BC118 module.

6. GND - Negative supply rail for the entire module.

Page 43: Tutorial electrónica básica

GPIO Headers (General-purpose input/output no special purpose go unused by default)

• AIO2 - By default, this is an analog input, which can be read by sending the command “AIO 2” to the module. The module will respond with the voltage on this pin, in mV. If the “ACFG” parameter is “ON”, this pin will reflect the module’s state: HIGH if the module is connected or LOW if the module is not.

• AIO1 - Default function is same as AIO2. If the “ACFG” parameter is “ON”, pulling this pin HIGH will enable transparent mode, causing data presented to the RX pin to be sent verbatim (Word by word) to any connected device.

• AIO0 - Default function is same as AIO2. If “ACFG” is “ON”, this pin determines the module’s role at boot time. If the signal is HIGH, the module will boot into Central mode. If LOW, Peripheral mode.

• P3 - GPIO3. Default is to either mirror from or mirror to another connected device. More on this later.

• P4 - LED0 output.

• P8 - By default, exit transparent mode. Can be configured as an IO pin for mirroring by setting the “GPIO” parameter to “OFF”

• WK - Dependent upon the “WAKE” and “WLVL” parameters, this pin can be used to wake the device from hibernation.

• VIN - This pin connects to the INP jumper. More on this below.

• GND - Ground for the entire circuit.

• P5 - When parameter “FCTR” is “ON”, this will be a CTS (Clear to Send) output from the BC118.

Page 44: Tutorial electrónica básica

• P6 - When parameter “FCTR” is “ON”, this will be an RTS (Request to Send) input to the BC118.

• P7 - GPIO7. See P3 above.

• P11 - GPIO11. See P3 above.

• P9 - LED1 output.

• P10 - GPIO10. See P3 above.

• P2 - Not currently enabled.

• VDD - This pin ties directly to the supply rail of the BC118. It must be kept between 1.8V and 4.3V to avoid damage to the module.

• GND - Ground for the entire circuit.

BC118 ConceptsPosee un custom BLE profile (to take into account when designing an app)Será sólo fácil conectarse a otros BC118

En genral: Al cambiar settings en el BC118, tendrás que guardar los cambios en su memoria y luego resetear el módulo antes de que entren en efecto.

Si hay dudas, Write/Reset es la forma de estar seguros.

Para conectar a otros dispositivos, el BC118 debe estar en Central Mode y escaneando.

Communication With the Module

Hay dos tipos de transacciones que el usuario puede iniciar: Commands Setting/getting parameters.