Olá
Estou tentando conectar o android no arduino por BT, comprei o BT, que é um JY-MCU.
Estou tentando fazer algo bem básico, usar um togglebutton para ligar ou desligar o led.
Já conectei tudo na Protoboard, criei e compilei os códigos, já coloquei o código no arduino e um apk que fiz no meu celular, um Razr I em que o android é 4.0.
Basicamente liguei o BT do celular, pareei com o BT que está no arduino e iniciei a aplicação.
Mas não acontece nada =[
Abaixo segue os códigos:
Arduino:
#include <MeetAndroid.h>
int ledPin1 = 2;
int ledPin2 = 4; //seta o pino 13 do arduino para ligar o led
MeetAndroid meetAndroid;
void setup(){
Serial.begin(9600);
meetAndroid.registerFunction(led1,'x');
meetAndroid.registerFunction(led2,'y');
pinMode(ledPin1, OUTPUT); //inicializa o pino digital 13 como saida
pinMode(ledPin2, OUTPUT); //inicializa o pino digital 13 como saida
}
void loop(){
meetAndroid.receive();
}
void led1(byte flag , byte numOfValues){
Serial.print(meetAndroid.getInt());
analogWrite(ledPin1, meetAndroid.getInt());
}
void led2(byte flag , byte numOfValues){
analogWrite(ledPin2, meetAndroid.getInt());
Serial.print(meetAndroid.getInt());
}
Android:
import android.os.Bundle;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ToggleButton;
import at.abraxas.amarino.Amarino;
import android.view.Menu;
public class MainActivity extends Activity implements View.OnClickListener{
private static final String DEVICE_ADDRESS = "00:12:09:11:13:39";
private ToggleButton tbOnOffEsq;
private ToggleButton tbOnOffDir;
public int EsqOnOff, DirOnOff;
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Amarino.connect(this, DEVICE_ADDRESS);
EsqOnOff = EsqOnOff = 0;
tbOnOffEsq = (ToggleButton) findViewById(R.id.ledEsq);
tbOnOffDir = (ToggleButton) findViewById(R.id.ledDir);
//Evento ao clicar no ToogleButton
tbOnOffEsq.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (tbOnOffEsq.isChecked()) {
EsqOnOff = 1;
} else {
EsqOnOff = 0;
}
}
});
tbOnOffDir.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (tbOnOffDir.isChecked()) {
DirOnOff = 1;
} else {
DirOnOff = 0;
}
}
});
Amarino.sendDataToArduino(this, DEVICE_ADDRESS, 'x', EsqOnOff);
Amarino.sendDataToArduino(this, DEVICE_ADDRESS, 'y', DirOnOff);
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onStop() {
super.onStop();
// stop Amarino's background service, we don't need it any more
Amarino.disconnect(this, DEVICE_ADDRESS);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
Já testei tudo separadamente, testei os leds e o BT, eu consegui acender o led usando meu pc com os módulo BT que está no arduino.
Mas pelo smartphone eu não consigo .-.
Alguém pode me ajudar? =]