Omet navegació

1. Control de 4 leds amb el Bluetooth i telèfon amb Android

Anem a crear una aplicació per controlar 4 leds situats en una placa protoboard, també cal afegir un integrat bluetooth HC06, i una targeta Arduino UNO amb les connexions següents.

4_leds_bluetooth_arduino

Les potetes de l'integrat HC06 les connectem de la forma:

VCC a 5V d'Arduino

GND al comú d'Arduino

TX a port 2 d'Arduino

RX a port 3 d'Arduino

 D'aquesta forma els ports RX i TX d'Arduino que hi són al 0 i 1 queden lliures per comunicar amb l'ordinador amb el cable USB, així podem carregar programes sense haver de desconnectar els ports RX i TX del HC06 ja que els hem assignat al 2 i 3.

El programa per fer carregar a Arduino i interaccionar amb els leds és aquest:


// Exemple per engegar i aturar 4 leds com pas previ a programar motors amb el mòbil
// Font: https://booleanbite.com/web/comunicacion-arduino-con-bluetooth/
// Modificat: Carles Ferrando amb data: 8/febrer/2019

#include <SoftwareSerial.h>
 
SoftwareSerial serial(2,3);
// Recorda posar al HC06 bluetooth TX pin 2 , RX pin 3

// Definim els ports on estan els leds
int pinLed1= 9;
int pinLed2= 10;
int pinLed3= 11;
int pinLed4= 12;
  
void setup() {
  // Definim els ports de cada led com eixida
  pinMode(pinLed1,OUTPUT);
  pinMode(pinLed2,OUTPUT);
  pinMode(pinLed3,OUTPUT);
  pinMode(pinLed4,OUTPUT);
  
  serial.begin(9600); // Monitor bluetooth per connectar amb mòbil
  Serial.begin(9600); // Monitor Serial per comunicar amb l'ordinador
}
 
void loop() {
  if(serial.available())
  {
    char caracter= serial.read();
    Serial.println(caracter);
   switch(caracter){
      case '0':
        digitalWrite(pinLed1,HIGH);
        digitalWrite(pinLed2,LOW);
        digitalWrite(pinLed3,LOW);
        digitalWrite(pinLed4,LOW);
        break;
      case '1':
        digitalWrite(pinLed1,LOW);
        digitalWrite(pinLed2,HIGH);
        digitalWrite(pinLed3,LOW);
        digitalWrite(pinLed4,LOW);
        break;
      case '2':
        digitalWrite(pinLed1,LOW);
        digitalWrite(pinLed2,LOW);
        digitalWrite(pinLed3,HIGH);
        digitalWrite(pinLed4,LOW);
        break;
      case '3':
        digitalWrite(pinLed1,LOW);
        digitalWrite(pinLed2,LOW);
        digitalWrite(pinLed3,LOW);
        digitalWrite(pinLed4,HIGH);
        break;
      case '4':
        digitalWrite(pinLed1,LOW);
        digitalWrite(pinLed2,LOW);
        digitalWrite(pinLed3,LOW);
        digitalWrite(pinLed4,LOW);
        break;
   }//Final switch 
  } //Final if
 // Ací és pot afegir més codi
 
}// Final void loop

Ara mateix sols et falta activar el servei Bluetooth al teu mòbil, i des de la Play Store instal·lar l'app «Bluetooth Terminal». Després aparelles amb el telèfon el dispositiu insegur HC06 que té per contrasenya 1234.

bluetooth_terminal

A continuació envies consecutivament el text 0, 1, 2, 3, 4 (sense les comes) i prems «Send» després de cada número. Veuràs com els leds s'engeguen depenent del número que envies o s'aturem tots si prems i envies el 4.

Ara anem a obrir la interfície de l'AppInventor i anem a fer una aplicació senzilla per controlar els mateixos 4 leds amb 5 botons.

Afegeix al dissenyador els elements següents:

- De «Interfaz de usuario» pren «SelectorDeLista» i anomena-lo SelectBluetooth

- De «Disposición» pren «Disposiciónvertical» i no cal que li canvie el nom. Els botons i etiquetes aniran tots dins de la disposició vertical.

- De «Interfaz de usuario» pren 4 «Botón» i anomena-los btLed1 a btLed4. Canvia la forma i el color per deixar-los verds com els leds.

- De «Interfaz de usuario» pren 1 «Botón» i anomena-lo btAtura. Canvia la forma i el color per deixar-lo roig.

- De «Interfaz de usuario» pren 1 «Etiqueta» i anomena-lo «etiqueta» però no li poses títol , deixa-la sense contingut « ».

- De «Conectividad» pren «ClienteBluetooth» i solta-la dins de la pantalla «Screen1» que anirà a la secció «Componentes no visibles».

- De «Sensores» pren «Reloj» i solta-la dins de la pantalla «Screen1» que anirà a la secció «Componentes no visibles».

L'aspecte serà aquest:

appinvent_dissenyador

Ara canvia el dissenyador per la finestra de «Blocks» i programa els blocs següents:

appinvent-blocs-123

appinvent-blocs-4-5-6-7

appinvent-blocs-8

A continuació anem a «Generar» i premem el botó per generar la APP en format APK.

genera_apk

Després quan isca la finestra per escanejar el codi QR ho escanegem.

escaneja_apk

Carreguem l'aplicació al telèfon, li donem permisos per executar-se i l'executem.

BTT_Noconnectat

Premem el selector de Bluetooth i triem aparellar el bluetooth HC06 de l'Arduino. Recorda que el dispositiu insegur HC06 té per contrasenya 1234.

BTT_Select

Després ja podem provar el botons per engegar els leds un a un o aturar-los tots.

BTT_Connectat

Canviar el programa per controlar els motors d'un vehicle equipat amb un bluetooth és molt fàcil ja que sols hauries de modificar  l'app aquesta per enviar la senyal 0, 1, 2, 3, 4 amb un botons amb dibuixos amb fletxes a sobre per indicar que el cotxe és mou endavant, endarrere, a la dreta,  a l'esquerre o que cal que ature els motors. El programa d'Arduino també tindrà sentencies  «switch», «case» com aquest acabat de fer, però el codi que canviarà serà el que hi ha dins de cada «case» per engegar motors o aturar-los.