Go Down

Topic: Control BLE (BLUETOOTH DE BAJA ENERGÍA) arduino 101 (Read 112 times) previous topic - next topic

SEBASTIAN23

Buenas noches. Estoy provando un carro bluetooth con la arduino 101 ( uso el bluetooth integrado de la placa).

hice la apk en app inventor para controlarlo. Esta todo bien avanza,gira y retrocede pero al momento de parar los 2 servos, se apaga el BLE de la placa, no se porqué.
si me pueden ayudar en eso. gracias.


aca les dejo el codigo:

//Configuracion del BLE GENUINO 101
#include <Servo.h>
#include <CurieBLE.h>

BLEPeripheral blePeripheral;
BLEService lightService("19B10000-E8F2-537E-4F6C-D104768A1214");
BLEUnsignedCharCharacteristic switchCharacteristic("19B10001-E8F2-537E-4F6C-D104768A1214", BLERead | BLEWrite);

const int led1 = 13;
const int led2 = 12;

Servo servo1;
Servo servo2;

char estado;


void setup() {
Serial.begin(9600);

 servo1.attach(5);
 servo2.attach (6);
 
 pinMode(led1, OUTPUT);
 pinMode(led2, OUTPUT);

 //BLE GENUINO 101
 blePeripheral.setLocalName("GENUINO 101");
 blePeripheral.setAdvertisedServiceUuid(lightService.uuid());
 blePeripheral.addAttribute(lightService);
 blePeripheral.addAttribute(switchCharacteristic);
 switchCharacteristic.setValue(0);
 blePeripheral.begin();
 Serial.println("BLE GENUINO 101.");

}


void loop(){

 BLECentral central = blePeripheral.central(); // Aguarda ser conectado por BLuetooth
if (central){ //Si se produce la conexión
Serial.print("Conectado a la central: "); //muestra en el monitor serial
Serial.println(central.address());
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);




while (central.connected()) { // se ejecuta mientras el dispositivo está conectado
 // Espera el valor enviado por el dispositivo conectado
     //Y acciona el led correspondiente
     
if (switchCharacteristic.written()) { //Característica del interruptor ESCRITO
  estado = switchCharacteristic.value(); //(Característica del interruptor VALOR)guardado en la variable estado

if (estado=='e'){ //Si estado = a  AVANZA
servo1.write(180);
servo2.write(0);
}

if (estado=='d'){ //DERECHA
servo1.write(180);
servo2.write(180);
}

 if (estado=='b'){ //IZQUIERDA
    servo1.write(0);
    servo2.write(0);
 }


  if (estado=='a'){ //REVERSA
    servo1.write(0);
    servo2.write(180);
   
  }
 
  /*if (estado=='c'){ //PARAR
  servo1.write(90);
  servo2.write(90);
 
 
 
  } */
}
}
}else{
  servo1.write(90);
  servo2.write(90);
Serial.print(F("Disconnected from central: "));
Serial.println(central.address());
digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);

}

}




surbyte

Lee las Normas del foro
Luego ve a More (abajo a la derecha), click, luego Modify y estas en modo EDICION.
Si tienes que editar un código -> Selecciona todo el código y click en </> arriba del emoticon.
Si tienes que editar un enlace -> Selecciona el enlace. Copialo al portapapeles. Click en el eslabón (ver abajo) y sigue los pasos que habras visto al leer las normas. 



Go Up