Sensores Quick IRs

Aqui detalhamos como deve ser executada a conexão dos sensores infravermelhos da linha Quick!

1. 12V Compact

Neste capítulo é mostrado a documentação necessária para conectar seu sensor infravermelho E3ZD62

1. 12V Compact

1.1 Materiais necessários


Nesta página será passado um panorama de quais serão os materiais utilizados na conexão elétrica do sensor infravermelho. Estamos considerando que você já tenha um suporte com a elétrica inicial de todo robô montada, a qual inclui: roboRIO, módulos de distribuição, breaker de 120A, entre outros...

Lista de Materiais

module

1. 12V Compact

1.2 Conexão elétrica

Nesta página será mostrado como deverá ser realizada a conexão elétrica do sensor IR.

Diagramas

Antes de mais nada é importante esclarecermos o que cada cor de cabo indica. Então:


Neste diagrama inicial, estamos considerando o uso de uma VRM - Voltage Regulator Module


Já no segundo estamos apenas considerando o uso de uma PDH - Power Distribution Hub


Importante notar que como o sensor utilizado é PNP, a carga - optoacoplador - deve ser conectada ao GND junto do sensor IR, como mostram os dois diagramas acima.

1. 12V Compact

1.3 Calibração do sensor

Nessa página será mostrado quais ajustes são possíveis fazer no sensor para melhorar sua precisão na hora de lermos um objeto.


Distância

Com este sensor é possível ajustarmos a distância útil que queremos que ele leia, dessa forma, podemos regular nosso sensor de acordo com nosso mecanismo para maior compatibilidade. Para calibrarmos a distância útil de leitura primeiro é preciso notar o seguinte:

module

Nessa imagem podemos observar que temos dois ajustes, o primeiro deles é referente a distância, caso você queira diminuir a distância útil que o sensor detecta é preciso girar essa chave para a direção de min. Se quiser aumentar gire-a para a direção de max.


Leitura invertida

Pode acontecer de quando ligarmos nosso sensor e formos detectar um objeto nossa leitura esteja invertida, de forma que quando detectar o objeto o sensor nos retorne false, e quando não detectar true. Para resolver isso, temos o segundo ajuste. Quando colocamos a segunda chave em L, o sensor indica true para quando detectarmos o objeto, e false quando não o fizer. Agora se colocarmos em D, o sensor indicará false quando detectarmos o objeto, ou seja, agora está invertido da configuração anterior. Escolha a de sua preferência.

Interessante notar que é possível realizar leituras sem necessariamente rodarmos um código, isso pode ser feito utilizando o LED que vem acoplado no sensor infravermelho, caso ele ligue quer dizer que o retorno é "true", se ficar desligado é "false".

2. 5V

Este capítulo será usado para explicar as conexões elétricas do sensor infravermelho E18-d80NK.

2. 5V

2.1 Materiais necessários


Nesta página será passado um panorama de quais serão os materiais utilizados na conexão elétrica do sensor infravermelho. Estamos considerando que você já tenha um suporte com a elétrica inicial de todo robô montada, a qual inclui: roboRIO, módulos de distribuição, breaker de 120A, entre outros...

Lista de Materiais

module

module

2. 5V

2.2 Conexão elétrica

Nesta página será mostrado como deverá ser realizada a conexão elétrica do sensor IR.

Diagramas

Antes de mais nada é importante esclarecermos o que cada cor de cabo indica. Então:


A vantagem deste sensor é que é possível conecta-lo diretamente ao roboRIO sem optoacopladores ou outros componentes.

2. 5V

2.3 Calibração do sensor

Nessa página será mostrado quais ajustes são possíveis fazer no sensor para melhorar sua precisão na hora de lermos um objeto.


Distância

Com este sensor é possível ajustarmos a distância útil que queremos que ele leia, dessa forma, podemos regula-lo de acordo com nosso mecanismo para maior compatibilidade. Para calibrarmos a distância útil de leitura primeira é preciso notar o seguinte:

module

A parte de trás do sensor possui um parafuso, caso esse seja rotacionado no sentido horário a distância útil do sensor aumenta, agora, se o girarmos para o sentido anti-horário a distância de detecção diminui.

Interessante notar que o sensor possui um LED acoplado, dessa forma ele liga quando indicar true e desliga quando indicar false.

3. Leitura dos sensores infravermelhos

Neste capítulo será abordado a parte do código para obter os dados dos sensores IR

3. Leitura dos sensores infravermelhos

3.1 Código em Java


Nesta página será descrito como deve ser feito o código em Java para lermos os dados obtidos pelo sensor infravermelho. Antes de começarmos a programar é importante esclarecer alguns items:


Código

A primeira etapa que devemos fazer é declarar a nossa entrada do roboRIO que estará fazendo a leitura do sensor. Portanto:

  DigitalInput sensorInfravermelho = new DigitalInput(0);

Onde temos o número 0 é o local - parâmetro da função construtora da classe DigitalInput - que deve ser declarado qual porta DIO do roboRIO estamos utilizando, nesse caso, a 0, mas poderia ser a 1, 2, 3...


A segunda parte é a exibição desses valores em uma dashboard, em nosso caso estaremos utilizando a shuffleboard. Para fazer isso apenas faça - dentro de uma função períodica para leituras contínuas:

@Override
public void robotPeriodic() 
{
  SmartDashboard.putBoolean("Estado do sensor IR", sensorInfravermelho.get());
}

Caso sua leitura esteja invertida, ou seja, quando o sensor não está detectando nenhum objeto ele retorna verdadeiro (nesse caso será representado pelo true na shuffleboard), mas se detectar retorna falso. Para resolver isso apenas precisamos inverter a leitura. Para isso faça como o código abaixo:

@Override
public void robotPeriodic() 
{
  SmartDashboard.putBoolean("Estado do sensor IR", !sensorInfravermelho.get());
}

Se estiver utilizando o sensor ED30-D80B4 é possível reverter a leitura na própria calibração do sensor, para isso de uma olhada na página 1.3 Calibração do sensor


Exibição na shuffleboard

Quando colocarmos nossa variável de leitura na shuffleboard, será apenas uma caixa de texto, portanto, ela dirá true ou false. Entretanto é possível alterarmos para uma boolean box, a qual indicará pela cor se nosso sensor esta ou não lendo algo. Para fazer isso, clique com o botão direito no elemento da shuffleboard e faça o seguinte:

Captura de tela 2023-10-17 150637.png

Caso nosso sensor detecte um objeto essa caixa deverá ficar verde.


Lembrando que se ficar invertido é necessário reverter isso na leitura do código, como descrito mais acima nesta página

3. Leitura dos sensores infravermelhos

3.2 Código em LabView


Antes de começarmos a realizar a leitura dos nosso sensores infravermelhos em LabVIEW é preciso esclarecer dois items:


Código

A primeira etapa que devemos realizar é configurar uma referência para nossa porta de entrada digital, isso é feito em nosso Begin.vi, portanto vamos utilizar um VI de Open para informar a porta DIO que o sensor está conectado, e depois vamos fazer o registro da referência:

Captura de tela 2023-10-18 141355.png

Caso queira alterar a porta digital, apenas edite a constante DIO 0.

Para realizarmos a leitura do sensor infravermelho é preciso acessar a referência do sensor declarada anteriormente e obter seu valor por meio de um VI que retorna o valor da porta. Nesse caso estamos colocando seu valor em um indicador. Faremos isso utilizando o seguinte diagrama:

Captura de tela 2023-10-18 142011.png

As vezes pode ser necessário reverter a leitura do sensor, pois ele pode detectar um objeto e retornar false, e isso atrapalha na hora da visualização. Portanto, para inverter a leitura faça o seguinte, adicione um not na função get, como segue:

Captura de tela 2023-10-18 145441.png

Se estiver utilizando um sensor ED30-D80B4 é possível inverter a leitura no próprio sensor, para isso de uma olhada na página 1.3 Calibração do sensor


Visualização no Painel Frontal

Quando criamos o indicador que armazena o estado do nosso sensor, automáticamente no front panel do LabVIEW é criado um elemento que indica o estado da variável. Da seguinte forma:

Captura de tela 2023-10-18 142302.png