Ir ao conteúdo
  • Cadastre-se

Comunicação I2C via wireless


Posts recomendados

Olá pessoal, estou com um projeto em mente que consiste em utilizar um controle nunchuk de wii para controlar um carrinho de controle remoto (ou uma garra mecânica), via bluetooth, ou outro sistema de comunicação wireless. Porém, o nunchuk utiliza o protocolo i2c para transmitir os dados do seu joystick, acelerômetro e botões, enquanto o módulo bluetooth hc05 utilizado o protocolo Uart ( ou RS232? Desculpem se estou dizendo besteiras). Assim, como posso transmitir os dados i2c do nunchuk via wireless? Dá pra converter de i2c pra uart? Ou dá pra transmitir i2c diretamente wireless? Ou ainda, é possível conectar o SCL ao TxD e o SDA ao RxD do módulo Bluetooth e assim fazer a comunicação normalmente? Desde já agradeço! Abaixo segue o esquema de fios do controle nunchuk.

 

Vermelho --> Vcc 3.3v

Amarelo --> SCL

Verde --> SDA

Branco --> GND

Preto --> ND

 

 

5a1e0028-b756-4fce-81eb-eb05a86ed513.jpg

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Isadora Ferraz disse:

Não é tão simples. São protocolos diferentes.

Googlei i2c bluethoot module mas meu interesse foi menor que o seu. Tenta a sorte...

ent, googlei a mesma coisa e deu em nada kkkkkk ;D, mas de qualquer forma, obrigado! Depois fui pesquisando mais a fundo e descobri que (segundo o PDF que achei, agora é saber se o que diz é certo ou n) é possível utilizar o canal TxD como sinal de sincronismo (o que serviria como um SCL no caso) e o canal RxD como bit de transmissão e recepção de dados. Sendo assim, acho que conectar o SDA e o SCL do joystick direto no RxD e TxD do módulo Bluetooth (vou usar o HC05) deve funcionar. Vou deixar o PDF em anexo aqui pois acho que deve ser de alguma utilidade.  

8051_serial_2017_aplicação.pdf

Link para o comentário
Compartilhar em outros sites

@Vitor Bergamaschi Santos ,

 

Isso que você viu no .PDF é apenas uma ilustração de como funciona o modo síncrono em qualquer serial.

 

Essas seriais funcionam em modo de bytes, isto é, trabalham com um byte de cada vez, e esse byte pode ser de 5 até 8 bits ( pelo menos era em 1981 kkkk ), mas no I2C você não tem um byte definido, precisa funcionar bit a bit, e com respostas tipo Ack / Nack que acontecem a números de bits variados enviados, então não é possível fazer isso usando sinais comuns de TX / Rx serial.

 

Não vejo como usar um Bluetooth para conversar com I2C.... vai precisar de um microcontrolador para fazer a conversão dos protocolos.

 

Paulo

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

De fato não vi conexão direta do pdf com sua problemática. Mas já que mencionas mc, uma alternativa é conectar seu i2c a ele, enviá-los pra serial e monitorar os dados num terminal. Anote cada dado que lhe for importante. P.ex. vira a esquerda ele envia AA 55 37 94. A direita AA 55 39 9A... etc. Pronto! Tá dominado! Agora basta comparar o buffer e enviar o comando personalizado via wireless qualquer p.ex. até mesmo com aquele famigerado casal...

81opClu2ApL._SY355_.jpg

 

Link para o comentário
Compartilhar em outros sites

11 horas atrás, aphawk disse:

@Vitor Bergamaschi Santos ,

 

Isso que você viu no .PDF é apenas uma ilustração de como funciona o modo síncrono em qualquer serial.

 

Essas seriais funcionam em modo de bytes, isto é, trabalham com um byte de cada vez, e esse byte pode ser de 5 até 8 bits ( pelo menos era em 1981 kkkk ), mas no I2C você não tem um byte definido, precisa funcionar bit a bit, e com respostas tipo Ack / Nack que acontecem a números de bits variados enviados, então não é possível fazer isso usando sinais comuns de TX / Rx serial.

 

Não vejo como usar um Bluetooth para conversar com I2C.... vai precisar de um microcontrolador para fazer a conversão dos protocolos.

 

Paulo

entendi. Então eu faço a conversão de i2c para Uart via software no uC, certo? Existem códigos em assembly para 8051 já feitos para isso (pergunto com esperanças, mas creio que não já que só acho explicações para Arduino)? Ou faço a conversão com um destes módulos abaixo? 

conversor i2c para uart.PNG

i2c para aurt.PNG

adicionado 6 minutos depois
11 horas atrás, Isadora Ferraz disse:

De fato não vi conexão direta do pdf com sua problemática. Mas já que mencionas mc, uma alternativa é conectar seu i2c a ele, enviá-los pra serial e monitorar os dados num terminal. Anote cada dado que lhe for importante. P.ex. vira a esquerda ele envia AA 55 37 94. A direita AA 55 39 9A... etc. Pronto! Tá dominado! Agora basta comparar o buffer e enviar o comando personalizado via wireless qualquer p.ex. até mesmo com aquele famigerado casal...

81opClu2ApL._SY355_.jpg

 

é uma boa ideia, nem tinha pensado nisso. Então nesse caso eu conectaria os pinos SDA e SCL do joystick na p1.0 e p1.1 do 8051 por exemplo, e a partir dos dados recebidos, crio outro dado de comando para os motores do carrinho, que serão enviados através da serial do 8051 para o Data do Transmissor RF, certo? E no Receptor é só decodificar o comando que chega através da serial do uC que está no carrinho, e que assim controlará como o carrinho se movimenta. 

Link para o comentário
Compartilhar em outros sites

@Vitor Bergamaschi Santos ,

 

Sim , pode usar um desses módulos para isso, mas tem de adequar a velocidade da serial ao seu sistema wireless.

 

Sobre 8051 ..... esquece isso kkkk hoje em dia é Arduíno de monte, mas pode usar um Atmega328  ( é o coração de um Arduino Uno ) que tem um assembly muito simples, me lembra muito o 8080, e se preferir C tem bibliotecas de montes por aí ...

 

Paulo

Link para o comentário
Compartilhar em outros sites

52 minutos atrás, aphawk disse:

@Vitor Bergamaschi Santos ,

 

Sim , pode usar um desses módulos para isso, mas tem de adequar a velocidade da serial ao seu sistema wireless.

 

Sobre 8051 ..... esquece isso kkkk hoje em dia é Arduíno de monte, mas pode usar um Atmega328  ( é o coração de um Arduino Uno ) que tem um assembly muito simples, me lembra muito o 8080, e se preferir C tem bibliotecas de montes por aí ...

 

Paulo

então, esse é o problema kkkk, esse projeto é para um trabalho da escola, e o professor falou que é 8051 e ponto, já que é a matéria que estamos estudando. Por isso eu to correndo atrás. A minha preocupação era em saber se era possível fazer o que tinha planejado, agora é só trabalhar :D  Obrigado pela ajuda!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
11 horas atrás, Vitor Bergamaschi Santos disse:

conectaria os pinos SDA e SCL do joystick na p1.0 e p1.1 do 8051 por exemplo, e a partir dos dados recebidos, crio outro dado de comando para os motores do carrinho, que serão enviados através da serial do 8051 para o Data do Transmissor RF, certo?

Certíssimo. Teu desafio primario é entender o protocolo i2c pra "explicar" pro mc como capturar dados. Depois é entender como os dados estão distribuídos no pacote que o joystick envia. Daí pra frente é só usar a criatividade...

9 horas atrás, Vitor Bergamaschi Santos disse:

agora é só trabalhar :D

 :D

Link para o comentário
Compartilhar em outros sites

@Vitor Bergamaschi Santos ,

 

Bom, se é para escola, que tal fazer isso da maneira mais fácil ???

 

Use um joystick comum, desses que tem um contato apenas para os 4 cantos, e use um par HT12E/HT12D para fazer a comunicação wireless com esses simples módulos de rf que custam baratinho...

 

Algo do tipo :

 

image.png.a325bee0456d3d137b33c9c49a68f748.png

 

Com um pouco de criatividade você pode decodificar essas 4 saídas e ciar novas saídas para poder também ligar motor / desligar motor, acender/ desligar faróis, etc ...

 

Muito mais simples do que Nuchunk / Bluetooth, serial ....

 

Paulo 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...