collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]


Focos LED SMD por almamater
[16 de Dezembro de 2023, 14:12]


I Belive por dropes
[15 de Dezembro de 2023, 13:59]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[11 de Dezembro de 2023, 13:27]

Autor Tópico: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2  (Lida 10468 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline joaorobotica

  • Mini Robot
  • *
  • Mensagens: 10
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #15 em: 06 de Maio de 2015, 15:56 »
Então, o valor de cada sensor é só 0/1, ou será algo mais?

Pois lá está, como já referi entrei neste "mundo" recentemente, ele aqui:
Código: [Seleccione]
readadc 1,sensor1
readadc 2,sensor2
readadc 3,sensor3
readadc 5,sensor4
readadc 6,sensor5
readadc 7,sensor6

Tem o sensor1, sensor2 (etc), mas será que cada um desses lê 0/1's ?

E também não consegui encontrar nada sobre isto "SENSOR_LIM=90" que se encontra na parte de cima do programa na definição das constantes, 'Valor do limiar para atribuição de linha preta' tinha essa definição, mas não sei quais os máximo ou minimos. Se tivesse essa noção depois poderia alterar neste:
Código: [Seleccione]
if sensor1>SENSOR_LIM then
sensor=1
elseif sensor6>SENSOR_LIM then
sensor=6
elseif sensor2>SENSOR_LIM then
sensor=2
elseif sensor5>SENSOR_LIM then
sensor=5
elseif sensor3>SENSOR_LIM then
sensor=3
elseif sensor4>SENSOR_LIM then
sensor=4
else
sensor=0
Fazendo parar o robo quando encontra-se uma linha preta mais longa e os sensores laterais a detectassem.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #16 em: 06 de Maio de 2015, 16:00 »
Aconselho-te a ir ler a documentação fornecida no site da Picaxe, e/ou no IDE do mesmo.
readadc faz uma conversão de analógico para digital usar como o nome indica o ADC que se encontra dentro do PIC que estás a usar, esse ADC tem uma resolução de 10 bits(á partida, não faço ideia o modelo do pic, pode ser mais, ou menos, o Picaxe pode passar esse valor para 8 bits, enfim, RTFM).
10 bits representam um valor decimal que pode variar entre 0 e 1023.

O que isso depois faz é comparar o valor lido do respectivo canal do ADC e comparar com outro valor, se a comparação for verdadeira dá um valor á variavel correspondente ao sensor que leu.
Esse 90 é um valor de calibração, ou seja, abaixo de 90 considera preto, acima considera branco.

Ou seja tudo entre 90 e 1023 ele considera branco, estás a ver a ligeira margem para "escala de cinza" que ai tens?
Avr fanboy

Offline joaorobotica

  • Mini Robot
  • *
  • Mensagens: 10
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #17 em: 06 de Maio de 2015, 16:10 »
Aconselho-te a ir ler a documentação fornecida no site da Picaxe, e/ou no IDE do mesmo.
readadc faz uma conversão de analógico para digital usar como o nome indica o ADC que se encontra dentro do PIC que estás a usar, esse ADC tem uma resolução de 10 bits(á partida, não faço ideia o modelo do pic, pode ser mais, ou menos, o Picaxe pode passar esse valor para 8 bits, enfim, RTFM).
10 bits representam um valor decimal que pode variar entre 0 e 1023.

O que isso depois faz é comparar o valor lido do respectivo canal do ADC e comparar com outro valor, se a comparação for verdadeira dá um valor á variavel correspondente ao sensor que leu.
Esse 90 é um valor de calibração, ou seja, abaixo de 90 considera preto, acima considera branco.

Ou seja tudo entre 90 e 1023 ele considera branco, estás a ver a ligeira margem para "escala de cinza" que ai tens?

Deixa me ver se entendi direito, Acima de 90 ele considera branco, abaixo de 90 preto, então o 90 vai ser a margem ?

Código: [Seleccione]
if sensor1>SENSOR_LIM then
sensor=1
elseif sensor6>SENSOR_LIM then
sensor=6
elseif sensor2>SENSOR_LIM then
sensor=2
elseif sensor5>SENSOR_LIM then
sensor=5
elseif sensor3>SENSOR_LIM then
sensor=3
elseif sensor4>SENSOR_LIM then
sensor=4
else
sensor=0

Nesse código se eu meter (por exempl)
Código: [Seleccione]
sensor4=SENSOR_LIM then
pause(2000)


Ele quando detecta a cor cinza pára ?

StarRider

  • Visitante
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #18 em: 06 de Maio de 2015, 16:11 »
[...]
Estou a usar o código exemplo
[...]

LOL ... tens uma piadas muito giras :) 


Offline joaorobotica

  • Mini Robot
  • *
  • Mensagens: 10
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #19 em: 06 de Maio de 2015, 16:12 »
[...]
Estou a usar o código exemplo
[...]

LOL ... tens uma piadas muito giras :)

Vir para aqui gozar também é muito giro, podes voltar para onde vieste se nao tens intenção de ajudar.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #20 em: 06 de Maio de 2015, 16:15 »
Acho que é ao contrário do que disse, acima de 90 considera de preto, abaixo considera branco, mas de 90 para cima ser preto é estranho.

Só com um = estás a atribuir o valor á variavel e não a comparar, e não estás a usar um if.
E o pause é uma pausa no programa, não aos motores do robot.


E não pescas mesmo nada de programação, pois não?..

Começar por algo muito simples, agarra nisso, e começa de novo.
Começa por imprimir um hello world para um terminal serial, depois lê os sensores e despeja os valores para a porta serial, aproveita e assim vês como é que o sensor reage ás cores.
Avr fanboy

StarRider

  • Visitante
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #21 em: 06 de Maio de 2015, 16:49 »

Isto até tinha piada e dava para gozar não fosse o facto de alguém que supostamente está
a fazer um trabalho de FINAL DE CURSO não perceber realmente a ponta de um corno do
que está a fazer ... assim só dá mesmo vontade de CHORAR.  Como é que é possível alguém
chegar ao fim de um curso e nem sequer saber o que é um "if" ????

Não admira que tenha que copiar o código de outros e vir para aqui pedir que lhe façam o
trabalho, isto realmente vai de mal a pior, falta de educação e falta de formação ... enfim
uns tristes.

Boa sorte na vida, bem vais precisar dela...

 
 

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.185
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #22 em: 06 de Maio de 2015, 17:12 »
Verde é um tom de cinzento, desde que não tenhas que distinguir outras cores deve dar.
Sei que o verde anda um bocado cinzento neste campeonato mas daí a ser daltónico é uma grande distância  :P
Sim, podem-se usar sensores LDR para se medirem cores, basta colocar um filtro para que passe a cor desejada (as restantes terão uma tonalidade mais escura, tirando o branco que é a soma delas todas).

Esta leitura tem de ser via analógica com as respectivas tolerâncias!!!

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #23 em: 06 de Maio de 2015, 17:14 »
Verde é um tom de cinzento, desde que não tenhas que distinguir outras cores deve dar.
Sei que o verde anda um bocado cinzento neste campeonato mas daí a ser daltónico é uma grande distância  :P
Sim, podem-se usar sensores LDR para se medirem cores, basta colocar um filtro para que passe a cor desejada (as restantes terão uma tonalidade mais escura, tirando o branco que é a soma delas todas).

Esta leitura tem de ser via analógica com as respectivas tolerâncias!!!

Podes sempre fazem uma conversão analógico para digital com uma malha RC e algum código, á lá BasicStamp, basicamente é uma aplicação rudimentar das ADC's MultiSlope dos multimetros de bancada de precisão.
Avr fanboy

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.185
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #24 em: 06 de Maio de 2015, 17:31 »
Sim é possível medir sinais analógicos com uma porta digital, mas não compliques muito que isso ainda tem algum código jeitoso  ;)
Pelo andar deste tópico não ia por aí...

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #25 em: 06 de Maio de 2015, 17:35 »
Segundo um amigo do google o sensor que ele está a usar tem saídas analógicas.

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.185
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #26 em: 06 de Maio de 2015, 17:58 »
Segundo um amigo do google o sensor que ele está a usar tem saídas analógicas.
Esse amigo também te deve ter dito que o sensor é apenas de proximidade IR, logo detectar cores ou tonalidades de cinzento não creio que funcione...
Lembrei-me à pouco, se a iluminação for com LEDs de cores resulta melhor sem os tais filtros (com calibração de leituras por causa da intensidade reflectida, brilho, etc...)

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Bot'n'roll One C - Seguidor de linha - Busca e Salvamento - Picaxe 40x2
« Responder #27 em: 06 de Maio de 2015, 18:00 »
Segundo um amigo do google o sensor que ele está a usar tem saídas analógicas.

E está a usar readadc, logo está tudo no mundo analógico.

Aliás o sensor digital da Pololu usa uma malha RC e a biblioteca deles(para Arduino) implementa precisamente o que descrevi, carregar condensador, medir tempo de descarga, e temos um valor "analógico" usando simplesmente pinos digitais sem recorrer a um ADC.
Avr fanboy