Show Posts
Pages: [1] 2 3
1  International / Portugues / Re: Montando um carrinho (L298N) on: October 17, 2012, 12:03:03 pm
Achei legal, mas tenho que comprar muita coisa pra fazer....


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

Abraço!
Jo
2  Using Arduino / Project Guidance / Re: Parts and Tools needed for Project - Quadcopter on: October 11, 2012, 09:58:26 am
Hi guys,

Looking to start the build on this soon.  Is this the kind of thing I should be looking at:
1* frame (http://www.hobbyking.com/hobbyking/store/__24227__Hobbyking_X666_Glass_Fiber_Quadcopter_Frame_666mm.html)
4* 1000kv brushless motor (http://www.hobbyking.com/hobbyking/store/__23770__2728_Brushless_Outrunner_Motor_1000kv.html)
4* 30A brushless ESC (http://www.hobbyking.com/hobbyking/store/__13429__HobbyKing_30A_BlueSeries_Brushless_Speed_Controller.html)
2* 2200mAh Lipo battery (http://www.hobbyking.com/hobbyking/store/__8932__Turnigy_2200mAh_3S_20C_Lipo_Pack.html)
2* 4pc 12" propellor (1 spare) (http://www.hobbyking.com/hobbyking/store/__22457__Slow_Fly_Electric_Prop_12x4_5R_SF_4_pc_Green_Right_Hand_Rotation_.html)

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?

Thanks,
Mike

Sorry, but, otherwise of this ESCs, can you use a motor shield with 4 outputs like this (http://www.ebay.com/itm/290700252856?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649)?

It is possible?

thanks!
Jo
3  International / Portugues / Re: Montando um carrinho (L298N) on: October 02, 2012, 01:02:24 pm
Fala jpricaro, blz?


Jo,

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

Abraço!!
Jo
4  International / Portugues / Re: Montando um carrinho (L298N) on: October 01, 2012, 09:31:30 am
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 setup()
{
  pinMode(ENA,OUTPUT);//output
  pinMode(ENB,OUTPUT);
  pinMode(IN1,OUTPUT);
  pinMode(IN2,OUTPUT);
  pinMode(IN3,OUTPUT);
  pinMode(IN4,OUTPUT);
  Serial.begin(9600);

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

void ParaMotores()
{
  digitalWrite(ENA,LOW);
  digitalWrite(ENB,LOW);//stop driving

}

//------------------------------------------------------------------------------------------
// FIM - Liga os motores e determina a velocidade
//------------------------------------------------------------------------------------------





//------------------------------------------------------------------------------------------
// Direcoes
//------------------------------------------------------------------------------------------


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)

    index = appuifw.popup_menu(names, u"Choose service")
    return channels[index]

def connect():
    global sock
    address, services = socket.bt_discover()
    channel = choose_service(services)
    sock = socket.socket(socket.AF_BT, socket.SOCK_STREAM)

    print "address:", address
    print "channel:", channel

    sock.connect((address, channel))


def frente():
    global sock
    sock.send("1")


def tras():
    global sock
    sock.send("2")


def esquerda():
    global sock
    sock.send("3")


def direita():
    global sock
    sock.send("4")


def desliga():
    global sock
    sock.send("5")




WHITE = (255,255,255)
RED = (255,0,0)
BLUE = (0,0,255)
YELLOW = (255,255,0)



def handle_redraw(rect):
    if img: canvas.blit(img)


def draw_point(pos):
    if pos == 1:
          img.point((125,30), outline = RED, width = 50)
    elif pos == 2:
          img.point((125,285), outline = RED, width = 50)
    elif pos == 3:
          img.point((200,170), outline = RED, width = 50)
    elif pos == 4:
          img.point((35,170), outline = RED, width = 50)









key_down = None
clicked = None



def handle_event(event):
    global clicked, key_down
    if event['type'] == appuifw.EEventKey:
            if key_down:
                    key_down = (event['keycode'], "down")
            else:
                    key_down = (event['keycode'], "pressed")
    elif event['type'] == appuifw.EEventKeyUp and key_down:
            code, mode = key_down
            if mode == "pressed":
                    clicked = code
            key_down = None
            desliga()
            img.clear(BLUE)



    handle_redraw(None)






def key_clicked(code):
        global clicked
        if code == clicked:
                clicked = None
                return True
        return False

def key_is_down(code):
        if key_down and key_down == (code, "down"):
                return True
        return False

def quit():
        global running
        running = False


img = None

canvas = appuifw.Canvas(redraw_callback = handle_redraw, event_callback=handle_event)

appuifw.app.body = canvas
appuifw.app.screen = 'full'
appuifw.app.exit_key_handler = quit
appuifw.app.menu = [(u"Connect", connect)]

w, h = canvas.size
img = graphics.Image.new((w, h))
img.clear(BLUE)




running = True
while running:
   
    e32.ao_sleep(0.05)

    if key_is_down(key_codes.EKeyUpArrow):
            draw_point(1)
            frente()
    elif key_is_down(key_codes.EKeyDownArrow):
            draw_point(2)
            tras()
    elif key_is_down(key_codes.EKeyRightArrow):
            draw_point(3)
            direita()
    elif key_is_down(key_codes.EKeyLeftArrow):
            draw_point(4)
            esquerda()

    else:
            img.clear(BLUE)



Mais uma vez, dúvidas, discussões, sugestões e críticas são bem vindas....
Abraço!
5  International / Portugues / Re: Montando um carrinho (L298N) on: October 01, 2012, 08:58:39 am
Fala ai Jo,

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

Jo
6  International / Portugues / Re: Montando um carrinho (L298N) on: September 28, 2012, 02:15:29 pm
Ai Jo,

Fiz um teste rápido sem o Arduíno:

Liguei a bateria (VMS e GND) e as pontas do multímetro nos conectores do motor A.
https://skydrive.live.com/redir?resid=AE3CFC36530BB99A!204

Liguei o ENA ao 5V e o IN1 ao GND.
https://skydrive.live.com/redir?resid=AE3CFC36530BB99A!203

E cá esta a voltagem, 7,07v (minha bateria não esta totalmente carregada):
https://skydrive.live.com/redir?resid=AE3CFC36530BB99A!202

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
7  International / Portugues / Re: Medir consumo da bateria on: September 28, 2012, 02:12:41 pm
Pessoal, desculpe a demora, fiz o processo como o colega Filantropic explicou e deu certo, mediu alguns picos de 0,68, mas estável em 0,62.

Agradeço a ajuda!!
Jo
8  International / Portugues / Re: Montando um carrinho (L298N) on: September 24, 2012, 01:02:35 pm
Ai Jo,

Fiz um teste rápido sem o Arduíno:

Liguei a bateria (VMS e GND) e as pontas do multímetro nos conectores do motor A.
https://skydrive.live.com/redir?resid=AE3CFC36530BB99A!204

Liguei o ENA ao 5V e o IN1 ao GND.
https://skydrive.live.com/redir?resid=AE3CFC36530BB99A!203

E cá esta a voltagem, 7,07v (minha bateria não esta totalmente carregada):
https://skydrive.live.com/redir?resid=AE3CFC36530BB99A!202

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
9  International / Portugues / Re: Montando um carrinho (L298N) on: September 24, 2012, 01:01:33 pm
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

http://arduino.cc/en/Tutorial/SwitchCase2

Boa programação ao! smiley-wink


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

O código eu te passo a noite ok?
Abraço!!
Jo
10  International / Portugues / Re: Montando um carrinho (L298N) on: September 21, 2012, 01:35:03 pm
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!!

Abraço!
Jo
11  International / Portugues / Re: Montando um carrinho (L298N) on: September 21, 2012, 08:18:29 am
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!!!!

Abraço a todos,
Jo
12  International / Portugues / Re: Montando um carrinho (L298N) on: September 21, 2012, 07:35:55 am
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!!!

Jo
13  Using Arduino / Motors, Mechanics, and Power / Dual H-Bridge Motor Driver - L298N on: September 21, 2012, 07:01:09 am
Please, i bought this board http://www.geekonfire.com/wiki/index.php?title=Dual_H-Bridge_Motor_Driver and I'm not getting have more then 5v on the motor output, it is possible with this board?
Of course i place a  7,4v battery exclusive for the board and another for arduino board.

Please, if anyone can help me i will be grateful.
thanks
Jo
14  International / Portugues / Re: Medir consumo da bateria on: September 20, 2012, 11:42:03 am
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.


Valeu!
Jo
15  International / Portugues / Re: Montando um carrinho (L298N) on: September 20, 2012, 06:44:32 am
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.


Qualquer coisa estamos ai!!!!
Pages: [1] 2 3