• Welcome to LusoRobótica - Robótica em Português.
 

Mais um iniciante com dúvidas...

Started by Capeleiro, 10 de April de 2009, 01:22

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Capeleiro

Olá a todos. Estou a iniciar-me na robótica. Comecei a um mês a mexer com um robot, para o concurso Robótica 2009, Busca e Salvamento, através da escola.
O robot trabalha com um microcontrolador Picaxe e com este eu já me desenrasco bem, mas pelo que andei por aí a ler (e corrijam-me se eu estiver errado) não se usa muito por aí estes microcontroladores. Então pensei em fazer o meu próprio robot, usando um Arduino Diecimila, que (também pelo que andei por ai a ler) é dos mais baratos e simples, para iniciantes.
Agora o que eu queria saber era se esta é mesmo a melhor escolha e também se há muitas diferenças da linguagem Basic para a linguagem do Arduino? Já agora, e desculpem estar a fazer tantas perguntas, onde posso arranjar tutoriais para a aprender a programar o dito cujo?

metRo_

#1
Antes de mais, Bem-vindo :)
Tens aqui um tópico - Índice do Arduino passo-a-passo - que tem o que procuras e depois tens montes de exemplos espalhados um pouco por todo o fórum :P
Já compras-te o arduino? Só estou a perguntar porque se fores comprar agora não vai ser o Diecimila mas sim o duemillanove (lool).

Fifas

duemillanove ;D

Picaxe tambem se usa bem :) mas acho o arduino mais "dinamico" :P

Dá uma vista de olhos pelo o que o metRo_ te indicou e pelos tutoriais aqui do forum...tens tambem o site oficial (www.arduino.cc).
Em termos de exemplos de programação e tutoriais, penso que haja mais para o arduino que picaxe....

cumps

Capeleiro

Obrigado, pelas dicas, aprende-se mesmo muito com tudo o que há no fórum. Mas agora tenho umas dúvida: no picaxe podia-se saltar de label em label com a instrução "goto" e criar subrotinas com o "gosub", na linguagem C não se pode fazer nada do género? E nesta linguagem, pelo que andei a ver, há duas estruturas (será este o nome?), "void setup" e "void loop", não há mais nenhuma destas, ou então, pode-se criar outras par usar o tal "goto", como na linguagem basic?

metRo_

Podes fazer isso em C, no entanto aqui podes criar funções o que dá mais jeito na minha opinião.

TigPT

Sim, podes criar subrotinas (funções) e chama-las a qualquer momento, para além disso, podes até utilizar interrupções que são "funções" que são chamadas quando um certo acontecimento acontece, sem teres que andar a testar esse acontecimento constantemente, mas isso já para quando dominares o Arduino.

Eu não conheço nada que o Basic (Picaxe) faça que o C (Arduino) não faça, mas são gostos.

neste código podes por exemplo ver funções:
http://lusorobotica.com/index.php/topic,9.0.html

Capeleiro

Obrigado, estou a ver que o C até agora só tem vantagens em relação ao Basic. Eu comecei a trabalhar com o Picaxe porque na altura que entrei neste concurso através da escola não percebia nada (mesmo nada) de robótica e os organizadores tinham uma parceria com a loja que vendia os robots com o Picaxe. Até a três dias atrás preferia o Basic (era o único que conhecia), mas agora que estou no fórum, estou a pensar em juntar os troquinhos e construir o meu próprio robot com o Arduino.

amando96

Quote from: Capeleiro on 10 de April de 2009, 17:35
Obrigado, estou a ver que o C até agora só tem vantagens em relação ao Basic. Eu comecei a trabalhar com o Picaxe porque na altura que entrei neste concurso através da escola não percebia nada (mesmo nada) de robótica e os organizadores tinham uma parceria com a loja que vendia os robots com o Picaxe. Até a três dias atrás preferia o Basic (era o único que conhecia), mas agora que estou no fórum, estou a pensar em juntar os troquinhos e construir o meu próprio robot com o Arduino.

força! e se tiveres dúvidas, é só perguntar, eu não teria conseguido sem o fórum :)

metRo_

Quote from: Capeleiro on 10 de April de 2009, 17:35
Obrigado, estou a ver que o C até agora só tem vantagens em relação ao Basic. Eu comecei a trabalhar com o Picaxe porque na altura que entrei neste concurso através da escola não percebia nada (mesmo nada) de robótica e os organizadores tinham uma parceria com a loja que vendia os robots com o Picaxe. Até a três dias atrás preferia o Basic (era o único que conhecia), mas agora que estou no fórum, estou a pensar em juntar os troquinhos e construir o meu próprio robot com o Arduino.

O C não tem só vantagens em relação ao Basic, tem é mais potencial e como qualquer linguagem de programação, esta deve ser escolhida em função dos objectivos pretendidos.

TigPT

Exacto metro, era como dizer que o assembly é melhor, mas não o é, é diferente, embora permita fazer tudo o que as outras linguagens fazem, envolve muito mais conhecimentos e tempo de desenvolvimento, para cada situação há que medir os pós e contras de cada linguagem e optar para a ideal para aquele caso em especifico.

É por isso que pergunto sempre às pessoas que conhecimentos já tem e para que fim pretendem o microcontrolador.

Fico feliz por este fórum estar a funcionar bem, e a transmitir conhecimentos e capacidades aos seus membros, é esse o principal objectivo desta comunidade!

Capeleiro

#10
Agora se não for estar a abusar, tenho aqui uma pergunta que queria fazer a vocês...
O que eu queria construir era uma carro a energia solar telecomandado. Aroveitei uma placa de um antigo carro telecomandado que já tem toda a electrónica que é preciso para comandar o carro. O que queria fazer agora era ligar as saídas dos motores dessa placa (com resistências) ao arduino e depois ir controlando os motores de acordo com os sinais que receber. O problema é que a intensidade das saídas é muito baixa. Então já vi por aí que posso usar transístores para aumentar a corrente. Fiz uma pesquisa por aí e tentei fazer um circuito que não sei se vai funcionar, é por isso que estou a a fazer a pergunta. Outra coisa que não sei é como escolher o transístor.

metRo_

Sim, esse circuito funciona, mas só vais ter a opção de ligar e desligar.

Njay

Para o transístor podes usar por exemplo um BD135, BD137 ou BD139. A resistência R, para estes transístores, deve ser de cerca de

(5V - VBEmax) / R x hFEmin >= IC <=>
R <= (5V - VBEmax) x hFEmin / IC <=>
R <= (5V - 1V) x 25 / 0.5A <=>
R <= 200 ~ R = 220 Ohm

Capeleiro

Obrigado as dois, ajudou muito. Quanto aos motores eu vou resolver isso podo quatro motores na parte de trás, dois de cada lado, e desses dois um para cada sentido.

Quote from: Njay on 13 de April de 2009, 16:01
A resistência R, para estes transístores

Desculpe a ignorância, é que nestas coisas ainda sou leigo, mas preciso ter a certeza. A tal resistência que fala é aquela que está desenhada (o resístor), não tem nada a ver com a resistência interna do transístor, ou tem?

E quanto à alimentação do Arduino, 300 mA chegam para o fazer trabalhar?

Njay

Sim, refiro-me à resistência que está desenhada no teu esquema, na vertical, com o comentário "3V" ("resistor" é inglês/brasileiro, em Português de Portugal dizemos "resistência"). Podemos dizer que essa resistência "está em série com a base do transístor"; às vezes "atalhamos" e dizemos só "a resistência de base", mas esta já é uma expressão que precisa de contexto, pois o transístor tem mesmo uma resistência (interna) de base. Mas falar da resistência (interna) de base do transístor é um assunto avançado e nunca é assunto discutido nestes fóruns, até porque não é nada importante para os temas aqui debatidos.

300mA só para o Arduino sim, chegam e sobram, devem dar até para 2 ou 3 Arduínos.