Passar Programação para o Arduino via Bluetooth

1,458 views
Skip to first unread message

Eduardo Almeida Cariani

unread,
Nov 3, 2011, 8:30:24 PM11/3/11
to ArduInRio
Fala pessoal, 
Estou tentando passar a programação bem simples para o meu arduino via bluetooth, mas eu não consigo. No meu bluetooth do computador eu conseguir parear o Modulo, coloquei a senhra tudo certo.

Mas não estou sei como passar a programação para o arduino, pelo que já andei pesquisando, só acho como montar o modulo mas programação nada.
Creio que preciso usar o Serial.available() mas não sei se vou ter que usar mais coisas na programação. Eu queria só para testar passar a programação blink mesmo.

E também quando fiz o pareamento do modulo, mostrou que o bluetooth ficou no COM8 e no arduino IDE mostra varias portas, e selecionei COM8 no programa.

Se alguém puder explicar como fazer isso...

--
Eduardo de Almeida Cariani - Estudante

Desireé Santos

unread,
Nov 3, 2011, 8:43:57 PM11/3/11
to ardu...@googlegroups.com
Eduardo no meu caso programei para o arduino receber um caracter(tipo char) para acender ou apagar o led13 :


void setup() {                
  // Inicialização dos pinos de habilitação dos motores
  pinMode(13,OUTPUT);
  
  // Inicialização da porta serial
  Serial.begin(9600);  
}

// Loop principal do programa
void loop() {
  if (Serial.available() > 0) { // Se algo chegar pela serial
    char C = Serial.read();
    
    switch (C) {

      case 'L':
        digitalWrite(13, HIGH);   // Liga o led 13
      break;
      case 'D':  
        digitalWrite(13, LOW);   // Desliga o led 13
      break;
--
Desiree Santos

Eduardo Almeida Cariani

unread,
Nov 3, 2011, 8:47:26 PM11/3/11
to ardu...@googlegroups.com
Tinha tentado fazer de um jeito parecido com esse, sendo que não usei o switch/case... Fui direto mesmo

Carlos Eduardo "Mascote" Garcia de Carvalho

unread,
Nov 3, 2011, 8:50:30 PM11/3/11
to ardu...@googlegroups.com
Desiree,

pelo que entendi ele não quer conversar do PC para o Arduino pelo Bluetooth.
Ele quer fazer o upload de um Sketch por bluetooth.

Eduardo, não tenho conhecimento sobre isso mas veja se isso pode te ajudar:

[]'s


---
Carlos Eduardo "Mascote" Garcia de Carvalho
"Reconhece-o em todos os teus caminhos, e ele endireitará as tuas veredas." Provérbios 3.6
(21) 8125-1737
Skype: carloseduardo.gc


2011/11/3 Desireé Santos <desi...@gmail.com>

Webert Oliveira

unread,
Nov 3, 2011, 8:52:52 PM11/3/11
to ardu...@googlegroups.com
Desireé acho que não é isso que ele está querendo.

Eduardo eu tenho o modulo Bluetooth ligado a serial 0 e 1.
Porém quando vou fazer a comunicação tenho que fazer via cabo e desconectar o bluetooth.
Todas as tentativas de fazer direto pela com que está p bluetooth, não funcionou então fui verificar.
Quando abre a IDE do arduino, por algum motivo, desconecta o blue e esse não volta a conectar.
Verifica se isso acontece com você.
Eu uso o bluesoleil para detectar os dispositivos.
Tenta ai e me fala.    

Eduardo Almeida Cariani

unread,
Nov 3, 2011, 9:04:15 PM11/3/11
to ardu...@googlegroups.com
Também estou usando o Bluesoleil, e coloquei para parear e ficar com o dispositivo tempo todo ligado... até então fala que está com um sinal forte que a porta é COM8.

Eu montei a placa do modulo Bluetooth para ligar no arduino, só estou usando o TX, RX, GND e o VCC (3,3v)

Não entendi muito com esse link Mascote, porque pelo que fiquei pesquisando so falava para usar esses 4 terminais do Módulo

Webert Oliveira

unread,
Nov 3, 2011, 9:14:53 PM11/3/11
to ardu...@googlegroups.com

Eduardo são esse teminais mesmo, lá fala pin33, também não entendi.
Mas qual erro que dá no seu caso? Tem que ver a velocidade de comunicação que o bluetooth entá configurado e a que o PC/IDE arduino está enviando.

Eduardo Almeida Cariani

unread,
Nov 3, 2011, 9:18:50 PM11/3/11
to ardu...@googlegroups.com
Tipo o arduino não está ligado co computador, estou ligando ele por uma bateria externa ai da um erro de nao ter um arduino ligado ao computador

 
Em 3 de novembro de 2011 23:14, Webert Oliveira <wertol...@gmail.com> escreveu:

Eduardo são esse teminais mesmo, lá fala pin33, também não entendi.
Mas qual erro que dá no seu caso? Tem que ver a velocidade de comunicação que o bluetooth entá configurado e a que o PC/IDE arduino está enviando.



Carlos Eduardo "Mascote" Garcia de Carvalho

unread,
Nov 3, 2011, 9:33:39 PM11/3/11
to ardu...@googlegroups.com
Eduardo,

o que você quer fazer afinal?

1) Você quer enviar um novo programa (sketch) através do bluetooth ao invés da usb?
2) O arduino já tem um programa que conversa via porta serial com o PC, e vc quer usar o bluetooh para fazer essa comunicação?
3) Amvos.

Pelo que interpretei do e-mail do Webert para fazer o o upload de um novo programa via cabo usb é necessário desconectar o modulo bluetooth. Então, você tira o modulo bluetooh. Conecta o cabo USB, manda fazer upload do seu Sketch. Retira o cabo USB. Coloca o Modulo Bluetooth, bateria e faça o pareamento igual vocÊ está fazendo.


[]'s


---
Carlos Eduardo "Mascote" Garcia de Carvalho
"Reconhece-o em todos os teus caminhos, e ele endireitará as tuas veredas." Provérbios 3.6
(21) 8125-1737
Skype: carloseduardo.gc


2011/11/3 Eduardo Almeida Cariani <dudu.s...@gmail.com>

Eduardo Almeida Cariani

unread,
Nov 4, 2011, 10:58:34 AM11/4/11
to ardu...@googlegroups.com
Quero passar a programação (sketch) através pelo bluetooth, sem usar o USB

Webert Oliveira

unread,
Nov 4, 2011, 11:07:33 AM11/4/11
to ardu...@googlegroups.com
Eduardo, então em um dos posts antigos ai eu disse a minha
experiancia. Eu não consegui, e não localizei o motivo. Se mais alguém
da lista tiver consegui, posta aqui a solução.

Em 04/11/11, Eduardo Almeida Cariani<dudu.s...@gmail.com> escreveu:

--
Enviado do meu celular

Carlos Eduardo "Mascote" Garcia de Carvalho

unread,
Nov 4, 2011, 11:16:08 AM11/4/11
to ardu...@googlegroups.com
Será que não é necessário um Bootloader especial?
Ou ligar o arduino assim que terminar de compilar o sketch (mas antes vc já teria que ter o bluetooth funcionando)?

neste video aqui http://www.youtube.com/watch?v=i-69D0iDVxE parece que o cara faz isso.
Você clica no botão upload na IDE Arduino, após ele aparecer a mensagem de que está compilado (Binary sketch size: XXXX bytes (of a YYYY byte maximum)
) então você aperta o botão reset do Arduino.


[]'s


---
Carlos Eduardo "Mascote" Garcia de Carvalho
"Reconhece-o em todos os teus caminhos, e ele endireitará as tuas veredas." Provérbios 3.6
(21) 8125-1737
Skype: carloseduardo.gc


2011/11/4 Webert Oliveira <wertol...@gmail.com>

Eduardo Almeida Cariani

unread,
Nov 4, 2011, 12:55:56 PM11/4/11
to ardu...@googlegroups.com
Não sei se precisa de um Bootloader especial para o bluetooth... Estou usando o BlueSoleil para parear e ligar o modulo bluetooth no meu notebook.

Andei pesquisando ta muito ruim de achar algo falando sobre programação, só acho datasheet desse modulo e de outros também e como fazer as ligações.

Mas Webert, como é que você fez com o bluetooth, você passar a programação usb para o arduino, mas o bluetooth fica funcionando como?

Webert Oliveira

unread,
Nov 4, 2011, 1:14:01 PM11/4/11
to ardu...@googlegroups.com
Ah eduardo acho que você está confundindo as coisas.

Para programar o arduino você vai usar o cabo USB, ligado a serial usando a COM que for reconhecida.
o Bluetooth usa a mesma porta que o arduino usa para gravar os programas.

1) Então, grave esse exemplo abaixo no arduino.
2) Depois desconecte o cabo USB se tudo deu certo.
3) Ligue o modulo Bluetooth na serial do arduino 0 RX e 1 TX. (Atenção cuidado para não inverter)
4) Faça o pareamento entre o PC e o Arduino pelo BlueSoleil.
5) Abra a IDE do Arduino, o serial monitor.
6) Tente mandar o valor 1 pela serial e veja se o LED 13 acende. (Se acender a comunicação está OK)
7) Voce pode usar o celular para mandar o valor também, usando o amarino ou outros programs.

Faça esse teste. 
Abraços 


char recepcao; 

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

void loop() {
  recepcao = Serial.read();  
  if(recepcao=='1'){
    Serial.print(recepcao); 
    Serial.println(); 
    delay(1000); 
  } 

if (recepcao =='1') 
if(digitalRead(13)==HIGH){
  digitalWrite(13,LOW);
}else
  digitalWrite(13,HIGH);
}

Eduardo Almeida Cariani

unread,
Nov 4, 2011, 1:18:10 PM11/4/11
to ardu...@googlegroups.com
Ah entendi agora como você fez, não tava entendendo muito isso. Mas queria mesmo passar a programação direito do pc para o arduino sem usar usb mesmo... Mas vou tentar essa programação quando chegar.

Webert Oliveira

unread,
Nov 4, 2011, 1:29:29 PM11/4/11
to ardu...@googlegroups.com
Eduardo não tem motivo para você fazer isso, pense assim outra pessoa pode concectar no seu dispositivo e reprograma-lo.
Antes do arduino, com os PIC da vida, você só gravava com a gravadora, leva o microcontrolador e colocava no circuito.
O Arduino traz essa facilidade de gravar na USB, e outra coisa, depois que seu programa estiver pronto, você não vai mais precisar programar o arduino.

No meu caso estou usando um arduino para automação, com serial, bluetooth, rede, IR e outras coisas que ainda estou testando.

Depois procura/estuda a biblioteca newSoftSerial, com ela você cria portas seriais vrituais para o arduino.
Inté mais.    

Eduardo Almeida Cariani

unread,
Nov 4, 2011, 2:03:24 PM11/4/11
to ardu...@googlegroups.com
Também quero estuda essa area de automação, para ser mais especifico quero me aprofundar mais em automação residencial... Ai talvez isso facilita pensando no modo de que... O projeto está pronto e fixo em um lugar, para nao ficar colocando e tirando do lugar, pensei que seria bem mais pratico fazer esse controle por bluetooth sem o USB

Carlos Eduardo "Mascote" Garcia de Carvalho

unread,
Nov 4, 2011, 2:11:15 PM11/4/11
to ardu...@googlegroups.com
Eduardo, tente fazer o que eu falei.

neste video aqui http://www.youtube.com/watch?v=i-69D0iDVxE parece que o cara faz isso.
Você clica no botão upload na IDE Arduino, após ele aparecer a mensagem de que está compilado (Binary sketch size: XXXX bytes (of a YYYY byte maximum)
) então você aperta o botão reset do Arduino.
http://legwinskij.blogspot.com/2011/10/arduino-wireless-sketch-uploading-via.html

---
Carlos Eduardo "Mascote" Garcia de Carvalho
"Reconhece-o em todos os teus caminhos, e ele endireitará as tuas veredas." Provérbios 3.6
(21) 8125-1737
Skype: carloseduardo.gc


2011/11/4 Eduardo Almeida Cariani <dudu.s...@gmail.com>

Eldio Santos Jr.

unread,
Nov 4, 2011, 2:19:20 PM11/4/11
to ardu...@googlegroups.com
Rapaz, entendi (e gostei da opção do Bluetooth, exatamente por isso) o motivo, mas se for o caso você pode tentar arrumar um cabo USB um pouco maior (não sei qual o limite méximo de tamanho sem perder confiabilidade) e a interface USB do seu dispositivo final com acesso fácil... Se for pelo fato de não permitir que o usuário mexa nessa USB você pode até adaptar essa interface...

________________
Eldio Santos Junior
Tel.: (21) 8884-3757
Skype: eldiojr
Twitter: @eldius

Webert Oliveira

unread,
Nov 4, 2011, 2:20:12 PM11/4/11
to ardu...@googlegroups.com

Eduardo se quiser depois entra em contato comigo que te passo o meu projeto e como está, estou tentando documentar tudo para colocar como Creative Commons.

Eduardo Almeida Cariani

unread,
Nov 4, 2011, 2:27:34 PM11/4/11
to ardu...@googlegroups.com
Fala Mascote, vou tentar sim mas agora que vi que o cobre onde fica o terminal terminal quebrou e vou concertar a placa que fiz... para não ficar uma lambança de solda vou trocar os terminais e faço uma placa direitinho. Vou ver se fica tudo pronto até a noite

Felipe Navarro

unread,
Nov 5, 2011, 9:20:56 PM11/5/11
to ardu...@googlegroups.com
Via Bluetooth eu não achei, mas...

Wireless você pode usar isso aqui:


Abraços,
Felipe Navarro
PY1CX
--
Atenciosamente,
Felipe Navarro
Radioamador - PY1CX
www.felipenavarro.net

Ronan Paixão

unread,
Nov 7, 2011, 8:18:30 AM11/7/11
to ardu...@googlegroups.com
Pra usar uma interface serial diferente para reiniciar, é necessário conhecer algo do bootloader.
Primeiro, é importante saber qual a velocidade que o bootloader conversa. Isso pode ser achado facilmente no arquivo boards.txt.
Segundo, deve-se apertar o botão de reset na hora certa. Isso era mais claro nos Arduinos antigos, mas nos novos o reset é feito automaticamente pela IDE. Como é feito isso? Através do pino DTR da porta serial. Conectando-se este pino ao reset do Arduino, o chip é reiniciado automaticamente no momento certo. Isso possibilitou a diminuição do tempo de espera do bootloader. Isso faz o programa do usuário iniciar mais rápido, porém exige maior precisão caso seja feito manualmente.

Este processo está bem descrito em http://arduino.cc/en/Main/ArduinoBoardDuemilanove, na seção "Automatic (Software) Reset".

A conexão pode ser feita diretamente ou através de um capacitor pequeno como está no esquemático do Arduino Duemilanove.

Provavelmente com isso funcionará, afinal é tudo conexão serial.

Ronan Paixão
Engenheiro eletrônico
Instituto Militar de Engenharia - IME
(21) 8822-1709
Reply all
Reply to author
Forward
0 new messages