LusoRobótica - Robótica em Português

Robótica => Iniciantes => Tópico iniciado por: miguelwind em 10 de Abril de 2009, 12:37

Título: Mais um membro da lusorobótica
Enviado por: miguelwind em 10 de Abril de 2009, 12:37
Bom dia,

Antes de mais vou-me apresentar. Chamo-me Miguel e tenho 16 anos e vivo em Oeiras. Sempre adorei abrir os meus brinquedos e construir aqueles kits electrónicos. Mas apenas ontem descobri este fórum e este tipo de robótica (Arduinos e assim).

Eu sempre quis montar um robot rc com um braço e com uma câmara (tipo o do american pie) mas nunca tive conhecimentos para tal e portanto achei que apenas quando fosse para a faculdade é que iria ter a oportunidade de construir um. Mas parece que não, ou pelo menos já vou poder construir um carrinho.  ;D

Pois bem, já tive a ver o fórum e parece que o melhor mesmo é começar com o Arduino e com programação básica e quando me sentir mais à vontade começo o um projecto a sério.

Agora tenho uma dúvida: O arduino pode ser tele-comandado ou é comandado apenas pelo computador, através da programação?

A minha ideia de projecto final é um robot com uma câmara e com um braço e que transmita em directo o que está a ver, mesmo como o do american pie e que eu possa utilizar o braço dele para pegar em coisas ou assim...

O que é que eu deva comprar para começar que sirva para depois poder avançar para esse projecto? Peço desculpa estar a perguntar isto, porque já muita gente perguntou, mas queria começar sem erros de compras e com tudo o que preciso. Também já vi uns kits na net que vêm com servos e led's para se fazer as 1ªs programações.

Antes de mais obrigado pela ajuda e parabéns pela excelente iniciativa que foi criar este fórum.

Cumps
Título: Re:Mais um membro da lusorobótica
Enviado por: amando96 em 10 de Abril de 2009, 12:43
Bem vindo miguel.

bem o arduino pode ser telecomandado com modulos de comandar á distancia, os X-bee são os que mais houvi falar, mas há uns elementos do forum a tentar usar um comando kyosho(eu tmb)

eu fiz isso da  camera é engraçado mas a minha não é wireless  ::) por isso só podia andar 10 metros paqui e pa li :P mas cameras wireless arranjam-se na net facilmente.

O smalluino é bom para começar. e podes usar as coisas com as quais o fizeste para outros projectos no futuro...
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 10 de Abril de 2009, 12:53
Antes de mais bem-vindo e obrigado por todo o apoio,

Fizeste bem em perguntar, embora seja aconselhado começares a fazer umas pesquisas pelo fórum, colocamos-te aqui algumas dicas.

Smalluino V1.0, para começar fazer um robot (http://lusorobotica.com/index.php/topic,9.0.html) mexer a baixo custo e materiais que são sempre utilizáveis no futuro.

A versão 2 deste robot à muito que é prometida, mas o tempo não tem sido muito e todos aqui fazemos disto um hoby, mas garanto-te que não falta muito até sair. (está quase todo montado aqui ao meu lado :P)

Quanto a controlar remotamente o Arduino, podes utilizar basicamente todas as tecnologias existentes (wifi fica caro) mas desde RF (http://lusorobotica.com/index.php/topic,165.0.html), Xbee (http://lusorobotica.com/index.php/topic,613.msg4945.html#msg4945), IR (http://lusorobotica.com/index.php/topic,723.0.html), Serial (http://lusorobotica.com/index.php/topic,30.0.html), Comando RC (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1204020386/156#156), e outras que te lembres :D
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 10 de Abril de 2009, 13:26
Já dei uma olhada pelo fórum e já tinha visto esse tópico e é bastante útil. Estava a pensar começar por aquela programação dos led's e assim e depois construir o Smalluino. Mas tive a ver lojas na net (tanto as que estão no sub-fórum das lojas como as que estão no tópico do Smalluino) e os portes são sempre muito puxados. Qual será a melhor loja para mandar vir os componentes necessário para a construção do robot? Eu irei precisar de tudo. Das rodas, servos, do suporte das pilhas e claro do Arduino. Já agora, que modelo do arduino devo comprar?

Já agora o que é que é a placa branca onde estão ligados os led's neste topico: http://lusorobotica.com/index.php/topic,25.0.html (http://lusorobotica.com/index.php/topic,25.0.html)
Também é preciso comprar isso ou ja vem com o Arduino.

No que toca ao controlo tele-comandado acho que me vou informar melhor sobre os tipos de controlos e depois de saber mexer bem na máquina é que avanço com isso.

Obrigado novamente  ;D
Estou ansioso por meter as mãos ao trabalho  :D
Título: Re:Mais um membro da lusorobótica
Enviado por: metRo_ em 10 de Abril de 2009, 13:47
A versão do arduino que deves comprar é a Duemilanove com o ATmega328. É a ideal para o que queres. Se fosses da zona do Porto tinhas a vantagem de comprar o arduino na inmotion directamente sem ter que pagar portes, podes ver aqui neste tópico uma comparação que fiz de algumas lojas de Portugal ou perto, este post já tem uns meses por isso os preços podem estar desactualizados, http://lusorobotica.com/index.php/topic,421.msg2325.html#msg2325 (http://lusorobotica.com/index.php/topic,421.msg2325.html#msg2325) (tenho lido muitas queixas em relação a gtronica ), no entanto da uma vista de olhos por lojas como a sparkfun, etc.

Quanto aos servos alguém postou há um tempo uma loja com bom preços, alias já alguma gente aqui do fórum mandou vir, já encontrei e tens aqui: http://lusorobotica.com/index.php/topic,87.0.html (http://lusorobotica.com/index.php/topic,87.0.html) alias mais para baixo tens um post com os preços de um utilizador ( iCar ) que comprou lá.

Não te esqueças que não tens que comprar exactamente o material que o TigPT usa.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 10 de Abril de 2009, 15:18
Acho que a melhor opção é a seguinte:
http://www.sparkfun.com/commerce/product_info.php?products_id=666 (http://www.sparkfun.com/commerce/product_info.php?products_id=666) - Arduino - €22.76

http://www.sparkfun.com/commerce/product_info.php?products_id=8901 (http://www.sparkfun.com/commerce/product_info.php?products_id=8901) - Wheels 32x7mm - €5.28

http://www.sparkfun.com/commerce/product_info.php?products_id=9065 (http://www.sparkfun.com/commerce/product_info.php?products_id=9065) - 2 x Small servo(indisponível de momento) - 2x€6.80

ou

http://www.sparkfun.com/commerce/product_info.php?products_id=9064 (http://www.sparkfun.com/commerce/product_info.php?products_id=9064) - 2 x Large servo - 2x€9.84

Portes: apx: 8€ (sem seguro nem numero para seguir a encomenda)

TOTAL: apx 50€

Valerá a pena? Está tudo bem? Não haverá mais barato? E será seguro enviar sem seguro e numero para seguir a encomenda?
Título: Re:Mais um membro da lusorobótica
Enviado por: amando96 em 10 de Abril de 2009, 15:51
 2 x Small servo não está disponivel de momento, são rotação continua?
rodas podes fazer, ou adaptar de um carro do chines ou daqueles de brincar, as minhas até ficaram engraçadas :P

os servos são rotação continua?
Título: Re:Mais um membro da lusorobótica
Enviado por: metRo_ em 10 de Abril de 2009, 16:05
Excepto os servos que dava uma vista de olhos na hobbycity porque por exemplo, repara nesta compra:
Citar
Dear Daniel Barradas
Thanks for shopping at our store

Your order details are:
6x #HXT900/662 HXT900 9g / 1.6kg / .12sec Micro Servo variations = $21.60

Paypal or Credit Card  (Amex / Visa / Mastercard) $0.00 International Air Mail ($79 limit) 100 - 250gr $5.95
Taxes: $0.00
-------------------
Total:  $27.55

Os teus vão ficar por 20€ aqui por mais 5€ tens 6, por isso 2 deve ficar mais barato.
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 10 de Abril de 2009, 16:28
Atenção que isso são microservos e não são de rotação continua, tem depois que ser modificados para rotação continua, o que pelo que tenho visto por alguns membros, não é assim tão fácil, embora ainda não tenha tido problemas a fase-lo, pode ter sido sorte minha.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 10 de Abril de 2009, 17:17
Então será melhor optar pela minha opção? aqueles são de rotação continua?

Título: Re:Mais um membro da lusorobótica
Enviado por: metRo_ em 10 de Abril de 2009, 21:03
Não são de rotação continua.
Título: Re:Mais um membro da lusorobótica
Enviado por: metRo_ em 10 de Abril de 2009, 21:22
Tens aqui a versão idêntica dos que queres comprar mas de uma marca mais barata: http://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=3743 (http://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=3743)
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 10 de Abril de 2009, 21:34
Não são de rotação continua.
eish! Esse site até tinha os portes baratos  :-X
É que tar a mandar vir uma peça de cada lado fica muito mais caro...
Título: Re:Mais um membro da lusorobótica
Enviado por: metRo_ em 11 de Abril de 2009, 01:48
Tens que fazer as contas e ver o que te compensa.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 11 de Abril de 2009, 12:12
Tens aqui a versão idêntica dos que queres comprar mas de uma marca mais barata: http://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=3743 (http://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=3743)
Mas estes já são de rotação continua ou tinha de fazer a ponte H?

Editado:
e já agora onde é que voces compram as breadboards? Pode ser esta?:http://cgi.ebay.co.uk/Prototype-Board-Breadboard_W0QQitemZ120344378713QQcmdZViewItemQQptZLH_DefaultDomain_3?hash=item120344378713&_trksid=p3286.c0.m14&_trkparms=66%3A2%7C65%3A15%7C39%3A1%7C240%3A1318 (http://cgi.ebay.co.uk/Prototype-Board-Breadboard_W0QQitemZ120344378713QQcmdZViewItemQQptZLH_DefaultDomain_3?hash=item120344378713&_trksid=p3286.c0.m14&_trkparms=66%3A2%7C65%3A15%7C39%3A1%7C240%3A1318)
Existem em portugal? Quanto custam +/-?

Obrigado e peço desculpa pela maré de dúvidas e perguntas   :-[
Título: Re:Mais um membro da lusorobótica
Enviado por: amando96 em 11 de Abril de 2009, 16:41
por esse preço compra logo duas ;D ::)

há e não sei se percebi bem, mas se um servo não for de rotação continua tens do o modificar, pontes H são para motores DC, há uns quantos tutoriais no instructables para modificar servos para rotação continua, eu comprei-os logo modificados, pois não queria fazer asneira :P
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 11 de Abril de 2009, 17:40
por esse preço compra logo duas ;D ::)

há e não sei se percebi bem, mas se um servo não for de rotação continua tens do o modificar, pontes H são para motores DC, há uns quantos tutoriais no instructables para modificar servos para rotação continua, eu comprei-os logo modificados, pois não queria fazer asneira :P
Aquela breadboard funciona com o arduino? (se calhar até funcionam todas mas ainda sou muito leigo nesta matéria :P)
Pois eu também não queria fazer asneira. Onde é que compraste os teus servos?

Obrigado
Título: Re:Mais um membro da lusorobótica
Enviado por: amando96 em 11 de Abril de 2009, 18:25
todas dão para tudo a menos que uses voltagens bem altas.
comprei na aliatron, com mais uma coisas...
link:
http://aliatron.com/loja/catalog/shopping_cart.php?keywords=servo&sort=2a (http://aliatron.com/loja/catalog/shopping_cart.php?keywords=servo&sort=2a)

talvez consigas arranjar mais barato... mas como eu só posso pagar no destinatario, aproveitei pk este site tem essa forma de pagamento :)
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 11 de Abril de 2009, 22:32
Esse é igual a este: https://www.parallax.com/desktopmodules/catalookstore/ProductDetails.aspx?ProductID=102 (https://www.parallax.com/desktopmodules/catalookstore/ProductDetails.aspx?ProductID=102)
Só que não consigo é saber quanto é que são os portes. Já enviei um mail mas não me responderam ainda... Alguém sabe quanto é que são os portes da parallax?
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 11 de Abril de 2009, 23:16
Não sei os portes mas vem da América, podes apanhar com alfandega.
Título: Re:Mais um membro da lusorobótica
Enviado por: guibot em 13 de Abril de 2009, 01:21
modificar servos para ficarem motores DC com engrenagens redutoras é bastante fácil, em breve vou postar um tutorial com todos os passos
Título: Re:Mais um membro da lusorobótica
Enviado por: rjrv em 13 de Abril de 2009, 10:22
Eu comprei 2 GM4 da solarbotics, que são basicamente servos sem a parte electronica. Têm só o motor e engrenagens e por isso são de rotação continua só precisam de ponte H.
Título: Re:Mais um membro da lusorobótica
Enviado por: amando96 em 13 de Abril de 2009, 10:23
assim não tem o speed controller integrado?
Título: Re:Mais um membro da lusorobótica
Enviado por: rjrv em 14 de Abril de 2009, 13:42
Não têm, faço o controlo de velocidade por PWM, nos pins ENABLE do L293D.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 08 de Julho de 2009, 01:27
Boa noite,

Bem acho que agora é que vai ser. Estou a pensar em comprar o arduino para a semana. Os servos devo comprar aqui no fórum aqueles que o membro Njay está a vender porque são bastante económicos. Tenciono começar pelo Smalluino, tal como ja tinha dito, e depois tentar avançar, à medida que for adquirindo conhecimento, para um projecto com sensores e depois com uma câmara e controlado remotamente, semelhante ao wifi robot do membro pvieira. Por isso a minha duvida agora é: já que vou mandar vir o arduino (em principio da inmotion) estava a pensar mandar vir já uns sensores, para começar a brincar depois do Smalluino e também para não pagar os portes duas vezes.

Que sensores sugerem para começar?

Obrigado,
Miguel Duarte
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 08 de Julho de 2009, 01:31
Sharp IR, LDRs
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 08 de Julho de 2009, 01:55
Acho que eles não têm desses, pelo menos no site não encontrei. Nas lojas de electronica (dimofel) costumam ter esses sensores?

Obrigado
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 08 de Julho de 2009, 09:37
Na inmotion está aqui:

http://www.inmotion.pt/store/product_info.php?cPath=2_3&products_id=15 (http://www.inmotion.pt/store/product_info.php?cPath=2_3&products_id=15)
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 08 de Julho de 2009, 11:59
Ok, obrigado. Mas acho que esse preço é muito caro. Acho que da inmotion vou mandar vir só o arduino. Vou fazendo alguns testes com led's e construindo o smalluino.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 11 de Julho de 2009, 00:23
Bem, graças a TigPT já tenho o arduino (Duemilanove com ATMEGA328). Obrigado Tiago!
agora aquilo que já fiz:
Liguei um led e fiz pisca-lo de segundo em segundo. (dia 2 do índice passo-a-passo) e já consegui ligar os 3 led's e já consegui criar varias combinações. (dia 3 do índice passo-a-passo).

Agora as minhas questões/duvidas:
1- No código quando se coloca:
Código: [Seleccione]
delay(100) o 100 neste caso é em que unidades? milisegundos?

2- No dia 3 do índice passo-a-passo quando eu utilizava o código que o TigPT forneceu o led que estava no pin13 ficava ligado só metade do tempo e a outra metade acendia o led que ja vem embutido no arduino. Depois lembrei-me que no teste do dia 2 o led (que estava também no pin 13) acendia ao mesmo tempo que esse led embutido e por isso passei os led's todos um pin a baixo, ou seja, para o 10, 11 e 12. Alterei o código e desta maneira ja ficava bem. Porque é que isto aconteceu?

3- Quando passo um código para o arduino como é que eu faço com que ele pare de cumpri-lo?

Obrigado!
Título: Re:Mais um membro da lusorobótica
Enviado por: metRo_ em 11 de Julho de 2009, 00:41
1 - Sim, está em milisegundos.

2 - Fiquei confuso, deve ser das horas :s

3 - Quando passas o programa para o Arduino ele vai estar a ser executado ciclicamente, nunca para a menos que o desligues da alimentação.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 11 de Julho de 2009, 00:58
Ah ok, obrigado. E o reset é o que? já ouvi voces falarem nisso mas não sei para que é... E já agora o botão que está no arduino serve para que?

Pois confesso que o ponto 2 está algo confuso. Amanha altero-o porque agora não ia mudar muito xD.
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 11 de Julho de 2009, 01:44
Quanto ao reset, ele vai dizer ao arduino que deixou de ter alimentação e voltou a ter, fazendo com que comece tudo novamente como se tivesses a ligar pela primeira vez (mantendo o último código que foi programado). O botão que vem no arduino é o de reset!

2 - Provavelmente ligaste o LED com as patas ao contrário mas só analisando calmamente tanto a ligação como o código. Se o led estava no pin 13 e ora acendia um, ora acendia outro... é no mínimo estranho!
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 17 de Julho de 2009, 20:05
Mas uma duvida. Já tenho os servos e coloquei o código do smalluino no arduino e funcionou, após uns ajustes nos potenciomentros. Mas quando forneço energia através de 4 pilhas de 1,5v o servo não roda. Alias, roda, mas aos soluços e muito pouco. Alguém sabe o que será?
Agradeço a ajuda
Título: Re:Mais um membro da lusorobótica
Enviado por: metRo_ em 17 de Julho de 2009, 20:44
Todos as fontes de alimentação têm duas componentes importantes, têm uma tensão ( V ) e uma corrente ( I ) e estas duas componentes multiplicadas dizem-te a potencia P = V*I. Esta potencia define-te, trocando por miúdos o que podes fazer com a fonte, isto é podes ter 4 pilhas de 1,5 V em série, que deve ser o teu caso, e da 6V no entanto para o calculo da Potencia ainda nos falta saber a corrente que as pilhas são capazes de fornecer. Por isso para alem de teres os 6V é necessário que as pilhas tenham um corrente considerável.
Dá uma vista de olhos no seguinte post no fórum Zwame.

Não é que tenha tudo a ver com isto mas vai te dar umas ideias de como isto pode funcionar: http://forum.zwame.pt/showpost.php?p=3170775&postcount=26
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 17 de Julho de 2009, 21:16
Mas as pilhas, quando são do mesmo tipo, não têm sempre a mesma intensidade? Como é que eu posso resolver o meu problema? É que no tutorial do smalluino o tiago diz que é só preciso ligar as 4 pilhas AA ao arduino.  :-\
Título: Re:Mais um membro da lusorobótica
Enviado por: Njay em 17 de Julho de 2009, 21:23
Não estarão gastas? E são recarregáveis? As recarregáveis têm menos de 1.5V.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 17 de Julho de 2009, 21:50
Pois, não são recarregaveis. só se for isso, porque são novas.
Título: Re:Mais um membro da lusorobótica
Enviado por: metRo_ em 17 de Julho de 2009, 22:11
Os teus servos podem precisar de mais potencia.
Título: Re:Mais um membro da lusorobótica
Enviado por: PDI em 17 de Julho de 2009, 22:40
As pilhas são novas, ou tem todas o mesmo tempo de uso, se sim experimenta se nenhuma delas estará com alguma deficiência com um multímetro ou com uma lâmpada ou mesmo um LED.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 18 de Julho de 2009, 00:50
Pois, n consigo perceber o que é. Acho que com as pilhas está tudo bem. Agora mais uma ajuda para resolver o problema. O servo roda sempre para o mesmo lado muito pouco de 1.5s em 1.5s. depois muda de sentido e o movimento passa a ser ainda mais lento. sempre que o servo se mexe acendem-se os leds RX, TX e L, por esta ordem. Alguém tem soluções para isto? Eu queria acabar amanha o smalluino e n sei o que fazer. ???
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 18 de Julho de 2009, 01:19
faz copy past do código que estás a utilizar para aqui, juntamente com a versão do IDE que estás a utilizar, e as opções de porta de comunicação e tipo de microcontrolador, diz-nos também qual o chip do teu arduino, se 168 ou 328. estou a desconfiar de software pelos sintomas que estás a dar.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 18 de Julho de 2009, 11:37
ok. obrigado pela paciencia.
O codigo é o do smalluino:
Código: [Seleccione]
int motorEsq = 11;
int motorDrt = 10;
void setup()
{
pinMode(motorEsq, OUTPUT);
pinMode(motorDrt, OUTPUT);
}
void loop()
{
parado(4);
frente(2);
esquerda(6);
tras(2);
esquerda(6);
direita(6);
}
void parado(int tempo){ // tempo = segundos/2
for(int i = 0; i<tempo;i++){
analogWrite(motorEsq, 127);
analogWrite(motorDrt, 127);
delay(500);
}
}
void tras(int tempo){ // tempo = segundos/2
for(int i = 0; i<tempo;i++){
analogWrite(motorEsq, 152);
analogWrite(motorDrt, 102);
delay(500);
}
}
void frente(int tempo){ // tempo = segundos/2
for(int i = 0; i<tempo;i++){
analogWrite(motorEsq, 102);
analogWrite(motorDrt, 152);
delay(500);
}
}
void esquerda(int tempo){ // tempo = segundos/2
for(int i = 0; i<tempo;i++){
analogWrite(motorEsq, 102);
analogWrite(motorDrt, 102);
delay(500);
}
}
void direita(int tempo){ // tempo = segundos/2
for(int i = 0; i<tempo;i++){
analogWrite(motorEsq, 152);
analogWrite(motorDrt, 152);
delay(500);
}
}

A versão do IDE é a 0016 (a mais recente).
A porta é a COM3 (acho que é isso que estas a pedir) e o microcontrolador é o Arduino Duemilanove c/ATMGA 328. Penso que foi isso que pediste. Se me enganei nalguma diz.

Obrigado
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 18 de Julho de 2009, 11:44
E confirma que é essa a board que está seleccionada no IDE. Vou ver o código e testar no meu.
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 18 de Julho de 2009, 11:50
Ok, estive a analisar e cheguei à conclusão que os servos que estás a utilizar devem de ser normais, de 180º em vez de serem de rotação continua.

Confirma-me se compraste servos de rotação continua ou modificaste os teus para rotação continua.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 18 de Julho de 2009, 11:58
A board está bem. Os servos foram modificados, mas mantive o potenciometro.
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 18 de Julho de 2009, 12:04
O potenciómetro está centrado? Testei o teu código com servos não modificados e deu o tal quase não mexer, tremer muito e de vez em quando mexia. Com servos modificados funcionava tudo como devia.

faz o seguinte, testa este código e diz-me o que acontece das duas opções,

Os servos vão para uma posição (tremem ou não) e depois passado 1 segundo vão para outra posição, depois passado 1 segundo volta para a posição inicial.

Os servos ficam sempre a rodar para um lado, e passado 1 segundo passam a rodar para o outro lado, mas durante estes tempos eles nunca param, ficam sempre a andar.

Código: [Seleccione]
#include <Servo.h>
 
Servo myservo1;
Servo myservo2;

void setup()
{
  myservo1.attach(10);
  myservo2.attach(11);
}
 
void loop()
{
  myservo1.write(45);
  myservo2.write(45);
  delay(1000);
  myservo1.write(135);
  myservo2.write(135);
  delay(1000);
}
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 18 de Julho de 2009, 12:15
Sim o potenciometro está centrado.
Quando enviei esse codigo cumpriu na perfeiçao, mas quando passei a alimenta-lo atraves das pilhas ja não dava outra vez. Não aconteceu nenhuma das opções. Ele mexe-se um pouco (menos de 1º) e para, passado 1s/1.5s volta a repetir o movimento, e sempre para o mesmo lado. E desta vez o movimento foi muito mais pequeno do que com o codigo anterior.
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 18 de Julho de 2009, 12:18
Alimentado por porta usb porta-se na perfeição como? Se dizes que por USB se porta bem, vamos para já ver só por USB para perceber o que está a acontecer nos servos, mas se o comportamento por USB e por pilhas é diferente, ficas desde já a saber que ou estás a alimentar mal com as pilhas ou as pilhas estão gastas.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 18 de Julho de 2009, 12:39
Pois, esse é o problema. O problema é mesmo que com o USB funciona e com as pilhas já n. Peço desculpa se não me expliquei bem. A única coisa que posso ter feito mal foi a ligação à ficha que esta na ponta do fio das pilhas, mas penso que se tivesse trocado nem ligava. O positivo está no meio e o negativo de fora.
As pilhas estão boas e no teste dos leds funcionam. O servo está ligado ao vin (fio vermelho) e ao Gnd (fio preto). e o laranja vai variando, consoante o código. Existem dois Gnd (na parte do power) já experimentei nos dois e é igual. Mas para tirar as duvidas já experimento com pilhas acabadas de comprar. E são descartáveis.
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 18 de Julho de 2009, 12:41
Podes meter fotos? facilitava bastante a compreender a situação.
Título: Re:Mais um membro da lusorobótica
Enviado por: amando96 em 18 de Julho de 2009, 12:50
como ligaste as pilhas? o GND das pilhas tem de estar ligado ao GND do arduino... está assim?
Título: Re:Mais um membro da lusorobótica
Enviado por: PDI em 18 de Julho de 2009, 12:56
como ligaste as pilhas? o GND das pilhas tem de estar ligado ao GND do arduino... está assim?

Ele esta usando uma ficha própria para a ligação.

"A única coisa que posso ter feito mal foi a ligação à ficha que esta na ponta do fio das pilhas, mas penso que se tivesse trocado nem ligava. O positivo está no meio e o negativo de fora."

Não poderá ser por acaso uma avaria no próprio arduino, na entrada da alimentação.
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 18 de Julho de 2009, 12:58
E por usb funcionava bem... até pode ser mas para isso precisamos de ver o esquema ou fotos de como ele está a ligar.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 18 de Julho de 2009, 13:06
N. Estão ligadas à entrada da corrente, como dizia no tutorial.
Outro sintoma. Aquilo dos led's (piscar o RX, TX e L nesta ordem) só acontece quando está ligado as pilhas, quando está ligado ao USB acendem, nem piscam.
Aqui estão as fotos:
O cd está agarrado ao servo (tipo roda).
As pilhas são 4 AA.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm4.static.flickr.com%2F3485%2F3732119840_4d8f312c2c.jpg&hash=87fb54c5ed8c9dd1ac1982224149b6181d5d3781)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm4.static.flickr.com%2F3451%2F3732120018_1803d9dec4.jpg&hash=a73b643e5f7eb30d604516a7a46b847d3601bfa0)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm3.static.flickr.com%2F2648%2F3732120206_e1ea86b795.jpg&hash=c0ebb956a00c4569bb8c09644ceeb39933b35102)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm3.static.flickr.com%2F2465%2F3732120370_40fe706bbb.jpg&hash=98465ed14c3b40572992a78af91e95a2c73a8523)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm3.static.flickr.com%2F2638%2F3732120478_797727debb.jpg&hash=6ef6b787158ade0d70500e4a76bc52069dee0964)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm3.static.flickr.com%2F2661%2F3732120668_fcaf700ca4.jpg&hash=08ed9bc01a5df5ac6e71b212aa476c900c142b71)

 ??? ???
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 18 de Julho de 2009, 13:15
Ok, das duas uma, ou a ficha não está com o positivo (vermelho) soldado no pin do meio. ou é mesmo de pilhas fracas, já que dizes que ele pisca os leds várias vezes.

Os leds piscam sempre que o arduino liga, se o servo pedir corrente as pilhas tiverem fracas, pode provocar o reiniciar do arduino.

Experimenta ligar o servo em 5V em vez de Vin. Deste modo ele terá que funcionar tanto ligado só por usb, quer ligado com ambos, quer ligado só por pilhas.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 18 de Julho de 2009, 13:32
A ficha está mesmo com o vermelho no meio e mesmo com o positivo no 5v em vez do vin dá o mesmo efeito. O led do power não pisca por isso não sei se a teoria do reiniciar é possível.  Tenho de comprar as pilhas novas para excluir essa hipótese. Quando testar com pilhas novas logo digo qualquer coisa. A minha iniciação não está a correr lá muito bem, mas também se não houvesse estes trambolhões não tinha muita piada. xD Obrigado a todos!  ;)
Título: Re:Mais um membro da lusorobótica
Enviado por: amando96 em 18 de Julho de 2009, 13:33
era isso que ia agora dizer tigPT, eu quando liguei muitos servos (3) ao mesmo tempo, só com um pack de bateria 4AA, ele reiniciava sempre, mas com dois funcionava, deve ser isso, muda as pilhas, ou usa um transformador.
Título: Re:Mais um membro da lusorobótica
Enviado por: PDI em 18 de Julho de 2009, 13:36
Já agora qual a finalidade do pino "Vin"
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 18 de Julho de 2009, 13:43
Eu estou a usar só um servo.
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 18 de Julho de 2009, 14:29
Já agora qual a finalidade do pino "Vin"
Vin disponibiliza-te uma ligação directa à alimentação k entra no arduino pelo jacket preto (Voltage INput). Se o alimentares por USB esse fio não tem nada ligado. Se alimentares por exemplo com bateria de 6V consegues tirar 6V de VIN para alimentares os servos.

Eu estou a usar só um servo.
Mesmo assim, o servo pode ser muito potente e as pilhas estarem fracas, o que causaria o reset. Os lides piscarem é mesmo de o arduino estar a inicializar-se. O que aconteceu quando alimentaste com 5V e utilizaste apenas porta usb?
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 18 de Julho de 2009, 21:48
Nota pessoal: utilizar sempre pilhas novas e não confiar na mãe.  :-X ;D

Epá desculpem lá. Era mesmo das pilhas. Já arranjei um multimetro e pilhas recarregaveis. Obrigado a todos, são 5 estrelas. Continuem a ajudar  :).

Abraço
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 18 de Julho de 2009, 23:15
Ainda bem que está tudo resolvido ;) ao menos aprendeste como se despista erros e quais os possíveis erros que podem acontecer :P
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 18 de Julho de 2009, 23:25
pois é. Obrigado!
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 19 de Julho de 2009, 21:04
-Smalluino?
-confere!  ;D

Pois é, hoje terminei aquele que é o meu 1º robot não autónomo com o arduino, o smalluino. Aconselho a todos que estejam a começar, tal como eu, a construírem um porque para além de muito acessível, aprendemos muita coisa.

Próximo passo: brincar com os LDR e tentar com que o smalluino já seja um pouco autónomo.

Amanhã ponho fotos.

E já agora, alguém tem uns IR sharp a mais?  :D
Título: Re:Mais um membro da lusorobótica
Enviado por: amando96 em 19 de Julho de 2009, 21:26
faz aqueles do tutorial do três, com receptores IR duma tele, e uma led IR, eu fiz, funcionam 5* e custam uns 2€ para fazer...
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 20 de Julho de 2009, 04:05
Boa dica, muito obrigado. Tinha para aqui um robot que tinha umas coisas dessas, a ver se encontro.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 20 de Julho de 2009, 16:18
Boa tarde.
Aqui vão os progressos e as duvidas de hoje:
Já liguei um LDR ao arduino e fiz um led piscar, variando de frequência consoante a luminosidade. Feito isto, fiz o mesmo, mas com o adruino a enviar os sinais para o pc, de forma a ver no serial monitor.

Depois tentei ligar 2 LDR ao arduino e tentar variar a velocidade dos servos consoante a luz, para andar por onde houver luz. Por exemplo: o LDR da esquerda apanha mais luz do que o da direita, o servo da esquerda mantém a velocidade, mas o da direita diminui, de forma a que vá para o local com mais luz, até que quando a luminosidade for a mesma os dois servos começam a andar à mesma velocidade. É nesta fase que estou e foi aqui que começaram as minhas duvidas.
Confesso já que ainda não li muito sobre programação e tudo o que sei até agora aprendi a ler os outros códigos e recorrendo à lógica. Ora o código que eu estou a utilizar de momento (criado por mim, com base noutros códigos e por isso deve ter muiiitos erros) é o seguinte:
Código: [Seleccione]
int LDR1 = 0;
int LDR2 = 1;

int LDRVal1 = 0;
int LDRVal2 = 0;

int motorEsq = 11;
int motorDrt = 10;

void setup() {
pinMode(motorEsq, OUTPUT);
pinMode(motorDrt, OUTPUT);
Serial.begin(9600); }

void loop() {
   

    LDRVal1 = analogRead(LDR1); 
    LDRVal2 = analogRead(LDR2);
 
       
    Serial.println(LDRVal1);
    Serial.println(LDRVal2);
    delay(100);
 
      if (LDRVal1 > LDRVal2) {
         analogWrite(motorEsq, 152);
         analogWrite(motorDrt, 127);
    } else if (LDRVal1 < LDRVal2) {
          analogWrite(motorEsq, 127);
          analogWrite(motorDrt, 152);
    } else if (LDRVal1 == LDRVal2) {
          analogWrite(motorEsq, 152);
          analogWrite(motorDrt, 152);
    }}

Se me puderem dizer o que está mal agradecia.
Problemas principias:
Os servos por vezes rodam em sentido contrario.
Parece que um dos LDR não está a enviar sinal para o arduino.

Os LDR estão ligados da seguinte forma (tambem n tenho a certeza se está completamente correcto):
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm3.static.flickr.com%2F2453%2F3738675393_d742304c25_o.jpg&hash=eaff73a9b37b3e25290cba345ec7eb39f3140975)


Duvidas:
Quais são as unidades da velocidade dos motores?

Obrigado.
Agora já não dá para por fotos, porque está demontado, mas assim que montar tiro.
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 20 de Julho de 2009, 16:25
Antes de mais, parabéns pela documentação do problema, facilitas-nos muito a vida, e não só fica gravado para mais tarde consultares, como pode servir para outros!

Antes de mais, dei uma olhadela na diagonal no código e vi logo um erro, quando isto acontece, o melhor é esquecer tudo o resto e primeiro resolvermos esta dificuldade.

Quando tu colocas os servos no robot, eles ficam de "costas" um para o outro, ambas as rodas ficam viradas para a parte de fora do robot. Assim sendo, eles estão posicionados de forma que para o robot andar em frente, um tem que rodar num sentido, e o outro para acompanhar esse sentido, tem que rodar no sentido contrário. Espero me ter feito entender, caso não percebas, mete os dois servos a andar com o mesmo valor e vais ver que o robot vai rodar sobre ele próprio.

Assim, os valores são 127 =  parado
127 + x = frente, então no segundo motor terás que meter 127 - x para ele também andar em frente.

Dito isto, acho que já podes ir te divertir mais um bocado e aprender mais umas coisas! :P
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 20 de Julho de 2009, 17:01
ahhhh
Pois, muito obrigado. Vou já alterar isso. E o circuito está bem?
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 20 de Julho de 2009, 17:08
Parece-me que sim ;)
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 20 de Julho de 2009, 18:13
E já agora, li que quando se tira o potenciometro de um servo devem-se colocar 2 resistências de 2.5K para substitui-lo. De 2.2K também funciona? E o servo funciona como se tivesse sempre com o potenciometro centrado? É que o potenciometro dos meus servos anda sempre a fugir...
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 20 de Julho de 2009, 18:14
Sim, no fundo é isso.

Eu prefiro medir o valor máximo do potenciómetro do servo, e depois substituir por duas resistências de metade desse valor. Assim tenho a garantia de que fica tudo ok.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 20 de Julho de 2009, 18:25
como é que meço isso?
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 20 de Julho de 2009, 18:29
Com um Ohmímetro ou Multímetro (que também faz de Ohmímetro). É um equipamento que mede a resistência entre dois pontos.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 20 de Julho de 2009, 19:22
O maximo do potenciometro é de 3.8K e centrado é de 2.1K. O ideal era por 2 de 1.4k?
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 20 de Julho de 2009, 19:25
1.9K

1.9 x 2 = 3.8K ;)
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 20 de Julho de 2009, 19:38
DO'H!   :-X

E se eu colocar lá duas de 2.2K? ele n fica calibrado? Se é assim n seria melhor manter o potenciometro, mas colado?
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 20 de Julho de 2009, 19:41
Podes meter duas de 2.2K k ele não deve de se queixar, contudo com duas resistências tens a garantia de estar mesmo no meio, enquanto que o potenciómetro colado ele pode não estar bem no sitio, e até mesmo variar o valor pelo bom/mau contacto do pino do meio com a pista exterior. (mecânica interna do potenciómetro)
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 20 de Julho de 2009, 20:18
Ja tirei o potenciometro e soldei as 2 resistencias de 2.2K. Agora o servo já não para aos 127, nem a nenhum outro valor. E a mudança de sentido é dos 80 para os 81. não era suposto ficar assim pois n? Será que soldei as resistencias mal?
Título: Re:Mais um membro da lusorobótica
Enviado por: TigPT em 20 de Julho de 2009, 20:24
As resistências devem de estar soldadas juntas no pino central do potenciómetro, e depois cada um vai para um dos pins das pontas.

Pode ter a ver com a tal diferença de valores das resistências para os valores originais do potenciómetro.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 28 de Julho de 2009, 15:37
Boas. Mais um problema e já vi que não sou o único a ter este.
É o seguinte:
Eu estou no Algarve e trouxe o portátil comigo, que tem o XP. Quando estava em casa programava o arduino sem problemas através do pc desktop, que tinha o vista. Agora quando tento fazer o upload do skecth para o adruino dá-me um erro e diz:
Código: [Seleccione]
avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Já vi o troubleshooting, aqui o fórum já encontrei dois tópicos em que falam deste problema, e no fórum do arduino.cc também há muitas pessoas que relatam este problema, sem solução à vista. A porta está bem, a board também. Tenho o java. E não dá. Já tou farto disto, queria testar umas coisas e não consigo. Alguém sugere alguma coisa?  Já exprimentei num desktop e num portátil que tenho aqui, mas estão com o windows 7 e também não deu... Adorava que tivessem a solução.
Título: Re:Mais um membro da lusorobótica
Enviado por: ghostbuster em 28 de Julho de 2009, 16:35
eu tenho windows 7 no portatil... e usb-serial converter, vai as opçoes da porta com e desliga os fiffo buffers, depois escolhe uma porta disponivel com o valor mais baixo possivel tipo com2 ou isso.Depois de carregares upload passado exatamente 3 segundos carregas no botao reset
Título: Re:Mais um membro da lusorobótica
Enviado por: tr3s em 28 de Julho de 2009, 19:15
no meu vista so tenho esse género de problemas se tiver o bluetooth ligado... Se o desligar funciona bem.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 01 de Agosto de 2009, 12:54
formatei o pc e instalei o vista. Já consigo. Obrigado. Agora vou tentar por o smalluino a trabalhar com os LDR's. Depois dou novidades.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 02 de Agosto de 2009, 14:11
Bem, não estou a conseguir atinar com os LDRs. Não consigo perceber se o problema é do código ou se é da parte electrónica, mas estou mais inclinado para a programação. Resolvi então tentar utilizar códigos já feitos e encontrei o tutorial do Guilherme Martins na net. Esta aqui: http://lab.guilhermemartins.net/easy-arduino-robot-tutorial/ (http://lab.guilhermemartins.net/easy-arduino-robot-tutorial/)
Mas o servotimer1 esta a dar problemas. Não sei o que fiz de mal. Colei a pasta nas libraries dentro do hardware. Utilizando o código ArduinoRobotCode dá este erro:
Error building library "ServoTimer1"
Código: [Seleccione]
ServoTimer1.cpp: In static member function 'static void ServoTimer1::seizeTimer1()':
ServoTimer1.cpp:45: error: 'TIMSK' was not declared in this scope
ServoTimer1.cpp:45: error: 'TICIE1' was not declared in this scope
ServoTimer1.cpp: In member function 'uint8_t ServoTimer1::attach(int)':
ServoTimer1.cpp:83: warning: suggest parentheses around arithmetic in operand of |
ServoTimer1.cpp:86: warning: suggest parentheses around arithmetic in operand of |
o: In function `__static_initialization_and_destruction_0':
C:\Users\Miguel\AppData\Local\Temp\build60619.tmp/Temporary_4445_1542.cpp:37: undefined reference to `ServoTimer1::ServoTimer1()'


o: In function `loop':
C:\Users\Miguel\AppData\Local\Temp\build60619.tmp/Temporary_4445_1542.cpp:69: undefined reference to `ServoTimer1::write(int)'


o: In function `setup':
C:\Users\Miguel\AppData\Local\Temp\build60619.tmp/Temporary_4445_1542.cpp:45: undefined reference to `ServoTimer1::attach(int)'


C:\Users\Miguel\AppData\Local\Temp\build60619.tmp/Temporary_4445_1542.cpp:46: undefined reference to `ServoTimer1::write(int)'


Couldn't determine program size: D:\arduino\arduino-0016\hardware/tools/avr/bin/avr-size: 'C:\Users\Miguel\AppData\Local\Temp\build60619.tmp\ArduinoRobotCode.hex': No such file

Alguem consegue ajudar, mais uma vez? xD

Obrigado.
Título: Re:Mais um membro da lusorobótica
Enviado por: miguelwind em 10 de Agosto de 2009, 14:21
Ninguem me consegue ajudar?   :-\
Título: Re:Mais um membro da lusorobótica
Enviado por: ricardo-reis em 10 de Agosto de 2009, 14:29
mete aí o código k usaste..
Título: Re:Mais um membro da lusorobótica
Enviado por: Njay em 10 de Agosto de 2009, 19:41
É natural que ninguém te ajude, o teu problema não tem nada a ver com o tema deste tópico e muita gente nem vem cá olhar. Que tal abrir um tópico novo?
Título: inicio....
Enviado por: zecralos em 17 de Setembro de 2009, 19:27
ola
Sou novo por aqui mas ja reparei que percebes bem destes assuntos :)
Sou amante da electronica em geral, mas com especial queda para a parte digital, estudo na universidade do Porto e estou inteiramente ligado á area da programação...decidi investir na aprendizagem do arduino. Mas não sei por onde começar, o que eu queria mesmo era usar o arduino para construir algo que comandasse através do meu próprio computador(algo programável). Podes me ajudar neste ínicio?
Título: Re: Mais um membro da lusorobótica
Enviado por: TigPT em 17 de Setembro de 2009, 19:34
Bem-vindo.

Podes começar por ver os tópicos desta lista:
http://lusorobotica.com/index.php/topic,1229.0.html

Em especial este:
http://lusorobotica.com/index.php/topic,22.0.html

Boa sorte com o arduino ;)
Título: Re: Mais um membro da lusorobótica
Enviado por: GnGz em 17 de Setembro de 2009, 20:43
bem vindo