Arduino – Bluetooth JY-MCU


Olá pessoal, hoje em nosso projeto vamos integrar o arduino com um módulo bluetooth, fazendo uma conexão sem fio deixando de lado o cabo USB, podemos usar o computador ou até mesmo um celular para enviar os dados.

Modulo bluetooth JY-MCU v1.04.

Vou usar o exemplo do servo motor, ruby e sinatra que vimos anteriormente.

O que vamos utilizar em nosso projeto:

– Arduino Uno

– Bluetooth JY-MCU

– Servomotor

-Cabos

BLUETOOTH

A ligação é bem simples:

VCC – ligamos 3.3V do arduino

GND – Gnd do arduino

TX – Ligamos no RX do arduino

RX – Ligamos no TX do arduino

Preste bem atenção, rx – tx e tx- rx temos que ligar invertidos para que se comuniquem.

A senha padrão de conexão: 1234

A única modificação que vamos fazer no código é trocar da USB (serialport) para o Bluetooth (serialport): As portas variam de nome de acordo com seu computador.

port_str = "/dev/cu.usbmodem621"  #USB

port_str = "/dev/tty.JY-MCU-DevB" #BLUETOOTH

Como saber o nome do dispositivo?

Comprei o modulo no mercado livre, vendedor muito rápido e seguro segue o link:

http://produto.mercadolivre.com.br/MLB-438564317-modulo-bluetooth-para-arduino-uno-mega-com-frete-gratis-_JM

VIDEO CONEXÃO COM O MÓDULO:

Servo Motor que vamos controlar:

Carregamos a biblioteca do servomotor (servo.h) vamos utilizar a serialport, além do ruby e do sinatra.

Fritzing:

Código arduino:


#include <servo.h>

Servo myservo; // create servo object to control a servo
 // a maximum of eight servo objects can be created

int posE = 175;
int posD = 0; // variable to store the servo position
int pos = 90;

void setup()
{
 Serial.begin(9600);
 myservo.attach(9); // attaches the servo on pin 9 to the servo object
 myservo.write(pos);
}

void loop() {

 if(Serial.available() > 0)
 {
 int entrada = Serial.read();

 switch (entrada){
 case 'D':
 direita();
 break;

 case 'E':
 esquerda();
 break;

 case 'R':
 centro();
 break;

 }
 }
}
void centro(){
 myservo.write(pos);
}
 void direita(){
 myservo.write(posD);
}
void esquerda(){
 myservo.write(posE);
}

ruby:  application.rb

Neste código ruby vamos adicionar todas as gems que nosso projeto ira precisar, carregando a index em Haml para receber os dados de quando cada botão for pressionado o javascript se encarrega da função de identificar cada tecla.

# vamos adigionar as gens que vamos utilizar
%w[rubygems sinatra haml serialport].each{ |gem| require gem }

# parametros da serialport
port_str = "/dev/tty.JY-MCU-DevB"
#varia de acordo com seus dispositivos
baud_rate = 9600
data_bits = 8
stop_bits = 1
parity = SerialPort::NONE

sp = SerialPort.new(port_str, baud_rate, data_bits, stop_bits, parity)

get '/' do
 haml :index
end

post '/envia' do
 command = params[:cmd]
 sp.write(command +"\r\n")
end
 js/script.js
$(document).ready(function(){
 $(document).keypress(function(e){
 switch(e.charCode){
 case 119:
 Envia('R');
 break;
 case 100:
 Envia('D');
 break;
 case 97:
 Envia('E');
 break;
 }
 })
 $('.btn').click(function() {
 Envia($(this).text())
 })
});

function Envia(command) {
 $.ajax({
 url: '/envia',
 type: 'POST',
 data: { cmd: command },
 error: function(){},
 success: function() {}
 })
}

Criei uma interface, um layout básico utilizando o twitterbootstrap 

Com o ambiente corretamente instalado, podemos inicializar o application.rb com o comando:

ruby application.rb

O servidor vai iniciar, e temos uma aplicação sinatra e ruby controlando o arduino.

Você pode baixar todo código do projeto clicando aqui.

Anúncios
Esse post foi publicado em Arduino, Bluetooth, Ruby, Sinatra e marcado , , , , . Guardar link permanente.

14 respostas para Arduino – Bluetooth JY-MCU

  1. William disse:

    Muito bom tutorial, irei comprar um para “brincar” também.

  2. Olá, você sabe como fazer para configurar o bluetooth? enviar comandos AT para ele..
    para mudar a senha, trocar o nome… etc.

  3. João Gaspar disse:

    Olá. Será que me podia dar uma informação? A primeira ilustração que mostra o arduino conectado ao modulo bluetooth foi feita num simulador? Se sim, qual? Gostaria de experimentar com esses dois antes de comprar o módulo.

  4. SanUSB disse:

    Para quem utiliza esse modem bluetooth com arduino, em anexo um programa arduino de configuração da taxa de transmissão do modem bluetooth de 9600 para 19200 (mais rápido). O tutorial de os programas estão disponíveis no link: https://dl.dropbox.com/u/101922388/ModemBluetooth19200.zip e no link: https://dl.dropbox.com/u/101922388/sanusbee.zip

    Mais detalhes em http://www.youtube.com/watch?v=VMkTgSFtmGE

  5. luis disse:

    Quando se parea esse dispositivo, quantas portas aprarece para o mesmo?
    No meu caso aparece duas COM10 entrada teste e COM7 saida teste’Dev B’, porém nenhuma delas funciona, o que poderia estar errado?

  6. SanUSB disse:

    É possível também configurar via bluetooth o nome dos módulos escravos com aplicativo android:
    https://dl.dropbox.com/u/101922388/BluetoothSanUSB/BT4SanUSB.apk
    Video em https://www.youtube.com/watch?v=V65-Vt91rug . Os programas e tutorial para arduino estão disponíveis no link: https://dl.dropbox.com/u/101922388/ModemBluetooth19200.zip

  7. Paulo Roberto Inocencio Silva disse:

    ola ,muito bom o projerto;;;; estou com dificuldade de fazer a comunicaçao entre o modulo bluetooth com o arduino via andrody estou usando o APP s2bluetooth eles se conectam mas quando envios comando nada acontece;;;;

  8. Hugo Demiglio disse:

    E aí, tudo bom? Parabéns pelo post, ficou muito bom!
    Cara, essas configurações de bluetooth sumiram no Mac OS X Mavericks, vc sabe se tem outro jeito de configura-lo como serial no OS X 10.9?
    Abraços!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s