# Bluetooth e Arduino: Acender un led

## Descrición:

Imos acender e apagar o LED 13 do Arduino desde Android mediante Bluetooth.

Esta práctica está relacionada coa práctica de Comunicación por Bluetooth de Control e Robótica.

## Listado de material:

- Placa Arduino UNO e Software para programar ao Arduino (IDE)
- Placa Protoboard
- Módulo Bluetooth para conectalo ao Arduino. O Arduino básico non ten Bluetooth (hai un modelo que si o ten pero resulta máis caro), así que mellor compramos un módulo, neste caso o HC05.
- 2 Resistencias: unha de 1kΩ e outra de 560Ω, para o divisor de tensión do BT. (Podes calcular as resistencias do divisor de tensión neste enlace)
- Pila de 9V con conector ou alimentador. (Opcional, pódese alimentar a placa a través do USB)

## Conexionado do módulo Bluetooth e o Arduino.

Podes consultar a páxina Comunicación por Bluetooth de Arduino.

O primeiro que temos que facer é conectar o noso módulo Bluetooth ao Arduino. Debemos ter moito coidado de non permutar a alimentación Vcc (+) e Gnd (-), se nos equivocamos e conectámolo no sitio equivocado o módulo se avariará inmediatamente.

O módulo Bluetooth Wireless Serial Port Module admite tensións comprendidas entre 3,6 V e 6 V.

Na foto da dereita aparecen dous módulos Bluetooth HC-05, un en anverso e outro en reverso. Observamos 6 pins (State, Rxd, Txd, Gnd, Vcc e En), dos cales só imos utilizar 4: Rxd, Txd, Gnd e Vcc.

##

Durante o proceso de carga do programa quitaremos e poñeremos varias veces estes cables, para poder cargar o programa ao Arduíno, xa que se está conectado a alimentación do Bluetooth pode non cargar o programa, así que debemos seguir estes pasos: quitamos o cable vermello de alimentación, cargamos o programa e volvemos poñer o cable vermello.

Para facer este exemplo non é necesario conectar ningún LED externo. Imos utilizar o LED 13 que se atopa integrado na placa do Arduíno.

Forma de conectalo: Módulo Bluetooth ⇒ Arduíno:

- VCC ⇒ 9 V
- GND ⇒ GND
- TXD ⇒ RX (é a conexión 0 do Arduino)
- RXD ⇒ TX (é a conexión 1 do Arduino)

Fíxate que o TXD vai co RX e que o RXD vai co TX.

##

Cando realizamos a conexión anterior e conectámolo mediante o cable USB ao computador para programalo, o LED vermello do módulo Bluetooth escintilará continuamente, iso significa que está en funcionamento.

## Emparellamento dos Bluetooth.

Chamamos emparellamento ao recoñecemento entre dous dispositivos Bluetooth.

1. Conectamos o módulo Bluetooth ao Arduíno. O LED vermello do módulo Bluetooth escintilará.
2. Acendemos o noso dispositivo móbil e activamos a conexión Bluetooth.
3. Pulsamos sobre Bluetooth e sairanos unha pantalla que indicará os dispositivos dispoñibles, é dicir, os dispositivos con Bluetooth aceso que hai na nosa proximidade.
4. Detecta o Bluetooth do Arduíno denominado HC-05.
5. Na seguinte pantalla escribiremos a contrasinal de sincronización, que será 1234.

Xa temos o Bluetooth do móbil e do Arduíno sincronizados.

Se nalgún momento temos problemas de sincronización, desconectamos o Bluetooth do Arduíno e repetimos a operación.

## Código do Arduíno.

IMPORTANTE: para cargar o programa quita o cable vermello de alimentación do Bluetooth e carga o programa no Arduíno. Despois de cargar, volve conectar o módulo Bluetooth.

Abre o IDE do Arduíno e copia o programa seguinte para o led integrado na placa Arduíno, que está conectado ao Pin 13:

char val; int ledPin13 = 13; void setup() { Serial.begin(9600); pinMode(ledPin13, OUTPUT); } void loop() { while(! Serial.available()); // Agarda a que haxa datos no buffer val= Serial.read(); if( val=='0') { digitalWrite(ledPin13, LOW); } if( val=='1') { digitalWrite(ledPin13, HIGH); } }

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | char val; int ledPin13 = 13; void setup() { Serial.begin(9600); pinMode(ledPin13, OUTPUT); } void loop() { while(! Serial.available()); // Agarda a que haxa datos no buffer val= Serial.read(); if( val=='0') { digitalWrite(ledPin13, LOW); } if( val=='1') { digitalWrite(ledPin13, HIGH); } }

Unha vez recoñecido o USB e cargado o programa no Arduíno:

- Podemos quitar o cable USB que o conecta ao computador e conectar unha pila de 9 V para que funcione independentemente do computador.
- Xa podes conectar o módulo Bluetooth.

## App Inventor:

### Deseño:

- Unha DisposiciónHorizontal 1.
- Un SelectorDeLista, o chamamos sdl_Conectar (o podes atopar no bloque de Interfaz de usuario)
- Un Botón, o chamamos Btn_Desconectar.
- Unha DisposiciónHorizontal2.
- Dous Botóns, os chamamos On_13 e Off_13
- Un ClienteBluetooth (o podes atopar no bloque de Conectividad)
- Un Notificador (o podes atopar no bloque de Interfaz de usuario)

Cando pulsamos o SelectorDeLista de Conectar, o móbil móstranos unha lista dos dispositivos Bluetooth dispoñibles.

Pulsamos no noso, que está indicado co seu Mac e o seu nome HC-05.

Conéctase e móstrase unha mensaxe de conexión. Entón desactívase o SelectorDeLista de Conectar, e actívase o Botón Desconectar.

NOTA: O terminal 13 xa está conectado a un pequeno LED soldado na placa, de tal maneira que podemos facer o noso experimento só utilizando o LED 13 soldado á placa sen ter que poñer LED externos.

### Código de programación en bloques:

Cando pulsamos algún dos botóns, envíase ao Arduíno un número do 0 ao 1, segundo o número enviado, o Arduíno realizará unha operación como observamos no seu código.

Ao pulsar o Botón de desconexión, desconéctase do móbil e móstranos unha mensaxe.

NOTAS:

- No canto de enviar o dato mediante botóns, poderiamos poñer un CampoDeTexto e un Botón para que cando escribamos un número no CampoDeTexto e pulsemos o Botón, o número se envíe ao Arduíno e execute unha acción.
- No canto de poñer un VisorDeLista poderíase poñer un Botón normal para conectar, púxose o VisorDeLista por se hai máis Bluetooth na proximidade.

## Reto1:

Conecta agora dous leds, un ao terminal 13 e outro ao terminal 12, cada un cunha resistencia de 220Ω:

1. Modifica a programación de Arduino: engade o novo ledPin12. Ten en conta que tes que engadir dous datos máis (val==2, para ledPin12 apagado, val==3, para ledPin12 acendido).
2. Modifica o deseño en App Inventor: engade dous botóns On_12 e Off_12, dentro dunha disposición horizontal.
3. Modifica a programación de bloques en App Inventor: engade a programación dous novos botóns seguindo os bloques dos botóns On_13 e Off_13, pero ten en conta que os números que enviará Arduíno serán 2 e 3 respectivamente.

## Reto2:

Modifica o código de App inventor, para que ao pronunciar as palabras cero, un, dous e tres, se acendan ou apaguen uns LEDs. Utiliza Recoñecemento de voz e de Texto a voz.

### App Inventor

### Prácticas

### Apps para Arduíno

### Licenza