Tutorial: Criando aplicação para android para controlar o arduino através do bluetooth

Parte 1:

Parte 2:

Parte 3:

Demonstração:

Espero que gostem !!

Colaborem com meu trabalho se puderem !!

Contato:
email/skype: eduardotattoo1@hotmail.com
fone/WathsApp: (92) 9388-4004

Exibições: 119003

As respostas para este tópico estão encerradas.

Respostas a este tópico

Esqueci de passar meu email: jpvasconcelos@outlook.com

Então João, como o Dyemys disse logo acima, testamos no celular dele o meu app e funcionou perfeitamente, testei em outros celulares e também funcionou tudo certinho. Eu comprei meu celular (Sony xperia u) android só por causa da automação residencial e ele não funciona com o mudulo bluetooth :S vou tentar entrar em contato com o suporte da sony ver oque consigo fazer para liberar esse bluetooth, Obrigado pela atenção

Abraço

Olá galera, estou apanhando para receber alguns caracteres com o app. No caso o Arduino manda a seguinte string: 

"a1" -> lampada1 desligada

"b0" -> lampada1 ligada

"c1" -> lampada2 desligada

"d0" -> lampada2 ligada

"e1" -> lampada3 ligada

"f0" ->  lampada3 desligada

"g1" -> lampada4 ligada

"h0" -> lampada4 desligada

estou fazendo o arduino mandar isso para que toda vez que o app for reiniciado, ele saiba já está ligado e desligado, para eu fazer o controle inteligente. 

por que? 

porque quando eu ligo algumas lampadas e fecho o aplicativo, até aí tudo bem 

quando eu abro o aplicativo de novo os botoes estao todos apagados( no caso botoes com imagens), ai eu gostaria de fazer o ajuste.

alguém pode me ajudar?

Blz cara, eu to com o mesmo problema, se tu conseguir por favor me mostra como tu fez, eu agradeço muito.

Porque eu fiz uns testes com arduino com ele mandando uns caracteres, só que o android mostra varios pontos de interrogação "???".

Valeu!

Caro amigo george benett tem como vc me mandar seu codigo todinho para mim fazer um teste aqui?

eu acabei te testar aqui alguns recebiments de string e deu certo. Então me manda o seu codigo para mim ver se vai dar certo?

fico no aguardo

estou controlando 4 lampadas, e usando o acelerometro do celular para acender e apagar todas de uma vez (no caso o caracter "i")

quando o app é iniciado ele manda o caracter "z" para o arduino, e ai o arduino manda pro app os estados da lampada. eis o código do arduino que estou utilizando:

int lampada1 = 9;
int lampada2 = 10;
int lampada3 = 11;
int lampada4 = 12;

int botao1 = 6;
int botao2 = 5;
int botao3 = 4;
int botao4 = 3;


int estadobotao1 = 1;
int estadobotao2 = 1;
int estadobotao3 = 1;
int estadobotao4 = 1;

int estadogeral = 0;

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

pinMode(lampada1, OUTPUT);
pinMode(lampada2, OUTPUT);
pinMode(lampada3, OUTPUT);
pinMode(lampada4, OUTPUT);


pinMode(botao1, INPUT);
pinMode(botao2, INPUT);
pinMode(botao3, INPUT);
pinMode(botao4, INPUT);

}

void loop(){

estadobotao1 = digitalRead(botao1);
estadobotao2 = digitalRead(botao2);
estadobotao3 = digitalRead(botao3);
estadobotao4 = digitalRead(botao4);

char caracter;
caracter = Serial.read();

switch (caracter){

case 'a':
digitalWrite(lampada1, HIGH);
Serial.print("lamp1: ");
Serial.println(estadobotao1);
break;

case 'b':
digitalWrite(lampada1, LOW);
Serial.print("lamp1: ");
Serial.println(estadobotao1);
break;

case 'c':
digitalWrite(lampada2, HIGH);
Serial.print("lamp2: ");
Serial.println(estadobotao2);
break;

case 'd':
digitalWrite(lampada2, LOW);
Serial.print("lamp2: ");
Serial.println(estadobotao2);
break;

case 'e':
digitalWrite(lampada3, HIGH);
Serial.print("lamp3: ");
Serial.println(estadobotao3);
break;

case 'f':
digitalWrite(lampada3, LOW);
Serial.print("lamp3: ");
Serial.println(estadobotao3);
break;

case 'g':
digitalWrite(lampada4, HIGH);
Serial.print("lamp4: ");
Serial.println(estadobotao4);
break;

case 'h':
digitalWrite(lampada4, LOW);
Serial.print("lamp4: ");
Serial.println(estadobotao4);
break;

}
if ((caracter == 'i') && (estadogeral == 0)){
digitalWrite(lampada1, HIGH);
digitalWrite(lampada2, HIGH);
digitalWrite(lampada3, HIGH);
digitalWrite(lampada4, HIGH);
estadogeral = 1;
}
else if((caracter == 'i') && (estadogeral == 1)){
digitalWrite(lampada1, LOW);
digitalWrite(lampada2, LOW);
digitalWrite(lampada3, LOW);
digitalWrite(lampada4, LOW);
estadogeral = 0;
}

if (caracter == 'z'){

Serial.print("lamp1: ");
Serial.println(estadobotao1);

Serial.print("lamp2: ");
Serial.println(estadobotao2);

Serial.print("lamp3: ");
Serial.println(estadobotao3);

Serial.print("lamp4: ");
Serial.println(estadobotao4);
}
}

vou realizar os testes aqui ok

assim que eu tiver o resultado eu aviso vc

abraços!!

como sao os blocos no app inventor que recebem os dados Serial.println?

Espero que te ajude luiz felipe

abraços!!

Valew a dica Eduardo

Eu estou com o seguinte programa:

Ele é bem simples. Eu quero exibir o valor 1 ou 0 no app. Mas assim que eu abro o aplicativo no celular ele já me da a mensagem "Not connected to a Bluetooth device" e mesmo eu tentando conectar ele me devolve a mesma mensgame,

Você imagina o q seja?


vc deve deixar o "clock" habilitado para receber somente se o bluetooth estiver conectado. ou seja coloca ele desabilitado na tela inicial igualmente como vc deixou seus botões e coloque no evento ListPicker.After Picking para que quando o bluetooth estiver conectado o "clock" se habilite. e qundo clickar em desconectar ele se desabilite.

espero que tenha ajudado!

abraços

Prezado Eduardo,primeiro gostaria de parabenizar e agradecer pelo belo tutorial, está sendo de grande utilidade.

Agora a dúvida, estou tentando obter a leitura de um sensor de temperatura e umidade e colocá-la na tela do app, mas algo está errado,segui as orientações anteriores usando uma label para armazenar a string que no caso é ok 32 34 sendo os primeiros caracteres o status do sensor, depois o valor da umidade e temperatura.Aih eu fiz um arranjo com os títulos em cima da label(vísivel) para indicar cada um.

Tem alguma dica.....já modifiquei o numero de bytes e nada.

Desde já agradeço.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço