LusoRobótica - Robótica em Português
Robótica => Iniciantes => Tópico iniciado por: DiogoPainho em 31 de Março de 2011, 19:56
-
Boas
Iniciei agora a construçao de um robo seguidor de linha. Gostava que me ajudassem com a programaçao, visto que me estou a iniciar em arduino. Digam-me algumas dicas para iniciar a programar dois motores dc com um l293d e 5 sensores iv de forma a que este siga uma linha preta.
-
Só aqui no forum tens vários, faz uma pequena pesquisa.
-
Precisava de algo mais concreto do que ja procurei ... tipo o encadeamento logico ... por onde devo começar, como ler os valores dos sensores, etc..
Sfv
-
Primeiro deves começar por meter o blinky no Arduino e mudar os valores dos delays para piscar mais depressa ou mais devagar.
Os sensores se forem digitais fazes digitalRead e no setup fazes PinMode(pino do sensor, INPUT), se for analógico metes nas entradas analógicas e usas o analogRead(pino do sensor).
-
Neste caso para o seguidor de linha, tenho de indicar em que pinos estão ligados os motores e as entradas pwm, de seguida tenho de indicar quais sao as OUTPUT e as INPUT, e depois?
-
Saidas pwm, e saidas para controlar a direção dos motores.
Procura no forum, que vais encontrar muito código que podes ler.
-
Sim tenho andado empenhado em ler tópicos e tal, mas como deves calcular, sou novato nisto e fico pouco esclarecido e sem ideias para depois usar no meu.
-
Tens de colocar duvidas um pouco mais especificas, dizer o que percebes e o que não percebes, qual os teus conhecimentos de programação, de electrónica, escreve ai muitas coisas vá.
-
De electronica penso que tenho tudo em ordem ... Conectei os motores ao l293d, usei um regulador de tensão de 3.3V, com os respectivos condesadores, nisso sei que tenho tudo orientado ... As minha duvidas estão mesmo na programaçao. Tenho 4 fios (que vêm do l293d) que iram ligar a entradas digitais do arduino e mais 2 que irei ligar a pwm's. os sensores sei que tenho de ligar os receptores às entradas anológicas e ler-lhes o valor. até agora no programa que estou a construir so indiqui o seguinte:
int motor_right =
int motor_right1 =
int motor_left =
int motor_left1 =
int pwm1 =
int pwm2 =
// Setup motors
void setup ()
{
pinMode(motor_left, OUTPUT);
pinMode(motor_right, OUTPUT);
pinMode(motor_left1, INPUT);
pinMode(motor_right1, INPUT);
}
Não sei se estou a ir bem, mas apartir dai nao sei como proceder para relacionar os motores aos valores lidos pelos sensores.
-
Regulador de 3.3v na ponte H?
-
Sim ... Algo de mal?
-
Mas ligado em que sitio?
Regra geral queres dar aos teus motores o máximo de energia possivel, dar-lhes 3.3v é assim um bocadinho estranho...
-
O Vi do l293D sei que esta com 9V, mas há uma outra entrada para energia onde me aconselharam a ligar 3.3v... penso que nao estou em erro
-
Mostra lá isso.
-
Se vires o datasheet do l293d ves lá uma porta que diz Vs e outra Vss ... Numa tenho 9 V e noutra tenho 3.3
-
Depende da datasheet a da Texas tem Vc e Vcc..
Mas acho que isso devia estar nos 5v, porque uma é a voltagem para os motores e a outra é para a lógica, se vais alimentar a lógica a 3.3v e depois dás-lhe com sinais de 5v do arduino vai queimar.
-
Vou fazer essa alteração então. Quanto ao programa poderias-me dar umas dicas de como avançar apartir do pouco ou nada que ja tenho ?