LusoRobótica - Robótica em Português
Robótica => Iniciantes => Tópico iniciado por: Psycop em 07 de Março de 2011, 16:01
-
Olá
Eu gostaria que me ajudassem a iniciar-me na área da robótica. Eu já tive algumas pequenas experiências com robótica, nomeadamente com Picaxe e com a competição "Busca e Salvamento" Robótica 2007/2008/2009.
Agora eu queria aventurar-me num projecto a solo, e gostaria de saber que material me aconselham a comprar para me iniciar.
Actualmente tenho um Orçamento de cerca de 100€ para comprar todo o material, e tenho como primeiro objectivo criar um robot que numa primeira fase siga apenas uma linha preta, mas que posteriormente possa ser evoluído, para poder ser controlado remotamente por um computador com joystick, ou que se possa tornar "autónomo" ou seja se desvie dos obstáculos e encontre o seu caminho.
Quanto à programação eu tenho algumas noções de C++.
Eu estou a pensar em adquirir o seguinte material:
- POLOLU RP5 TRACKED TANK CHASSIS GRAY
- Multímetro (quais é que me aconselham)
- Micro-controlador (Quais me aconselham e porquê)
- Seguidor de pista (o que escolher)
- Material electrónico necessário (led's, resistências, etc. O que é necessário?)
- Ferro de Soldar (Já Possuo)
Eu como não sei bem, a que tipo de material recorrer, gostaria que me dessem algumas dicas.
Cumps
-
Agora eu queria aventurar-me num projecto a solo, e gostaria de saber que material me aconselham a comprar para me iniciar.
Quanto à programação eu tenho algumas noções de C++.
Eu como não sei bem, a que tipo de material recorrer, gostaria que me dessem algumas dicas.
Cumps
Em relação ao micro-controlador, eu só possuo experiência com Arduino. O Arduino não é um micro-controlador
mas sim uma plataforma que utiliza um micro-controlador ATmega. Acho que é simples para quem pretende
iniciar na robótica.
Em relação ao restante material vê o seguinte tópico pois as duvidas parecem semelhantes às tuas:
http://lusorobotica.com/index.php?topic=3353.0 (http://lusorobotica.com/index.php?topic=3353.0)
-
Boas
Estou a Pensar em Adquirir o Material para iniciar o meu projecto em breve, mas gostaria que me ajudassem a criar uma lista de tudo o que necessito.
- POLOLU RP5 TRACKED TANK CHASSIS GRAY
- Multímetro (quais é que me aconselham)
- Micro-controlador (Quais me aconselham e porquê)
- Seguidor de pista (o que escolher)
- Material electrónico necessário (led's, resistências, etc. O que é necessário?)
- Ferro de Soldar (Já Possuo)
Que material me aconselham a usar!
Seria óptimo obter alguma ajuda para criar a lista de todos os componentes necessários!
Cumps
-
Boas
Acham que o Kit de Iniciantes que Está a Venda Na Loja é suficiente?
O kit é composto por:
1 cabo USB
1 fila de pinos machos de 2,54(40x1)
1 Breadboard, 840 pontos de junção
1 conjunto de 70 fios para breadboard
5 resistências 10K Ohm 1/4W
5 resistências 2.2K Ohm 1/4 W
10 resistências 220 Ohm 1/4W
5 resistências 330K Ohm 1/4W
5 condensadores 100nF
5 condensadores 10nF
3 condensadores 100uF 25Vdc
1 termo resistências 4,7K Ohm
1 LDR 70~100K Ohm VT90N2
3 LED 5mm VERMELHO
1 LED 5mm VERDE
1 LED 5mm AMARELO
1 potenciómetro linear 10Kohm
2 transístores BC547 com encapsulamento TO92
1 Piezo buzzer
5 Pushbutton, 12x12mm
2 Optocouplers 4N35 com encapsulamento DIL-6
2 sensores de inclinação
1 Diode 1n4007
1 MOS Irf520
Que mais material me aconselham a comprar?
Gostaria de uma resposta breve pois tenciono comprar brevemente o material!
Cumps
-
esses kit dam bastante jeito eu ja mandei vir um da inmotion
em relaçao ao multimetro eu tenho um que comprei numa loja de cenas electricas e custou-me 15 euros e tem o necessario e funciona na perfeiçao
tambem te aconcelho o arduino como plataforma que utiliza um micro-controlador
em relaçao ao seguidor de pista nao sei oque te dizer pois nunca me meti nisso
em relaçao ao POLOLU RP5 TRACKED TANK CHASSIS GRAY aonde e que o vais comprar e quanto e que custa pois tambem tou a pensar em comprar um
-
Quanto ao POLOLU RP5 TRACKED TANK CHASSIS GRAY custa cerca de 45€ e irei comprar na loja LusoRobótica!
Que micro-controlador aconselhas? Que Modelo?
Achas que o material que indiquei é suficiente para começar?
Cumps
-
A loja de LusoRobótica não está funcional, o TigPt anda desaparecido á meses, se estás disposto a provavelmente esperar meses e meses....
Compra na InMotion ou directamente á Polulu.
-
Não Sabia que a Loja Estava Inoperacional!
Quanto ao Material, achas que é o mais indicado para começar? tenho tudo o que necessito?
cumps
-
Sim, já tens ai muito com que te entreter.
-
Quanto ao sensor seguidor de pista, ou seja para seguir uma linha preta, que tipo de sensor devo usar?
Quais?
Por que micro-controlador devo optar?
Cumps
-
Aconselho Arduino pela facilidade de uso e pela quantidade de users que tem.
Para seguir linhas, o mais rápido será comprar um QTR-8RC da Pololu.
-
Bem Já Tenho quase o material todo pensado.
Irei optar por algo deste género:
Sensor de Pista: QTR-8RC Reflectance Sensor Array [INM-0129] – 12.85€ + Iva = 15.8055€
Chassis : Pololu RP5 Tracked Chassis Gray –
Micro-Controlador: Kit Workshop - Base level with Arduino Uno – 51€ + Iva = 62.73€
• 1 Arduino Uno Board
• 1 USB cable
• 1 Straight single line pinhead connectors 2,54 40x1
• 1 Breadboard, 840 tie points
• 1 Set of 70 breadboard jumper wires
• 5 10K Ohm Resistors 1/4W
• 5 2.2K Ohm Resistor 1/4 W
• 10 220 Ohm Resistors 1/4W
• 5 330K Ohm Resistors 1/4W
• 5 100nF capacitor polyester
• 5 10nF capacitor polyester
• 3 100uF electrolytic capacitor 25Vdc
• 1 4,7K Ohm Thermistor
• 1 70..100K Ohm LDR VT90N2
• 3 5mm RED LED
• 1 5mm GREEN LED
• 1 5mm YELLOW LED
• 1 10Kohm linear potentiometer, pcb terminals
• 2 BC547 Transistor in TO92 Package
• 1 Piezo buzzer
• 5 PCB Pushbutton, 12x12mm size
• 2 4N35 Optocoupler DIL-6 package
• 2 Tilt sensor
• 1 Diode 1n4007
• 1 MOS Irf540
Acham que é o mais apropriado para o que pretendo? Será o mais fácil e básico a nível electrónico e esquemas eléctricos? É que não tenho muita experiência com esquemas eléctricos!
Cumps
-
ten ai muita coisa para começar, e a medida e que vais aprendendo vais comprando o material que precisas.
-
O Projecto que pretendo para já e fazer com que o robot siga uma linha preta no chão, mas posteriormente tenciono deixa-lo possivelmente mais autonomo, ou então fazer com que ele possa ser controlado remotamente pelo teclado do computado ou joystick por wireless ou bluetooth ou possivelmente pelo joystick de um telemovel!
Será que é um bom projecto para um iniciante?
Cumps
-
sim eu acho que e muito bom para começares depois poste aqui os resultados, mas se por acaso comprares o kit na inmotion aconcelho te a a dar um pouco mais e comprar o kit digitopia pois ja tras uma ponte H (l293d) para poderes controlar os motores com o arduino
vais ter que investir bem neste projecto
-
Tens muito que aprender até ao teu robot andar a seguir uma linha, vai com calma ;)
-
pois em primeiro tens que o por a andar se fosse eu so depois e investia no sensor
-
sim eu acho que e muito bom para começares depois poste aqui os resultados, mas se por acaso comprares o kit na inmotion aconcelho te a a dar um pouco mais e comprar o kit digitopia pois ja tras uma ponte H (l293d) para poderes controlar os motores com o arduino
vais ter que investir bem neste projecto
Olá
Poderias-me dar mais alguma informação acerca dessa ponte H? Para eu perceber o seu funcionamento e para que é necessária...
Cumps
-
Uma ponte H serve para controlar o sentido de rotação de um motor, e se usares pwm podes controlar sentido e velocidade.
-
A ponte em H é uma forma de conversor de potencia, em que podes controlar a tensão dada aos motores, logo a sua velocidade, 'ligando e desligando' a fonte, e com um filtro passa-baixo e devido ao baixo tempo de resposta do motor este "percebe" esta tensao como continua.
Ligas ao PWM do micro e assim podes controlar velocidade e direcção.
Ainda nao usei em robô, mas assim de repente acho que serão precisos dois (corrijam-se se estiver errado, sff.).
-
Estive a ponderar alguns kit's já agrupados que apenas necessitam de montagem, visto que acho que eu ainda estou demasiado verde e electrónica para me aventurar por um projecto totalmente autónomo.
Este kit interessou-me particularmente: http://www.sparkfun.com/products/9500 (http://www.sparkfun.com/products/9500)
O Que acham desta solução?
Cumps
-
Sinceramente acho que ficavas melhor servido com um como este: http://www.guibot.pt/farrusco-2/?lang=pt-pt (http://www.guibot.pt/farrusco-2/?lang=pt-pt)
Esse da Sparkfun utiliza PICs e pareceu-me mais dificil de utilizar :-\
-
Sinceramente acho que ficavas melhor servido com um como este: http://www.guibot.pt/farrusco-2/?lang=pt-pt (http://www.guibot.pt/farrusco-2/?lang=pt-pt)
Esse da Sparkfun utiliza PICs e pareceu-me mais dificil de utilizar :-\
Esse pareceu-me um pouco limitado! pois e uma derivação de arduino! só da para ligar 2 motores!
Não Conheces um kit um pouco melhor com arduino?
Cumps
-
Tem ponte H para 2 motores sim, mas precisas de mais para um simples robot?
É que o kit da sparkfun tambem só tem 2 motores, e é bem mais especifico que o Farrusco...
E depois aquilo usa PIC, não tem a facilidade de uso que tens com o Arduino é programação bare-metal, registos para cá e para lá, e mais é um PIC16F, que é mais fraquinho que o Atmega do Arduino, para além de que acho super caro para o que tem.
-
Tem ponte H para 2 motores sim, mas precisas de mais para um simples robot?
É que o kit da sparkfun tambem só tem 2 motores, e é bem mais especifico que o Farrusco...
E depois aquilo usa PIC, não tem a facilidade de uso que tens com o Arduino é programação bare-metal, registos para cá e para lá, e mais é um PIC16F, que é mais fraquinho que o Atmega do Arduino, para além de que acho super caro para o que tem.
Eu Não Estou a por isso em causa! eu apenas gosto mais do estilo de lagartas, e do formato de robot, do kit da sparkfun. se eu encontrar um com arduino mas do género do da sparkfun é por esse que optarei!
Não conheces nenhum kit desse género?
Cumps
-
Porque não compras um arduino , pontes-h , resistencias , leds ,buzzers ,etc para fazeres o teu robot?
Cumps :D
-
Porque não compras um arduino , pontes-h , resistencias , leds ,buzzers ,etc para fazeres o teu robot?
Cumps :D
Porque eu tenho muito pouca experiência com electrónica, e penso que os kit's facilitam um pouco essa parte!
Cumps
-
Mas não é assim que ganhas experiencia.
-
Base com lagartas e motores, e suporte para pilhas:
http://www.pololu.com/catalog/product/1060 (http://www.pololu.com/catalog/product/1060)
Adicionas uma ponte H e um Arduino e uma molhada de sensores e está feito.
-
Base com lagartas e motores, e suporte para pilhas:
http://www.pololu.com/catalog/product/1060 (http://www.pololu.com/catalog/product/1060)
Adicionas uma ponte H e um Arduino e uma molhada de sensores e está feito.
Essa foi a minha primeira escolha, acoplado com um Kit Digitopia + Arduino Uno e um sensor de pista QTR-8RC Reflectance Sensor Array [INM-0129].
E Fazia eu mesmo o meu robot, o que acontece é que eu não percebo nada de esquemas eléctricos e de com devo fazer a ligação dos componentes!
Será isso uma questão muito complicada? Podem Ajudar-me?
Cumps
-
Sinceramente acho que ficavas melhor servido com um como este: http://www.guibot.pt/farrusco-2/?lang=pt-pt (http://www.guibot.pt/farrusco-2/?lang=pt-pt)
Esse da Sparkfun utiliza PICs e pareceu-me mais dificil de utilizar :-\
Esse pareceu-me um pouco limitado! pois e uma derivação de arduino! só da para ligar 2 motores!
Não Conheces um kit um pouco melhor com arduino?
Cumps
O motoruino faz TUDO o que um arduino faz, e ainda tem a ponte-h e as ligações para servos e sensores na placa. Portanto não é nada limitado!
Tens aquela ponte-h na placa, mas ninguém te obriga a utilizá-la e ninguém te impede que ligares quantas externas quiseres, portanto podes ligar quantos motores quiseres, tal como num arduino normal ;)
Eu tenho um e, mesmo sabendo bem utilizar pontes-h em breadboards, prefiro muito mais utilizar a do motoruino, pois simplifica imenso as ligações :)
-
Quanto ao ultimo material que indiquei, será muito complexo efectuar os esquemas eléctricos para as ligações? Que tipo de conhecimentos deverei ter?
Cumps
-
Não é dificil , se o pessoal aqui sabe , mesmo os novatos , é porque fizeram alguma coisa para saber e não encararam como sendo dificil.
Vá é facil.
-
Não é dificil , se o pessoal aqui sabe , mesmo os novatos , é porque fizeram alguma coisa para saber e não encararam como sendo dificil.
Vá é facil.
Eu Já decidi que me vou aventurar num projecto de raiz, podias dar-me algumas dicas, e indicar-me alguns tutoriais sobre tudo o que preciso de saber?
O que achas do material que escolhi?
Cumps
-
Então, tens vários tutoriais aqui pelo forum, procura por Smalluino, que é um robot super simples.
-
montar uma ponte h numa breadbord e uma das coisas mais faceis que ha principalmente se for uma ponte H l293D como a que vem no kit digitopia da inmotion
eu posso te ajudar se nesseçario
-
olha podes usar este codigo para esta ligaçao
int motor1Pin1 = 5; // Ponte H
int motor1Pin2 = 6; // Ponte H
int motor2Pin1 = 10; // Ponte H
int motor2Pin2 = 11; // Ponte H
void setup() {
// Definir os pinos outputs:
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(motor2Pin1, OUTPUT);
pinMode(motor2Pin2, OUTPUT);
}
void loop() {
//Vamos testar o gajo :)
digitalWrite(motor1Pin1, HIGH); // Este pino HIGH, em conjunto com o de baixo LOW
digitalWrite(motor1Pin2, LOW); // Fazem com que o motor da direita ande em frente
digitalWrite(motor2Pin1, LOW); // Este pino LOW, em conjunto com o de baixo HIGH
digitalWrite(motor2Pin2, HIGH); // Fazem com que o motor da esquerda ande em frente
delay (1500); // Tempo que vai ficar a fazer esta função
//Agora é inventar....fazer como quiserem...
//O ideal seria utilizar a funçao AnalogWrite para controlar a velocidade por PWM
//Mas o digitalWrite torna as coisas mais simples
//O inconveniente, é que anda sempre á velocidade máxima
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
delay (1500);
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
delay (1500);
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, HIGH);
delay (1500);
}
-
peço desculpa mas nao deu para adicionar a imagem os anexos estam cheios
-
Boa Tarde!
Obrigado por toda a ajuda que me estão a dar!
Quanto ao material vou agora fazer a encomenda de todo o material que referi anteriormente!
Cumps
-
Boa Noite!
Acabei de receber a confirmação que receberei o material ainda esta semana:
Sensor de Pista: QTR-8RC Reflectance Sensor Array [INM-0129]
Chassis : Pololu RP5 Tracked Chassis Gray
Micro-Controlador: Kit Digitopia + Arduino Uno
Entretanto eu gostaria que me indicassem alguns tutorais acerca dos esquemas eléctricos, e montagem do Arduino, e da ponte em H, etc...
Cumps
-
ok depois no fim de teres tudo diz alguma coisa
-
ok depois no fim de teres tudo diz alguma coisa
O Envio do Material vai ser feito amanhã, por isso conto de ter o material na quinta-feira!
Cumps
-
ok depois no fim de teres tudo diz alguma coisa
Boas
O Material Chegou Hoje...
Poderiam então indicar-me alguns tutoriais sobre os circuitos eléctricos do arduino e tudo o que seja necessário, como montar pontes H, etc...
Cumps
-
Já Comecei a experimentar o arduino, mas estou com problemas em reconhece-lo...
Não sei como instalar os drivers necessários para o poder reconhecer correctamente em Win7.
Alguém sabe como poderei resolver este problema?
Cumps
-
http://lusorobotica.com/index.php?topic=3488.0 (http://lusorobotica.com/index.php?topic=3488.0)
-
http://lusorobotica.com/index.php?topic=3488.0 (http://lusorobotica.com/index.php?topic=3488.0)
Obrigado Já Está a Funcionar!
Já Agora se fosse possível facultar-me alguma informação acerca de esquemas eléctricos do arduino, e para montar pontes em H, etc...
Cumps
-
ponte H (http://lusorobotica.com/index.php?topic=3518.0)
-
Olá
Já ando a tentar brincar um pouco com o meu arduino, mas pelo que vejo a linguagem de programação dos exemplos é C.
Eu tenho algumas noções acerca de C++, e não consigo encontrar nenhuma informação acerca da programação de Arduino com C++, podiam dar-te algumas dicas sobre isso, ou indicar-me alguns tutoriais de C++ para Arduino?
Cumps
-
Os exemplos regra geral são simples, mas Serial.print() é claramente C++, mas se sabes fazer uma coisa em C não ganhas rigorosamente nada em o fazer em C++.
-
Os exemplos regra geral são simples, mas Serial.print() é claramente C++, mas se sabes fazer uma coisa em C não ganhas rigorosamente nada em o fazer em C++.
Mas o que acontece é que eu tenho algumas noções de C++ e não de C!
Cumps
-
C++ é um superset de C, se sabes C++ sabes C.
E o Arduino tem compilador C++, logo escreve código em C ou C++, é como te der mais jeito, no Arduino a unica diferença muito provavelmente para 90% dos users é poder ter classes e templates, que por acaso no IDE 0022 nem estão a funcionar muito bem, de resto é for's if's, switchs e declarar funções
-
Obrigado por toda a ajuda que me tem dado.
Eu vou colocando todas as actualizações e novidades da minha iniciação à electrónica e robótica no meu blog.
O.Cantinho.da.Programação: http://omundodaprogramacao.com/ (http://omundodaprogramacao.com/)
Cumps
-
Boas
Estou com bastantes dificuldades em montar a ponte L293d alguem me pode indicar um esquema simples de o fazer?
ja me tentei guiar por aqui: http://lusorobotica.com/index.php?topic=3518.0 (http://lusorobotica.com/index.php?topic=3518.0)
mas nao estou a conseguir grande coisa!!!
Cumps
-
qual é a tua duvida em concreto?
-
qual é a tua duvida em concreto?
Eu não consigo interpretar bem os esquemas!
Cumps
-
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fitp.nyu.edu%2Fphyscomp%2Fuploads%2Fdcmotor_bb.png&hash=2d1701976c033df5e2e347424ed38d34bdfed450)
este é bastante simples...
sabes como funciona uma breadboard?
-
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fitp.nyu.edu%2Fphyscomp%2Fuploads%2Fdcmotor_bb.png&hash=2d1701976c033df5e2e347424ed38d34bdfed450)
este é bastante simples...
sabes como funciona uma breadboard?
Quanto a esse exemplo é bastante simples, mas so inclui um motor, e o chassis pololu que tenho possui dois!
Quanto ao interruptor que esta nesse esquema não necessito de usar pois não?
Cumps
-
o interruptor não é preciso...
o 2º motor basta ligar do outro lado da ponte exactamente da mesma maneira...
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fluckylarry.co.uk%2Fwp-content%2Fuploads%2F2009%2F07%2FL293D.gif&hash=b4b6cbd067516d400b6dd9159a5db0980a990316)
os dois lados da ponte são quase simétricos, as diferenças estão no pino 16 que é a alimentação da ponte, o 8 que é a alimentação dos motores e o 1 e 9 que são os enable (a ponte só é activada quando estes pinos estão no estado HIGH, podem ser os dois ligados ao mesmo pino digital do arduino, de preferência um PWM para se poder controlar a velocidade)
os pinos 4, 5, 12 e 13 são o GND, devem estar todos ligados entre si e devem estar ligados ao GND do arduino e da alimentação dos motores
o estado do input 1 do L293D (pino 2) vai corresponder ao estado do output 1 (pino 3), se for 0 num vai ser o noutro vai ser 0 também e assim sucessivamente, igual nos outros input\output...
-
Olá
Andei novamente à volta da ponte L293D e já consegui movimento num dos motores.
Nas fotos em baixo fica a forma como eu montei...
Mas agora queria fazer o mesmo para o segundo motor, tentei ligar o mesmo no lado oposto da breadboard, mas não funcionou...
(https://lh5.googleusercontent.com/_kfbUL16QXxw/TcgL3YgLiAI/AAAAAAAAALw/Gl9Of5a78U0/s640/DSC08709.JPG)
(https://lh5.googleusercontent.com/_kfbUL16QXxw/TcgMNvhiIPI/AAAAAAAAAL0/DYSyGfVLSNU/s640/DSC08714.JPG)
Cumps
-
o segundo motor e ligado presisamente como o primeiro ou seja e como se tivesses a fazer aqueles desenhos de simetria que te dao um lado e tens que desenhar o outro mas isto se aplica nos pinos ground input e output e o resto depende ja do codigo
-
o segundo motor e ligado presisamente como o primeiro ou seja e como se tivesses a fazer aqueles desenhos de simetria que te dao um lado e tens que desenhar o outro mas isto se aplica nos pinos ground input e output e o resto depende ja do codigo
Mas para já o que tenho até aqui está correcto, certo?
Ou poderei melhorar?
Eu consegui movimento no motor com o seguinte código:
int motorPin1 = 9;
int motorPin2 = 4;
int delayTime = 500;
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
}
void loop() {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
delay(delayTime);
}
Cumps
-
até ai está correcto, agora é fazer o mesmo para o outro
-
até ai está correcto, agora é fazer o mesmo para o outro
Sim, mas a minha dificuldade está na montagem do circuito para o segundo motor!
Cumps
-
é igual, ligas o input 3 e 4 do L293D ao arduino como ligaste os outros e o output 3 e 4 aos fios do outro motor, não esquecer o enable
tens a ponte montada ao contrario...
-
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fitp.nyu.edu%2Fphyscomp%2Fuploads%2Fdcmotor_bb.png&hash=2d1701976c033df5e2e347424ed38d34bdfed450)
este é bastante simples...
sabes como funciona uma breadboard?
Se Não fosse muito incomodo poderias completar esse esquema para um segundo motor?
Cumps
-
Boas
Tentei montar a Ponte L293D para dois motores, mas apenas consegui movimento num dos motores e apenas uma vez!
O a montagem esta na foto seguinte:
(https://lh4.googleusercontent.com/-hIsXt1V5d40/TclLA33fDqI/AAAAAAAAAME/MhuoVeTcT5Y/s640/DSC08722.JPG)
E o código que usei foi o seguinte:
int motorPin1 = 4;
int motorPin2 = 5;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 100;
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop() {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
}
Estarei a fazer algo de errado?
Cumps
-
o código está incorrecto, para poderes ter movimento tens de ter um pino a HIGH e o outro a LOW, os dois em HIGH o motor "trava"
void loop() {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
}
aumenta o tempo no delay, 100ms é 0,1s...
-
Boas
Já Consegui colocar a ponte a funcionar para os 2 motores, inclusive coloquei um pequeno interruptor.
Aqui fica a foto:
(https://lh3.googleusercontent.com/_kfbUL16QXxw/TcllxfEUSyI/AAAAAAAAAMM/wS5yjYcJIMY/s640/DSC08728.JPG)
Não Sei se a forma como coloquei o interruptor é a mais correcta.
À alguma coisa que possa melhorar ou simplificar relativamente às ligações?
Podem agora dar-me umas dicas de como poderei ligar o Sensor de Pista: QTR-8RC Reflectance Sensor Array [INM-0129]
Cumps
-
Boas
Usando este código alguém me pode ajudar a saber como poderei controlar a velocidade dos motores e a sua direcção?
int motorPin1 = 4;
int motorPin2 = 5;
int motorPin3 = 11;
int motorPin4 = 10;
int delayTime = 500;
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop() {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(1000);
}
Cumps
-
assim vai rodar numa direcção:
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
assim na oposta:
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
para controlar a velocidade ligas os pinos 1 e 9 da ponte a um PWM do arduino:
http://arduino.cc/en/Reference/AnalogWrite (http://arduino.cc/en/Reference/AnalogWrite)
-
Olá
Não Estou a conseguir inverter a marcha!
Para ter ambos os motores para a frente uso:
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(1000);
Mas se inverter as coisas usando: digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(1000);
Apenas o motor esquerdo anda e para trás!
O que se estará a passar?
Cumps
-
Verifica se tens as ligações feitas de acordo com as variáveis motorPin1...4
Parece-me que tens aí 1 das variáveis que tem o numero de um pino do Arduino que nao estás a usar.
-
Verifica se tens as ligações feitas de acordo com as variáveis motorPin1...4
Parece-me que tens aí 1 das variáveis que tem o numero de um pino do Arduino que nao estás a usar.
Estive a tentar verificar o que me disseste e penso que esteja tudo bem! I Guess!
Mas aqui fica a foto da montagem actual:
(https://lh3.googleusercontent.com/_kfbUL16QXxw/TcllxfEUSyI/AAAAAAAAAMM/wS5yjYcJIMY/s640/DSC08728.JPG)
Cumps
-
a imagem não é muito esclarecedora mas não tens ligados os fios no D5 e D6?
-
a imagem não é muito esclarecedora mas não tens ligados os fios no D5 e D6?
Tirei uma nova foto, e penso que agora esteja mais nitida!
(https://lh5.googleusercontent.com/-S02cB45qGIQ/TcrCMvv8ddI/AAAAAAAAAMY/3VMtZqpFbXs/s640/DSC08737.JPG)
Cumps
-
os fios não estão ligados no d5 e d6?
é o que me parece...
-
os fios não estão ligados no d5 e d6?
é o que me parece...
Obrigado pelo reparo!
Era exactamente isso.
Agora esta a funcionar com este código:
int motorPin1 = 4;
int motorPin2 = 5;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 500;
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop() {
\\Avançar
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(1000);
\\Recuar
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(1000);
}
-
Boas
Já tenho os motores a funcionar convenientemente. Mas agora gostaria de controlar a velocidade dos motores, sei que isso é feito no PWM mas não faço ideia em qual deles e como e para onde.
Se me pudessem indicar algum esquema, seria muito mais fácil para mim!
Ando também a tentar encontrar informação acerca da montagem do sensor QTR-8RC Reflectance Sensor Array, mas não encontro nada de especial, que me clarifique o modo como devo montar e ligar.
Alguém conhece algumas informações ou esquemas que me possam ser úteis? Qualquer ajuda é bem vinda.
Cumps
-
como eu já tinha dito ligas os pinos 1 e 9 da ponte a um pwm qualquer e usas um simples analogwrite, vê o link uns posts atrás...
-
como eu já tinha dito ligas os pinos 1 e 9 da ponte a um pwm qualquer e usas um simples analogwrite, vê o link uns posts atrás...
E ligo os 2 pinos 1 e 9 a apenas um PWM?
Ou uso um PWM para cada?
Cumps
-
se quiseres velocidade diferente em cada motor tens de usar 2 distintos, se for a mesma um basta
-
se quiseres velocidade diferente em cada motor tens de usar 2 distintos, se for a mesma um basta
Boas
Liguei o Pino1 da ponte ao pino pwm2 e o pino 9 da ponte ao pwm 3, e criei o seguinte codigo:
int motorPin1 = 4;
int motorPin2 = 5;
int motorPin3 = 10;
int motorPin4 = 11;
int analogPin1 = 2;
int analogPin2 = 3;
int delayTime = 500;
void setup()
{
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop() {
analogWrite(motorPin1, 64);
analogWrite(motorPin2, 64);
analogWrite(motorPin3, 64);
analogWrite(motorPin4, 64);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(1000);
analogWrite(motorPin1, 64);
analogWrite(motorPin2, 64);
analogWrite(motorPin3, 64);
analogWrite(motorPin4, 64);
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(1000);
}
O Que acontece é que os motores continuam a rodar a mesma velocidade que antes, ou seja máxima, e alterando os valores do analogWrite a velocidade não se altera.
O Que estarei a fazer mal?
Cumps
-
isto:
analogWrite(analogPin1, 64);
analogWrite(analogPin2, 64);
em vez disto;
analogWrite(motorPin1, 64);
analogWrite(motorPin2, 64);
analogWrite(motorPin3, 64);
analogWrite(motorPin4, 64);
e atenção que apenas os pinos digitais 3, 5, 6, 9, 10, 11 têm função PWM
-
Obrigado pelo reparo.
Alterei a ligação para os pinos 3 e 6 que são pwm, e o código para o que me indicaste, mas não vejo qualquer diferença na velocidade dos motores...
Cmps
-
Mostra o código todo.
-
o código todo é o seguinte:
int motorPin1 = 4;
int motorPin2 = 5;
int motorPin3 = 10;
int motorPin4 = 11;
int analogPin1 = 3;
int analogPin2 = 6;
int delayTime = 500;
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop() {
//Avançar
analogWrite(analogPin1, 64);
analogWrite(analogPin2, 64);
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(1000);
//Recuar
analogWrite(analogPin1, 64);
analogWrite(analogPin2, 64);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(1000);
}
-
Olá
Consegui controlar os motores através do seguinte código:
int analogPin1 = 3;
int analogPin2 = 6;
int motorPin1 = 4;
int motorPin2 = 5;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 500;
void setup()
{
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop()
{
anda();
delay(1000);
parado();
delay(1000);
}
void anda()
{
analogWrite(motorPin1, 0);
analogWrite(motorPin2, 64);
analogWrite(motorPin3, 64);
analogWrite(motorPin4, 0);
}
void parado()
{
analogWrite(motorPin1, 0);
analogWrite(motorPin2, 0);
analogWrite(motorPin3, 0);
analogWrite(motorPin4, 0);
}
O que acontece agora é que os motores emitem um som estranho a quando do parado(), o que será?
O que estou a fazer de errado?
Necessito também de ajuda para montar o QTR-8RC Reflectance Sensor Array pois, não faço a mínima ideia de como o montar nem como o ligar.
Alguém me pode explicar o que tenho de fazer e que pinos terei de soldar ao QTR-8RC Reflectance Sensor Array.
Cumps
-
o analogwrite apenas funciona em saídas PWM
para poderes controlar dessa maneira precisas de ligar os 4 inputs do L293D a 4 pinos PWM...
usa antes o código como está no outro post acima...
em relação ao sensor podes começar pela página do fabricante, tens lá muita informação ou procura pelo fórum, penso que há por ai mais do que um tópico sobre isso
-
em relação ao sensor podes começar pela página do fabricante, tens lá muita informação ou procura pelo fórum, penso que há por ai mais do que um tópico sobre isso
Eu já andei pela página do fabricante, o que acontece é que eu não entendi muito bem o que lá diz!
A informação do fabricante é a seguinte: http://www.pololu.com/docs/pdf/0J12/QTR-8x.pdf (http://www.pololu.com/docs/pdf/0J12/QTR-8x.pdf)
Só que mesmo assim, eu não sei bem como proceder!
Poderias-me ajudar?
Cumps
-
eu nunca usei esse sensor nem nada parecido, procura aqui pelo fórum que encontras de certeza a informação que precisas...
-
eu nunca usei esse sensor nem nada parecido, procura aqui pelo fórum que encontras de certeza a informação que precisas...
Já procurei aqui pelo forum, e tudo faz referência às informações do fabricante, o meu problema está em saber interpretar todas as informações do fabricante.
-
O que não falta aqui no forum são pessoas a usar isso, imagens e código de exemplo, até no site da Polulu tens esquemas e código para Arduino, qual é a parte que não percebes?
-
O que não falta aqui no forum são pessoas a usar isso, imagens e código de exemplo, até no site da Polulu tens esquemas e código para Arduino, qual é a parte que não percebes?
Eu tenho-me baseado neste documento: http://www.pololu.com/docs/pdf/0J12/QTR-8x.pdf (http://www.pololu.com/docs/pdf/0J12/QTR-8x.pdf)
O que eu não sei é como devo soldar, se devo soldar, e onde e como devo ligar. Já vi que algumas pessoas fazem a ligação com um cabo parecido a um cabo IDE, mas ainda não consegui encontrar informação acerca de omo devo soldar, se devo soldar, e onde e como devo ligar.
Mas ando um pouco sem saber como abordar a montagem deste sensor!
Cumps
-
Soldas com um ferro de soldar e estanho, como soldar, ou metes headers macho ou femea, se queres usar um cabo ide como outras pessoas soldas machos, e soldas a parte de cima contrariamente ao lado dos sensores, para o sensor ficar para baixo e os fios para cima.
-
Soldas com um ferro de soldar e estanho, como soldar, ou metes headers macho ou femea, se queres usar um cabo ide como outras pessoas soldas machos, e soldas a parte de cima contrariamente ao lado dos sensores, para o sensor ficar para baixo e os fios para cima.
Arrisquei em soldar os terminais que vinham com o sensor, seguindo o seguinte esquema:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.pololu.com%2Fpicture%2F0J621.600.jpg&hash=3b5e6300894df06ed821df4c9c1e7903962fb09d)
Mas agora não sei como nem onde ligar o sensor ao arduino. Podem dar-me umas dicas?
Cumps
-
Espero que não tenhas ligado nada ao Short these if Vcc=3.3v
Ligas o Gnd á massa do Arduino ou seja a um Gnd, o Vcc ligas aos 5v e o sensor output 1 a 8 ligas nos pinos digitais, liga por exemplo do 2 ao 9, que é para deixar o 0 e o 1 livres para usares o serial.
-
Espero que não tenhas ligado nada ao Short these if Vcc=3.3v
Ligas o Gnd á massa do Arduino ou seja a um Gnd, o Vcc ligas aos 5v e o sensor output 1 a 8 ligas nos pinos digitais, liga por exemplo do 2 ao 9, que é para deixar o 0 e o 1 livres para usares o serial.
Não liguei nada ao Short these if Vcc=3.3v nem soldei nada aí sequer.
Quanto a ligação, eu tenho os motores ligados aos pinos 4,5 e 10,11 por causa do pwm. O que achas que devo fazer neste caso?
Cumps
-
Podes usar só 6, e liga no analog 1 a 5 que funciona como digitais 14 a 18
-
Podes usar só 6, e liga no analog 1 a 5 que funciona como digitais 14 a 18
Ok.
tentei fazer a ligação com cabo IDE cortado à medida, mas não ficou grande coisa! Aconselhas alguma maneira mais simples de fazer essa ligação?
Cumps
-
Podes fazer um cabo especifico com headers femea ou então soldar fios directo..
Mas agarrar num header femea e soldar uns fios deve ser a melhor opção.
-
Boas
Quanto à ligação do sensor onde ligo o "Ledon"?
cumps
-
Olá!
Quanto ao QTR-8RC Reflectance Sensor Array poderei agrupar os sensores em 3 grupos e liga-los em conjunto, do género do 1,2 e 3 (sensores do lado direito) 5 e 6 (sensores ao centro) 6, 7 e 8 sensores do lado esquerdo!
Isto é possível de se fazer? Assim passaria a ter apenas "3" sensores a ler!
Cumps