Ir ao conteúdo

Projeto Faculdade Carrinho arduino Bluetooth


JovaKz

Posts recomendados

Postado

Bom como vocês podem ter notado o estou precisando de galera que saiba um pouco de programação e que entenda de eletrônica, pois estou pensando em fazer um projeto para cadeira da faculdade com uma placa arduino e um smartphone que sera o controle dele.

 

Estou olhando esse projeto aqui, porém preciso me orientar melhor na hora de soldagem dos componentes.

http://www.mobot.es/MobotBTCar.html

 

Por isso estou aceitando sugestões se alguém puder me ajudar..

 

valeu!

Postado

    Se a ideia que você tem é controlar um carinho pelo Celular/PC, ai não é tão difícil, já se for para realizar alguma função automaticamente (desviar de obstáculos sozinho, reconhecer cores, etc), ai é mais difícil. Pelo link que você que você postou é um carinho simples, só é controlado pelo celular. Se dividirmos as etapas necessárias teremos:
Geral.jpg?lgfp=3000

 

 

Motores.jpg?lgfp=3000

    No esquema de ligação dos motores, você provavelmente terá dois, um para fazer o carinho andar e o outro para mudar a direção, são motores DC, o micro controlador não suporta a corrente para acionar ele você terá que montar um circuito que tenha a capacidade de tirar a corrente elétrica de uma fonte externa, usa-se um resistor com um transistor e diodo, como no link abaixo:
- http://i.stack.imgur.com/Ej8CG.png
    No entanto, esses motores tem que ter inversão de rotação, se não o carinho só ira andar em um sentido, como também para somente uma direção, para resolver esse problema você terá que montar uma ponte H, um circuito com quatro transistores, esse por sua vez substituirá o circuito anterior:
- http://www.logicaprogrammabile.it/wp-content/uploads/2012/02/PonteH.png
    Em vez de montar o circuito acima, é melhor comprar um CI Drive, que faz tudo isso e muito mais, O que recomendo é o L298N, com um só você controla dois motores DC de até 2A, além de inverter a rotação e modular a velocidade:
- http://www.aliexpress.com/item/New-Dual-H-Bridge-DC-Stepper-Motor-Drive-Controller-Board-Module-L298N-for-Arduino-Free-Shipping/829230441.html
    Esse Drive se comunica direto, você usa uma porta digital para acionar cada motor, se quiser modular a velocidade usa uma porta pwm, e escreve o valor.

Leds.jpg?lgfp=3000

    Os leds são bem simples, pode ligar direto no microcontrolador com um resistor, usa uma porta digital.

Comunicao_PC.jpg?lgfp=3000

    Essa parte será a mais complicada, você terá que criar um protocolo virtual, o físico será serial. Esse protocolo é simples o mais difícil o código de leitura e escrita do arduino, e leitura e escrita do Celular/PC, abaixo tem um código pronto de comunicação do arduino com o protocolo. Nesse código o protocolo virtual é quatro letras seguidas de quatros numero e uma vírgula para separar o comando, ex: “ENBM0001,”; “ESQM0255,”; “DIRM0001,”. Feito isso é só acrescentar no código o que você quer que o carinho faça. Para comunicar com o Celular/PC use o módulo abaixo ele, se comunica pela porta serial do arduino.
- http://www.aliexpress.com/item/Free-Shipping-HC-07-Wireless-Serial-4-Pin-Bluetooth-RF-Transceiver-Module-RS232-TTL-New/819902558.html

- http://www.aliexpress.com/item/free-shipping-Bluetooth-USB-2-0-Dongle-Adapter-smallest-bluetooth-adapter-V2-0-EDR-USB-Dongle/286515412.html

/* * L298N * *  Created on: 05/10/2013 *      Author: paulo */ //Matriz do grupo 1, de leitura da porta serialchar Comand_1[5];//Variavel do grupo 2, de leitura da porta serialint Comand_2;void setup(){    Serial.begin(9600);  //Declara Portas de Comunicação  //Habilita Motor 1  pinMode(11,OUTPUT);  //Gira o motor 1 para um direção  pinMode(10,OUTPUT);  //Gira o motor 1 para um outra direção  pinMode(9,OUTPUT);}void loop(){  //Habilita  Motor 01, ao receber o comando "ENBM0001," pela porta serial  if ( strcmp(Comand_1, "ENBM") == 0)  {    digitalWrite(11,Comand_2);  }  // Gira motor um para uma direção, ao receber o comando "ESQM0001," pela porta serial  if ( strcmp(Comand_1, "ESQM") == 0)  {    digitalWrite(10,Comand_2);    digitalWrite(9,0);  }  //Inverte o Sentido de Rotação, ao receber o comando "DIRM0001," pela porta serial  if ( strcmp(Comand_1, "DIRM") == 0)  {    digitalWrite(9,Comand_2);    digitalWrite(10,0);  }}void serialEvent (){    // Matriz buffer 8 caracter  char buffer[8];  //Matriz intermediaria de convers�o  char C_1[5];  //Ler Porta serial caso esta esteja com 9 o mais caracteres no Buffer real da porta  if ( Serial.available ()>=9)  {    // armazena na matriz buffer, o Buffer real da porta serial, caso seja encontado o caracter ',' ou um 9� caracter    Serial.readBytesUntil (',', &buffer[0], 9 );    //Redimenciona Buffer Serial para Matriz C_1, os 4 primeiros caracteres    Comand_1[0]= buffer[0];    Comand_1[1]= buffer[1];    Comand_1[2]= buffer[2];    Comand_1[3]= buffer[3];    //caracter terminador da matriz C_1    Comand_1[4] = '\0';    //Redimenciona Buffer Serial para Matriz C_2, os ultimos 4 caracteres    C_1[0]= buffer[4];    C_1[1]= buffer[5];    C_1[2]= buffer[6];    C_1[3]= buffer[7];    //caracter terminador da matriz C_2    C_1[4]= '\0';    //Converte a matriz C_2 (caracteres) para a matriz C_3 (numeros)    Comand_2=atoi (C_1);  }}

    Quanto a programação no Celular/pc, não sei que linguagem tu irá usar, mas em qualquer linguagem o principio é o mesmo é só fazer a parte de leitura e escrita dos comandos já criados para o módulo bluetooth, esse que por sua vez se comporta como uma porta serial. Um exemplo que dou usando primeiramente a comunicação com o pc é usar C++ com a API QT juntamente com a biblioteca QtSerialPort, terá seu software multiplataforma.
- http://qt-project.org/
- http://qt-project.org/wiki/QtSerialPort
- https://www.youtube.com/watch?v=UD78xyKbrfk
 

post-653675-0-00280400-1394339906_thumb.

post-653675-0-81824800-1394339907_thumb.

post-653675-0-01551200-1394339909_thumb.

post-653675-0-88894700-1394339909_thumb.

L298N Datasheet.pdf

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...