Documente Academic
Documente Profesional
Documente Cultură
Realizar una comunicación serial mediante Existen tres clases de Bluetooth: Clase 1 (con un
librerías y sin librerías para poder comprender alcance aproximado de 100 metros), Clase 2 (10
como se debe utilizar cada una en función de metros) y Clase 3 (1 metro).
los parámetros requeridos además de su
posterior simulación e implementación.
2. MARCO TEORICO
Figura 2. Clases de Bluetooth
Introducción
La potencia de salida para transmitir a una
La primera empresa que creó un equipo de trabajo
distancia máxima de 10 metros es de 0 dBm (1
para investigar sobre sistemas de comunicación
mW), mientras que la versión de largo alcance
entre dispositivos, fue Ericsson, que allá por el año
transmite entre 20 y 30 dBm (entre 100 mW y 1
1994 comenzó la investigación de una nueva
W).
interfaz de bajo consumo y coste, destinada al
envío y recepción de datos entre teléfonos móviles Para lograr alcanzar el objetivo de bajo consumo y
y otros dispositivos. bajo costo se ideó una solución que se puede
implementar en un solo chip utilizando
Los dispositivos que con mayor frecuencia utilizan circuitos CMOS. De esta manera, se logró crear
esta tecnología pertenecen a sectores de las una solución de 9×9 mm y que consume
telecomunicaciones y la informática personal, aproximadamente 97% menos energía que un
como PDA, teléfonos móviles, computadoras teléfono celular común.
portátiles, ordenadores personales, impresoras o
cámaras digitales.
Arquitectura y Hadware
Bluetooth
Bluetooth es una especificación tecnológica para
redes inalámbricas que permite la transmisión de
voz y datos entre distintos dispositivos mediante
una radiofrecuencia segura (2,4 GHz).
1
a. Módulos disponibles en el mercado,
precios
2
Muy bajo consumo y capacidad de comunicación
de hasta 60 m en campo abierto.
3
radiofrecuencia electromagnética en áreas
industrial, científica y médica)
Topología: picoredes
4
Una forma de Configuración es la siguiente la cual SoftwareSerial Library
se accede a los comandos AT por medio de código
en nuestro software Arduino El hardware de Arduino tiene soporte incorporado
para la comunicación en serie en los pines 0 y 1
(que también va a la computadora a través de la
conexión USB). El soporte serial nativo se realiza a
través de una pieza de hardware (integrada en el
chip) llamada UART. Este hardware permite que el
chip Atmega reciba comunicación en serie incluso
mientras trabaja en otras tareas, siempre y cuando
haya espacio en el buffer en serie de 64 bytes.
La librería SoftwareSerial ha sido desarrollada para
permitir la comunicación en serie en otros pines
digitales del Arduino, utilizando software para
replicar la funcionalidad (de ahí el nombre
"SoftwareSerial"). Es posible tener varios puertos
serie de software con velocidades de hasta 115200
bps. Un parámetro permite la señalización invertida
para los dispositivos que requieren ese protocolo.
La versión de SoftwareSerial incluida en 1.0 y
posterior se basa en la biblioteca NewSoftSerial de
Mikal Hart.
En este caso se aplicara este modo de configuración
para un módulo bluethoot NH-06. Limitaciones
Otra manera de la cual se puede hacer es mediante ya
establecida la conexión bluethoot Arduino mediante un La biblioteca tiene las siguientes limitaciones
sketch previamente configurado se procederá a abrir el conocidas:
monitor SERIE nuestro programado de Arduino y se Si utiliza múltiples puertos serie de software, sólo
procederá configurar los comandos AT designados uno puede recibir datos a la vez.
No todas las clavijas del Mega y Mega 2560
soportan interrupciones de cambio, por lo que sólo
pueden usarse las siguientes para RX: 10, 11, 12,
13, 14, 15, 50, 51, 52, 53, A8 (62), A9 63), A10
(64), A11 (65), A12 (66), A13 (67), A14 (68), A15
(69).
No todos los pines de las interrupciones de cambio
Leonardo y Micro de soporte, por lo que sólo
puede utilizarse lo siguiente para RX: 8, 9, 10, 11,
14 (MISO), 15 (SCK), 16 (MOSI).
En Arduino o Genuino 101 la velocidad RX máxima
actual es de 57600bps
En Arduino o Genuino 101 RX no funciona en Pin
13
Si su proyecto requiere flujos de datos
simultáneos, consulte la biblioteca de AltSoftSerial
de Paul Stoffregen. AltSoftSerial supera una serie
de otros problemas con el núcleo de
SoftwareSerial, pero tiene sus propias limitaciones.
if (Serial)
5
esto siempre devuelve true. Esto fue introducido en Lee o captura un byte (carácter) desde el puerto
Arduino 1.0.1. serie. Devuelve :El siguiente byte (carácter) desde
el puerto serie, ó -1 si no hay ninguno.
Sintaxis
6
}
Sintaxis
void loop() {
Serial.available () while(digitalRead(seleccionar)==HIGH){
////////////////////////////////////////////////////
Sólo Arduino Mega: if (Modulo_Bluetooth.available()){
Serial1.available () Dato_de_Bluetooth=Modulo_Bluetooth.read();
Serial2.available () if(Dato_de_Bluetooth=='1'){
Serial3.available () digitalWrite(led,1);
Modulo_Bluetooth.println("LED del PIN 13-
Parámetros >Encendido");
}
ninguna ///////////////////////////////////////////////////////
if(Dato_de_Bluetooth=='0'){
Devoluciones digitalWrite(led,0);
Modulo_Bluetooth.println("LED del PIN 13-
El número de bytes disponibles para leer >Apagado");
}
Controlar un servo con Arduino }
con librería delay(100);
///////////////////////////////////////////////////////
}
/////////////////////////////////////////////////////////
while(digitalRead(Sleccionar)==LOW){
delay(115);
valor_del_potenciometro=analogRead(potenciomet
ro);
valor_del_potenciometro=map(valor_del_potencio
metro,0,1023,0,179);
servomotor.write(valor_del_potenciometro);
Modulo_Bluetooth.println(valor_del_potenciometro)
;
}
#include<servo.h>
#include<SoftwareSerial.h>
}
/////////////////////////////////
int seleccionar=12;
//////////////////////////////// Controlar un servo con Arduino
int led=13; sin librería
int Dato_de_Bluetooth;
////////////////////////////////
int potenciometro=0;
int valor_del_potenciometro;
////////////////////////////////
Servo servomotor;
SoftwareSerial Modulo_Bluetooth(10,11);//Rx,Tx
void setup() {
pinMode(seleccionar,INPUT); Para esto se supone que alguna vez ha utilizado
digitalRead(seleccionar); un servo con la librería Servo.h .
Modulo_Blutooth.begin(9600);
¿Por qué puede querer uno mover un servo sin
Modulo_Blutooth.println("PIN 13:1->encender
utilizar la librería Servo.h? Si utilizamos shields de
LED o 0->apagar LED");
motores, antenas de radio/bluetooth u otros
pinMode(led,OUTPUT);
componentes, habrá ocasiones en que
sevomotor.attach(9);
estos entrarán en conflicto con la
7
librería Servo.h. ¿Y cómo es esto? Pues es por
culpa de…
8
velocidad en baudios utilizada en la llamada para
comenzar ().
El Arduino Mega tiene tres puertos serie
adicionales: Serial1 en los pines 19 (RX) y 18 (TX),
Serial2 en los pines 17 (RX) y 16 (TX), Serial3 en
los pines 15 (RX) y 14 (TX). Para utilizar estos
pines para comunicarse con su computadora
personal, necesitará un adaptador adicional de
USB a serie, ya que no están conectados al
adaptador Mega de USB a serie. Para usarlos para
comunicarse con un dispositivo serie TTL externo,
conecte el pin TX al pin RX de su dispositivo, el RX
al pin TX de su dispositivo y la tierra de su Mega al
terreno de su dispositivo.
El Arduino Due tiene tres puertos serie TTL
adicionales de 3.3V: Serial1 en los pines 19 (RX) y
18 (TX); Serial2 en los pines 17 (RX) y 16 (TX),
Serial3 en los pines 15 (RX) y 14 (TX). Los pins 0 y
1 también están conectados a los pines
correspondientes del chip ATmega16U2 USB-to-
TTL Serial, que está conectado al puerto de
depuración USB. Además, hay un puerto serie
USB nativo en el chip SAM3X, SerialUSB '.
La placa Arduino Leonardo utiliza Serial1 para
comunicarse vía serie TTL (5V) en los pines 0 (RX)
y 1 (TX). La serie está reservada para la
comunicación USB CDC. Para obtener más
información, consulte la página de introducción y la
página de hardware de Leonardo.
. MATERIALES
4. ANALISIS Y RESULTADOS
9
Figura 9. Algoritmo del RECEPTOR 1
10
Figura 8. Algoritmo del RECEPTOR 2
5. CONCLUSIONES
11
interrupciones y es necesario tomarlas en
cuenta para no tener inconvenientes a futuro.
6.BIBLIOGRAFÍA
[5]SISTEMAS.MICROPROCESADOS,
http://catarina.udlap.mx/u_dl_a/tales/documentos/lem/val
le_i_lf/capitulo7.pdf
12