Ainda tô tentando com o do PS1 (achei que o meu era de PS2 mas é de PS1)..... bom.... ainda não consegui.... assim que alguma coisa der certo eu aviso!!
Or am I way off the mark here? I also need the Arduino Mega, of course.
By my calculations this comes to: $129.69 for everything above and $60 for the Arduino Mega, so roughly $200 including P&P. Does this sound about right?
Não entendi muito bem esta segunda parte. Devo instalar o Python no meu Android e adicionar esse Script? É isso?
OBS: Instalei o Python e os comando dele são: "=, (, ), " e TAB. Tem que alterar algo?
Sim, deve instalar o Python, mas este código que eu passei é somente para celular Symbian 3 edição..... pra Android eu não sei..... até queria escrever esta aplicação pro Android, mas meu celular é "veinho" ainda hehehehehe
Fala cara.... quanto ao código tô pondo os dois no final..... ok... acredito que dá pra customizar para uma melhor performace e aparência (no do N95), mas agora tô fazendo tudo funcionar e depois vou voltar olhando o que pode ser melhorado... sugestões e críticas sào MUITO BEM VINDAS.
Quanto ao controle.... minha idéia é ligar ele o controle de PS2 no arduino... ler os comandos e enviar via bluethoot tb.... preciso pesquisar direitinho como isso funciona.... tb já achei pra compar um shield que é o direcional pronto para ser usado.... tb é uma opção.... ainda voi amadurecer a idéia e continuar postanto aqui.... faça o mesmo vc tb... o nosso tópico já tem bastante coisa legal!!!!!
segue o código:
Code:
int ENA=5;//connected to Arduino's port 5(output pwm) int IN1=2;//connected to Arduino's port 2 int IN2=3;//connected to Arduino's port 3 int ENB=6;//connected to Arduino's port 6(output pwm) int IN3=4;//connected to Arduino's port 4 int IN4=7;//connected to Arduino's port 7 byte VelocidadeAtual = 255;
} void loop() { // ena = velocidade // in = direção char c = Serial.read();
// aqui precisa melhorar, tirar os ifs e colocar algo mais eficiente if (c == '1') { // para frente AndaParaFrente(); FuncionaMotor(VelocidadeAtual); }
if (c == '2') { // para trás AndaParaTraz(); FuncionaMotor(VelocidadeAtual); }
if (c == '3') { // direita // começa a funcionar com 90 ViraDireita(); FuncionaMotorA(VelocidadeAtual * .4); FuncionaMotorB(VelocidadeAtual); }
if (c == '4') { // direita // começa a funcionar com 90 ViraEsquerda(); FuncionaMotorA(VelocidadeAtual); FuncionaMotorB(VelocidadeAtual * .4 ); }
if (c == '5') { // para ParaMotores(); }
}
//------------------------------------------------------------------------------------------ // Liga os motores e determina a velocidade //------------------------------------------------------------------------------------------ void FuncionaMotor(byte Velocidade) { FuncionaMotorA(Velocidade); FuncionaMotorB(Velocidade); }
void FuncionaMotorA(byte Velocidade) { analogWrite(ENA, Velocidade);//start driving motorA }
void FuncionaMotorB(byte Velocidade) { analogWrite(ENB, Velocidade);//start driving motorA }
//------------------------------------------------------------------------------------------ // FIM - Liga os motores e determina a velocidade //------------------------------------------------------------------------------------------
void AndaParaFrente() { // MOTOR 1 digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH);//setting motorA's directon
// MOTOR 2 digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH);//setting motorB's directon }
void AndaParaTraz() { // MOTOR 1 digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW);//setting motorA's directon
// MOTOR 2 digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW);//setting motorB's directon }
void ViraEsquerda() {
// MOTOR 1 digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH);//setting motorA's directon
// MOTOR 2 digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW);//setting motorB's directon
}
void ViraDireita() {
// MOTOR 1 digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW);//setting motorA's directon
// MOTOR 2 digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH);//setting motorB's directon
}
Para o N95, isto que estou postando é um script que roda em Python... então precisa ter ele instalado na máquina... vc acha ele aqui: http://sourceforge.net/projects/pys60 o livro que use como base foi este: "Wiley Mobile Python-Rapid prototyping of applications on the mobile platform"... dá pra achar tranquilo, é só procurar. A idéia é, primeiro se conectar ao bluethoot do carrinho, depois, quando o cara apertar o direcional para cima vai aparecer uma bolinha vermelha no topo da tela para indicar no celular a direção e enquanto vc mantém a tecla pressionada o script fica enviando o caractere "1" que no arduino tá programado para ele andar pra frente.... quando vc solta o direcional ele para de mandar o 1 e desliga os motores!!!! Funciona assim para as quatro direções.
Segue o código:
Code:
import appuifw, e32, key_codes, graphics, socket
def choose_service(services): names = [] channels = [] for name, channel in services.items(): names.append(name) channels.append(channel)
Me desculpe por demorar a entrar, mas as coisas estão corridas por aqui =/
Você tirou a placa fora e fez os testes iguais aos meus? Sem mais nada ligado na placa? Você mediu a bateria ou fonte e ela fornece mais de 5V?
Muito estranho isso, a saída do motor deveria ter a mesma voltagem do VMS... ... Eu seguiria as trilhas da placa para ver se tem algo estranho, sei lá, não imagino como te ajudar.
Fala Mortis, quanto a demora nem esquenta.... tranquilo.... Cara eu fiz dos dois jeitos, só coloquei o multímetro na saída do motor (sem os fios ligados, só o multímetro mesmo) e deram os 5v.... ai pensei que o jeito que vc ligou pudesse ter interferido em alguma coisa e desliguei tudo.... só a plaquina controladora.... a bateria e o multímetro nas saídas.... os jumpers tb iguais aos seus.... mas nada mudou... tudo igual.... que decepção.... fazê o que né.... vou esperar as baterias que eu comprei chegarem... ai eu testo de novo!!!!!
Outra coisa que fiz foi medir a corrente do carrinho igual ao colega Filantropic ensinou no outro tópico que eu abri e deu certo... a corrente é de 0,68 A... quem sse interessar procura no tópico que eu postei um vídeo do youtube que o cara ensina a medir....
Outra coisa foi o controle remoto com o N95, deu certo, consegui deixar do jeito que eu queria.... o carrinho só anda para as direções quando vc pressiona a tecla, se soltar ele para... simulando um controle remoto real.... ficou legar.... mas o direcional é muito pequeno.... eu dedo é grande e constantemente aperto as outras teclas em volta e ele sai da aplicação.... ou seja.... o manejo té legal....mas a agilidade tá ruim..... vou pesquiser usar um controle de PS2 que tenho jogado aqui.... quem sabe!!!!
Se algum colega quiser dicas ou o código estou a disposição!!!
Se alguém tiver uma idéia de o porque minha plaquinha não tá "soltando" os 7 v na saída do motor eu agradeço!!!!
Estou com preguiça de fazer o teste com o Arduíno agora ^^, mas acredito que o resultado será o mesmo!
Beleza cara... vou dar mais olha olhada se não fiz m....
Valeu pela informação!!! Jo
Fala pessoal, desculpe pelo ausência.... tive que fazer uma cirurgia esta semana.... mas já tô bem e em casa.....
Mortis, fiz os testes, realmente "só" os 5v..... fiz até uma ligação igual a sua.... mas somente os 5v!!!! O que será que tá errado? Se alguém tiver uma luz eu agradeço!! Jo
O que ainda não ficou claro é a questão de comandar através da IDE (Monitor Serial). Como funciona? Preciso digitar o comando que quero? No caso do carro estar em movimento, para ele parar basta digitar "STOP"?
Vlw mais uma vez pela ajuda, em especial ao Jorge e o Mortis. Um abraço.
Primeiro, a idéia aqui é ajudar, então denada! =)
Primeiro precisamos "ensinar ao arduino", ou seja, criar o código que vai ler a serial e executar o comando, É exatamente o que tem no link abaixo, a única diferença é que no lugar do digitalWrite(2, HIGH); você vai colocar o código para executar a ação que vc quiser, por exemplo a = direita, b = esquerda, etc
Pra ilustrar um pouco melhor o que vc var ter que fazer, dê uma olhada no vídeo, este é o primeiro de 3, assista todos que vc vai tirar de letra mais esta heheheh.
Este professor ensina duas coias que vc vai precisar, a primeira é como ligar o Bluethooth, depois pra testar o Bluethooth ele usa o esquema do monitor... é bem simples, qualquer coisa vc nos avisa!!!!
Fala Mortis, isso, liguei exatamente como vc falou, vi um cara fazendo assim em um site e experimentei (segue o site https://sites.google.com/site/raspberrypiarduinorobot/project-definition) . Quanto ao site geekonfire que vc falou, realmente lá está assim, mas se reparar estão as duas saídas assim, deve ser algum engano na legenda da foto. Ahhh eu tirei o jumper tb.
Aqui tirei a energia da placa sensor shield
Aqui entrando com a energia na controladora, usei as mesmas cores de fio.
Bom, estes testes que vc descreveu eu fiz tb.... sem querer.... heheheh mas fiz.... mas se vc puder fazer tb legal, pois existe uma grande chance de eu ter feito errado. Aguardo seu retorno!!
Fala Mortis, já li e re-li duzentas vezes a página e não achei nada que pudesse me dizer o porque leio somente os 5 v na saída (tá certo vai... é 5, qq coisa, mas não passa de 5 v)..... o que recentemente tentei fazer foi alimentar a parte lógica com a energia do arduino pq achei.... bom como ele tá alimentando o chip dele que é 5v ele limita toda a entrada.... mas após fazer a mudança... ficou tudo na mesma. Acredito que eu tenha ligado certo, pois como já falei tenho dois conjuntos de pilhas, pra testar fiz assim, tirei as pilhas ligadas direto na controladora de motores e liguei as que alimentam o arduino, quando fiz isso as luzes do arduino e da controladora acenderam...
Não tenho idéia de o que fazer..... se tiver alguma vamos compartilhar..... Se puder fazer estes testes na sua eu agradeço!!!!
Fala pessoal, legal o tópico, todos aprendendo juntos.... quanto aos últimos comentários do Mortis, concordo plenamente tb.... acho mais fácil vc ir ligando aos poucos, os primeiros testes que fiz foi exatamente assim liguei dois motores com o carrinho "no ar", ou seja, sem as rodas tocarem o chão/mesa, pq com este código que vc tá executando precisa tomar cuidado pq se não ele vai sair igual um foguete e vai cair ca mesa (quase aconteceu comigo), ao invés de 255 coloca 120 ou 150 no máximo, só pra sentir o gostinho de ver ele andando, ainda com um fio pendurado, mas andando. Quanto aos comandos, vc escreve o programa para ler a serial e fazer as ações de ir para a frente, para trás, esquerda e direita. Estes comando vc dá pela própria IDE o arduino usando o Monitor Serial, quando funcionar vc pensa em um controle remoto, por IR, Bluethooth, ou até mesmo esta interface EZ que vc citou. Se quiser a noite posso te mandar o código que estou usando, ele está em constante evolução, mas te mando sem problemas.
Aproveitando o tópico.... não estou conseguindo de jeito nenhum sair com mais de 5 v na saída para os motores. Já ativei para a plaquina pegar energia do Arduino e deixar a alimentação dos 7,4 só para os motores, mas sempre fica em 5 v, tem como mandar mais que isso? Se alguém tiver alguma opinião ou ajuda eu agradeço!!!
Fala Filantropic , obrigado por toda atenção e ajuda que tem me dado.... o que entendi é exatamente o que vc descreveu. Ontem não deu pra mexer nisso, mas vou ver se consigo fazer e com certeza deixo o retorno aqui para futura consulta dos amigos. Quanto ao vídeo do youtube, achei este acredito que dos que eu ví é o que mais se assemelha ao que vc descreveu.
Perfeito meu amigo, vlw mesmo. Fiz todas ligações aqui, placas e luzes ok. Agora não estou conseguindo conectar o software ao Arduino. Qual que a galera utiliza? Estou usando o EZ-Robot (tentando). Minha porta é a COM10, ele reconhece mas não conecta. Aparece a seguinte mensagem:
Could not connect to the EZ-B
Estou parado nessa. Procurei bastante aqui no fórum e nada achei. Alguém pode ajudar??
Um abraço galera.
João Paulo
Fala João... achei que vc tinha o mesmo kit que o meu... manda o link doi seu kit pra gente ver quais são os componentes que tem ....ahhh uma coisa que já havia visto antes e realmente acontece.... quando vc for fazer o upload do programa do seu pc para o arduino, desconecte o módulo bluethooth (se der pra desconectar só o positivo pode ser).... pq se não dá pau de conexão mesmo.... se não me engano o módulo usa as mesas portas que o pc usa pra se comunicar com o arduino.