collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Arduino - Android  (Lida 3741 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Ricardo

  • Mini Robot
  • *
  • Mensagens: 110
Arduino - Android
« em: 01 de Setembro de 2011, 20:12 »
Boas,

Tenho estado particularmente interessado na interacção arduino-android. Vejo como um campo com futuro a utilização dos tablets (ou smartphones) como interface para os microcontroladores. Já andei a ver umas coisas sobre a placa ioio mas para já parece-me mais prático e funcional a ligação entre o android e o arduino via bluetooth.

Há tempos comprei um tablet ZTE V9 (originalmente associado à vodafone) por 120 euros, e apesar de ser um equipamento de entrada de gama, tem tudo o que existe neste tipo de equipamentos: GPS, WIFI, 3G, Bluetooth, acelerómetro, e embora traga instalada a versão android 2.1, é fácil o seu upgrade para a versão 2.2, que já permite mais algumas funcionalidades.

A programação no android é feita em Java e utilizando o editor Eclipse, já consegui programar algumas pequenas aplicações que usam o bluetooth para comunicar via serial com outros dispositivos.

O segundo passo foi arranjar um módulo bluetooth baratinho que permitisse a ligação ZTE-arduino, e pelo meio resolvi juntar uma ideia que já andava a pensar há algum tempo, que consiste no controlo de um rgb led strip.

Juntando estas ideias todas, e sem grandes embelezamentos, cheguei a este resultado provisório que me deixa bastante optimista quanto a outras ideias que gostaria de desenvolver.

O esquema actual é este:



O código arduino é muito simples:

Código: [Seleccione]
#define START_COLOR_CHAR '^'
#define END_COLOR_CHAR 'c'
#define COLOR_SIZE 16

#define REDPIN 5
#define GREENPIN 6
#define BLUEPIN 3

char serialMessage[COLOR_SIZE];
char *msg="R000G000B000";

unsigned int count;
unsigned int readChar;
boolean readingSerial;

void setup() {
  readingSerial = false;
  Serial.begin(9600);
  pinMode(REDPIN, OUTPUT);
  pinMode(GREENPIN, OUTPUT);
  pinMode(BLUEPIN, OUTPUT);
  analogWrite(REDPIN, 255);
  analogWrite(GREENPIN, 255);
  analogWrite(BLUEPIN, 255);
}

void loop() {
 /*if (Serial.available() > 0 && !readingSerial) {
   
    Serial.println((char)Serial.read());
  }*/
   
  serialReadColor();
 delay(100);
}

void serialReadColor() {
  readingSerial = true;
  count = 0;
 
  iniReading:
  if (Serial.available() > 0) {
    readChar = Serial.read();
    if (readChar == END_COLOR_CHAR || count == COLOR_SIZE) {
      goto endReading;
    } else {
      serialMessage[count++] = readChar;
      goto iniReading;
    }
  }
  goto iniReading;
 
  endReading:
  readingSerial = false;
  serialMessage[count] = '\0';
//  lcd.clear();
  if(count==12)
  {
    Serial.println(serialMessage);
    cor();
  }
  else
  {
    Serial.println(count);
  }
}

void cor()
{
  msg = serialMessage; 
  char R[4]="000";
  char G[4]="000";
  char B[4]="000";
  int r, g, b;

   //strncpy(de,msg+0,1);
   strncpy(R,msg+1,3);
   //strncpy(dd,msg+4,1);
   strncpy(G,msg+5,3);
   strncpy(B,msg+9,3);
   
   Serial.print("R:");
   Serial.print(R);
   Serial.print(";G:");
   Serial.print(R);
   Serial.print(";G:");
   Serial.println(B);
         
   
   r=atoi(R);
   g=atoi(G);
   b=atoi(B);
   
   analogWrite(REDPIN, r);
   analogWrite(GREENPIN, g);
   analogWrite(BLUEPIN, b);



}

Já o código Java não é fácil de colocar aqui… mas mais tarde deixo o projecto todo (quando estiver mais limpinho…)

O resultado é isto:






Sugestões?

PS: Em principio este projecto irá ligar-se futuramente ao "exaustorino"(http://lusorobotica.com/index.php?topic=3454.msg39576#msg39576) fazendo com que a minha cozinha assuma cada vez mais o papel de divisão mais inteligente da casa.
 ;D

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: Arduino - Android
« Responder #1 em: 01 de Setembro de 2011, 20:31 »
Gostaria era de saber como foi feita a programação para o android.

Offline Ricardo

  • Mini Robot
  • *
  • Mensagens: 110
Re: Arduino - Android
« Responder #2 em: 02 de Setembro de 2011, 08:58 »
Gostaria era de saber como foi feita a programação para o android.

Como disse, só não ponho aqui todo o projecto da parte do android porque também ainda estou a dar os primeiros passos no java, e o projecto em causa é uma espécie de baú com uma série de outras experiências (GPS, SD card, Camera, SQL, etc...). Assim que limpar aquilo ou criar um projecto só para este assunto, ponho-o aqui.

Ainda assim, posso garantir que para este projecto é tudo surpreendentemente simples.

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.918
    • GrcByte - Projectos
Re: Arduino - Android
« Responder #3 em: 22 de Setembro de 2011, 13:45 »
Muito interessante  ;)

Offline Zav

  • Mini Robot
  • *
  • Mensagens: 72
Re: Arduino - Android
« Responder #4 em: 22 de Setembro de 2011, 14:31 »
Bom projecto ... tambem estou a iniciar-me num deste tipo, e tal como tu ainda ando a atinar com o java, tenho feito app para o android, agora estou a fazer uma calculadora.

A troca de duvidas ou sugestões e sempre bem vinda. Desde já fica aqui algo para dares umas vistas de olhos poder ser que ajude : http://code.google.com/p/cellbots/source/browse/#svn%2Ftrunk%2Fandroid%2Fjava%2Fcellbots%2Fsrc%2Fcom%2Fcellbots%2Fdirectcontrol

Bom trabalho e Obrigado ;)
"O Futuro pertencem a aqueles que acreditam na Beleza dos  seus sonhos" Eleanor roosevelt