Categorias: Circuitos de microcontrolador
Número de visualizações: 32016
Comentários sobre o artigo: 0

Sensores mais populares para Arduino

 

Os sensores são usados ​​em uma ampla variedade de circuitos e projetos. Nenhuma automação pode ficar sem eles. Estamos interessados ​​neles porque um projeto foi criado para simplificar o design e a popularização da eletrônica Arduino. Esta é uma placa pronta com um microcontrolador e tudo o que você precisa para trabalhar e programar. Neste artigo, consideraremos sensores para o Arduino, mas eles também podem ser usados ​​com outros microcontroladores.

Sensores mais populares para Arduino

Quais são os sensores?

Sensores são os olhos, ouvidos e outros sentidos microcontrolador ou outro dispositivo de controle. Eles se distinguem pela natureza do sinal e pelo propósito.

Pela natureza do sinal é dividido em:

  • Analógico;

  • Digital

E para o efeito, os sensores servem para medir:

  • Temperatura;

  • Pressão;

  • Umidade

  • Acidez;

  • Iluminação

  • Nível de água ou outras substâncias;

  • Vibração

  • E outros componentes especializados.

Se falamos sobre o Arduino, ao receber informações de sensores, processamos um sinal digital ou medimos a tensão da saída analógica do módulo. Como já mencionado, sensores são digitais e analógicos. Alguns módulos do Arduino têm saída digital e analógica, que os unifica.

Por dispositivo eles são

  • Resistive

  • Indutivo

  • Capacitivo;

  • Piezoelétrico;

  • Fotocélulas e outros tipos.



Sensor de luz ou luz

A maneira mais fácil de determinar o brilho de algo - use um fotorresistor, fotodiodo ou fototransistor. Você pode conectar uma das opções listadas ao Arduino ou comprar uma placa especial - sensor de luz.

Sensor de luz

Quais são os benefícios de uma solução pronta para uso? Em primeiro lugar, para detectar alterações na iluminação de uma única célula fotoelétrica não é suficiente, você também precisa de um resistor regular ou de sintonização, talvez comparador, para operação sim / não gradual. Em segundo lugar, uma placa de circuito impresso fabricada na fábrica será mais confiável do que uma montagem articulada ou uma placa de pacotes ou outras formas que os amadores usam.

Sensor de luz

No aliexpress ou em outras lojas on-line, pode ser encontrado a pedido "SENSOR FOTOSSENSÍVEL" ou simplesmente "sensor de luz".

Este módulo possui três saídas:

  • Nutrição;

  • Terra

  • Saída digital do comparador.

Ou uma versão de quatro pinos:

  • Nutrição;

  • Terra

  • Saída digital do comparador;

  • Analogue

Assim, na placa colocada resistor de sintonia para ajustar o tempo do comparador pode produzir um sinal digital.

Exemplos de uso:

  • Sensor de luz para relé fotográfico;

  • Alarme (emparelhado com o emissor);

  • Contador de objetos que cruzam o feixe de luz, etc.

É difícil obter valores exatos, pois será necessário um medidor de luz correto para o ajuste correto da iluminação. Os fotorresistores são mais adequados para determinar valores abstratos como "escuro ou claro".

Além de uma prancha à venda, você pode achar bastante interessante Módulo GY-302. Este é um sensor de luz baseado no circuito integrado BH-1750. Sua característica é que é um módulo digital, tem capacidade para 16 bits, se comunica com microcontroladores através do barramento i2c. 16 bits permitem medir a iluminação de 1 a 65356 Lux (Lx).

Sensor de luz ambiente baseado no circuito integrado BH-1750

Abaixo está um diagrama de sua conexão. Você pode perceber que SDA e SCL conectado aos pinos analógicos do microcontrolador.

Diagrama de conexão do sensor de luz

Isso se deve ao fato de o barramento I2C ser implementado nesses pinos do arduino, o que pode ser visto na figura a seguir. Portanto, não se deixe enganar por esse fato, o sensor é digital.

Diagrama do módulo GY-302

A vantagem dos sensores digitais é que você não precisa verificar os valores de cada instância, compilar tabelas para converter os valores medidos em escalas reais e assim por diante.Na maioria dos casos, para sensores digitais, basta conectar uma biblioteca pronta e ler os valores convertidos em unidades reais.

Esboço de exemplo para GY-302 (BH-1750):

Exemplo de esboço para GY-302

Como um esboço funciona?

No início, informamos ao programa que precisamos conectar a biblioteca Wire.h, responsável pela comunicação via linha I2C, e o BH1750. O restante das ações está bem descrito nos comentários e, como resultado, a cada 100ms, lemos o valor do sensor em Lux.

Características de GY-302 BH1750:

  • Comunicação com o microcontrolador I2C

  • Resposta espectral semelhante à sensibilidade ocular

  • Erros devido à radiação infravermelha são minimizados

  • Faixa de medição 0-65535 Lux

  • Tensão de alimentação: 3-5 V

  • Baixo consumo de corrente e função de suspensão

  • Filtro de ruído de luz 50/60 Hz

  • O número máximo de sensores em 1 barramento I2C é de 2 peças.

  • Nenhuma calibração necessária

  • Consumo atual - 120 μA

  • No modo de suspensão - 0,01 μA

  • Comprimento de onda medido - 560 nm

  • No modo de alta resolução - 1 Lux

  • No modo de baixa resolução - 4 Lux

  • ADC - 16 bits

Tempo gasto para medições:

  • No modo de alta resolução - 120 ms

  • No modo de baixa resolução - 16 ms


Sensor de obstáculo

Eu escolhi esse sensor como o próximo a considerar, porque uma de suas opções funciona com base em um fotodiodo ou fototransistor, que são, em princípio, similares ao fotorresistor discutido na seção anterior.

Sensor de obstáculo

Seu nome é "sensor óptico de obstáculos". O principal elemento funcional é o fotodiodo e o LED que emite e recebe no espectro IR (portanto, não é visível ao olho humano, bem como um conjunto de limiares montado, por exemplo, em um comparador com um regulador de sensibilidade. Utilizando-o, a distância na qual o sensor é acionado é ajustada, pela maneira como é digital.

Exemplo de diagrama de conexão:

Exemplo de conexão

Um exemplo de um programa de processamento de sinal de um sensor.

Um exemplo de um programa de processamento de sinal de um sensor

Aqui, se a saída do sensor for “1”, o que significa “existe um obstáculo”, o LED na placa Arduino ou conectado ao 13º pino (a mesma coisa) acenderá. Utilizado com mais frequência em robótica e alarmes.

Usando sensores

Sensor de distância

A cópia anterior consiste em um receptor - um fotodiodo e um emissor - - um LED. O sensor de distância ultrassônico também consiste em um receptor e um emissor de ondas ultrassônicas. O nome dele é HC SR04.

Sensor de distância

Características HC SR04:

  • Tensão de alimentação 5V

  • O parâmetro operacional da força t oka - 15 mA

  • Corrente passiva <2 mA

  • Ângulo de visão - 15 °

  • Resolução de toque - 0,3 cm

  • Ângulo de medição - 30 °

  • Largura de pulso - 10-6 s

  • Faixa de medição: 2-400 cm.

O erro aparece devido a:

  • temperatura e umidade - pode ser reduzida medindo a temperatura com DHT-11 ou DHT-22, por exemplo, e inserindo coeficientes para corrigir as medições.

  • distância ao objeto;

  • a localização do objeto em relação ao sensor (de acordo com o diagrama de radiação) pode ser deslocada instalando HC SR04 no servoconversor para mudar de direção e fazer ajustes precisos.

  • qualidade de desempenho dos elementos do módulo sensor.

Padrão de radiação:

Padrão de radiação

A placa possui quatro saídas:

  • VCC - poder;

  • Trig - sinal de entrada;

  • Eco - sinal de saída;

  • GND é um fio comum.

Cabos do sensor HC SR04

Como processar leituras?

1. Enviamos um pulso com duração de 10 μs para a entrada TRIG;

2. Dentro do módulo, o pulso é convertido em um pacote de 8 pulsos que se seguem com uma frequência de 40 kHz e são enviados pelo emissor;

3. Os impulsos refletidos no obstáculo chegam ao receptor e são enviados para o ECHO;

4. A duração do pulso recebido da saída do ECHO deve ser dividida por 58,2 para obter a distância em centímetros e por 148 se você precisar converter para polegadas.

Código de exemplo:

Código de exemplo

Medir temperatura

A maneira mais fácil de medir a temperatura usando um microcontrolador é use um termopar ou termistor. Os termopares são usados ​​para medir altas temperaturas, internas e externas - o que falarei um pouco abaixo fará, mas, por enquanto, vejamos um termopar.

Sensor de temperatura

Cada tipo de termopar tem sua própria abordagem para trabalhar com um microcontrolador. Por exemplo, existe um termopar tipo K, ou como também é chamado - chromel-alumel, com uma faixa de temperaturas medidas de -200 a +1400 graus Celsius com uma sensibilidade de 41 mV / grau Celsius. E para ela existe um conversor especial baseado no max6675 IC, que tem uma função para compensar a temperatura da junção fria e assim por diante.

Módulo para medir temperatura

Você pode trabalhar com este módulo usando a biblioteca de mesmo nome para o Arduino. Na figura abaixo, você vê um exemplo de código de programa para este caso.

Código de exemplo

Em seguida, o seguinte é exibido no monitor da porta serial.

Monitor de porta serial

Mas também há um sensor de temperatura digital DS12B20, pode ser chamado de clássico, pois é usado há muitos anos em projetos amadores e muito antes do surgimento do Arduino.

Sensor de temperatura digital DS12B20

Este circuito integrado digital, seu dispositivo interno, é mostrado na figura abaixo:

Microcircuito para dispositivo interno

Diagrama de conexão da placa:

Diagrama de conexão da placa

Principais recursos e informações DS18b20:

  • O erro é menor que 0,5 ° C (na faixa de temperatura de -10 ° C a + 85 ° C).

  • Nenhuma calibração necessária

  • Faixa de medição - de -55 С a + 125С

  • VCC, tensão de alimentação 3.3-5V.

  • resolução de até 0,0625С, definida por software;

  • Resolução - 12 bits

  • Cada instância recebe um código serial exclusivo. Isso é necessário para usar facilmente várias peças em um projeto

  • Interface de comunicação - 1 fio

  • Não é necessário cintar

  • O número máximo de sensores em uma linha é de 127 peças.

  • Modo de energia espúria - nesse caso, o sensor é alimentado diretamente da linha de comunicação. Ao mesmo tempo, não é garantida uma medição de temperatura superior a 100 ° C

Abaixo, você vê a tabela de conversão do código binário de DS18b20 para temperatura em graus Celsius.

Tabela de conversão de código binário de DS18b20 para temperatura em graus Celsius

Exemplo de programa para leitura de valores de temperatura.

Exemplo de programa para leitura de valores de temperatura

Sensores de pressão atmosférica

Os barômetros eletrônicos são montados com base em sensores de pressão atmosférica. As seguintes opções foram amplamente utilizadas:

  • BMP180;

  • BMP280;

  • BME280.

Sensores de pressão atmosférica

Se as duas instâncias anteriores eram semelhantes, então Sensor BME280 - Esta é uma estação meteorológica em miniatura. 3 sensores são construídos nele:

  • Temperatura;

  • Pressão;

  • Umidade.

Suas características técnicas:

  • Dimensões 2,5 x 2,5 x 0,93 mm;

  • Caixa LGA metálica, equipada com 8 saídas;

  • Tensão de alimentação 1.7 - 3.6V;

  • Disponibilidade de interfaces I2C e SPI;

  • Consumo de corrente em espera 0,1 µA.

Estes exemplos são barômetros MEMS. MEMS significa microeletromecânica. Esta é uma microestrutura mecânica que utiliza fenômenos capacitivos e outros princípios para seu trabalho. Abaixo você vê um exemplo desse sensor no contexto.

Exemplo secional de um sensor

Exemplo de diagrama de conexão:

Exemplo de conexão

E um exemplo de código de programa:

Código de exemplo

A lógica do programa é simples:

1. Ligue para a leitura da sub-rotina (função) do sensor.

2. Solicitação de leituras do sensor de temperatura integrado no barômetro.

3. Estamos aguardando tempo para avaliar o sensor de temperatura;

4. Leia o resultado das medições de temperatura;

5. Solicitar valores de pressão;

6. Estamos aguardando o tempo de medição da pressão;

7. Leia o valor da pressão;

8. Retorne o valor da pressão da função.

Um fato interessante é que existem quatro opções para leitura de valores, elas são especificadas como um argumento na função startPressure, o segundo sinal é de 0 a 3, onde 0 é uma estimativa aproximada e 3 é uma estimativa exata.


Sensor de movimento

O sensor de movimento mais comum para o Arduino é Módulo do sensor HC SR501 IR. Uma característica deste módulo é que ele tem um ajuste da distância de resposta e do tempo de atraso do sinal de saída após a operação.

Sensor de movimento

Recursos do módulo:

1. Tensão de alimentação 4.5 - 20 V.

2. Corrente quieta ≈ 50 μA;

3. Tensão do sinal de saída (nível lógico): 3,3 V;

4. Faixa de temperatura de operação - de -15 ° C a 70 ° C;

5. Dimensões: 32 * 24 mm;

6. Campo de visão - 110 °;

7. Distância máxima de operação - de 3 a 7 m (ajustável); Acima de 30 ° C, essa distância pode diminuir.

Diagrama de fiação:

Diagrama de conexão do sensor de movimento

Como trabalhar com ele, consideramos em um artigo publicado anteriormente: Esquemas de sensores de movimento, o princípio de seu trabalho e diagramas de fiação


Sensor de nível de água

Projetado para indicar o nível de fluido.

Sensor de nível de água

Características

1. Tensão de alimentação 3-5V

2. Corrente de consumo> 20 mA

3. Analógico

4. Dimensões da zona de medição 40x16 mm

5. Humidade admissível 10% - 90%

Código de exemplo:

Código de exemplo

Os valores de saída são de 0 (no estado seco) a 685 (pode variar de fato, depende da condutividade da água). Não se esqueça da eletrólise, ao medir o nível de sal ou água dura, ela corroerá.


Sensor de vazamento

O módulo consiste em duas partes - o próprio sensor e o comparador, podem ser construídos no LM393, LM293 ou LM193.

Sensor de vazamento

Graças ao comparador, o sinal analógico é convertido em digital.

Diagrama de fiação:

Diagrama de fiação do sensor de vazamento

Pinagem da placa:

  • VCC - power, deve corresponder à potência da placa Apduino, na maioria dos casos é de 5V;

  • GND - fio comum;

  • AO é um sinal analógico;

  • DO é um sinal digital.

Há um resistor de sintonia na placa comparadora, que define a sensibilidade do sensor. Pode atuar como um sinal de chuva ou vazamento de algo e, quando emparelhado com um guindaste, pode funcionar como proteção contra vazamentos de dutos no apartamento:

Torneira de proteção contra vazamentos

O vídeo mostra como funciona:


Sensor de umidade

Comumente usado em projetos de rega automática, para determinar a umidade do solo, assim como a anterior, consiste em eletrodos e uma placa com um comparador.

Sensor de umidade

Pode funcionar nos modos analógico e digital. Um exemplo de um diagrama de conexão para um sistema de irrigação automática com um guindaste baseado em um motor:

O diagrama de conexão do sensor de umidade ao Arduino

E um exemplo de código de programa para processar um sinal digital de um sensor de umidade:

Exemplo de código para processar um sinal digital de um sensor de umidade
Sensor digital de temperatura e umidade AM2302

Conclusão

Examinamos sensores populares, mas também existem muitos outros. Estes são uma variedade de sensores de vibração, giroscópios, acelerômetros, sensores de radiação e muito mais.

O objetivo do artigo era coletar em um único local uma variedade de elementos que podem ser úteis para um engenheiro eletrônico iniciante na implementação de seus projetos. Se você estiver interessado em um sensor específico - escreva nos comentários e o consideraremos com mais detalhes.

Para sua conveniência, compilamos para você uma tabela com um custo estimado e uma lista de sensores populares para o Arduino, na ordem em que foram considerados no artigo:Sensores para Arduino

Os preços são obtidos em lojas on-line na Rússia ou na Ucrânia. Na China, eles custam 2 ou mais vezes mais barato.

Veja também em bgv.electricianexp.com:

  • Medindo temperatura e umidade no Arduino - uma seleção de métodos
  • Conectando sensores analógicos ao Arduino, sensores de leitura
  • Qual é a diferença entre sensores analógicos e digitais
  • Como o sensor de linha é organizado e funciona
  • Esquemas de sensores de movimento e o princípio de seu trabalho, diagramas de fiação

  •