A plataforma Arduino é uma das melhores para construir diversos sistemas automatizados. Além disso, muitas universidades e faculdades usam o Arduino para apresentar aos alunos o campo da robótica. De fato, o Arduino é uma plataforma muito leve, mas ao mesmo tempo poderosa para a construção de vários robôs e sistemas inteligentes. E, claro, para que tudo leve menos tempo, são vendidos sensores prontos. Há um grande número deles nas lojas, por isso é muito difícil ficar confuso na hora de escolher o certo. Neste artigo, veremos alguns dos principais sensores do Arduino e como eles funcionam.
Onde comprar
O fato é que os sensores em nossas lojas custam muito dinheiro. E se você vai começar a explorar a plataforma Arduino, só precisa saber onde pode comprá-los a um preço baixo. A resposta é simples - lojas chinesas. Poderia serAliexpress, Joom, Pandao e outros. Quase todas as lojas compram sensores lá e os vendem com uma margem enorme, que chega a 300%. Obviamente, você terá que esperar algum tempo e não poderá ter certeza da qualidade das mercadorias, mas pagar três vezes mais pelo mesmo sensor também não vale a pena. Exemplo: Aliexpress tem um conjunto de 36 sensores que custa 800 rublos. O mesmo conjunto é vendido em uma loja russa por 3,5 mil rublos. Então é com você.
Servo drive
Servo drive é usado no projeto de robôs e vários sistemas inteligentes. Com a ajuda de um servo, você pode abrir portas, descobrir o grau de rotação e muito mais. Mas principalmente é usado na criação de robôs. O ângulo máximo de rotação do servo: 180 graus. Mas às vezes nos espaços abertos do Aliexpress você também pode ver opções com um ângulo de rotação de 360 graus. Este é um elemento bastante básico, quase todas as lições sobre Arduino com sensores começam com ele. O servo é fácil de conectar, o código de controle é muito simples.
Para conectar o servo, apenas três fios são usados: terra, potência, lógica. O fio de sinal (geralmente amarelo ou marrom) é conectado a qualquer pino habilitado para PWM (pulse wide modulation) no Arduino.
Exemplo de código:
include // inclui a biblioteca para trabalhar com Servo servo1; // declara uma variável servo do tipo "servo1" void setup() // procedimento setup { servo1.attach(11); //vincular servo à saída analógica 11 } void loop() // loop de procedimento { servo1.write(0); // define o ângulo de rotação para 0 delay(2000); // espera 2 segundos servo1.write(90); // define o ângulo de rotação para 90 delay(2000); // espera 2 segundos servo1.write(180); // define o ângulo de rotação para 180 delay(2000); // espera 2 segundos }
Primeiro, adicionamos ao código a biblioteca que já está no Arduino, depois indicamos em qual pino o servo está conectado. Como você pode ver, trabalhar com um servo é realmente muito simples, o controle é apenas um operador.
Preço no Aliexpress: 80–100 rublos.
DHT-11
DHT-11 é usado para medir temperatura e umidade. Este sensor de temperatura para Arduino é o mais popular por causa de seu preço e recursos. Mede temperatura na faixa de 0 a 50 graus e umidade de 20 a 80%. Também está à venda outra versão deste sensor, o DHT-22, ele possui uma faixa de medição maior, mas também custa várias vezes mais. Para projetos simples, seu uso não é aconselhável, por isso todos preferem o DHT-11, que faz um excelente trabalho de medição. A alimentação pode ser fornecida de 3,3 a 5V. Em geral, o próprio sensor possui 4 pinos de conexão, mas existem módulos DHT-11 à venda, é muito mais conveniente trabalhar com eles, pois a conexão é através de 3 pinos e você não precisa sofrer com resistores.
Conexão. Este sensor de temperatura é conectado ao Arduino usando três contatos: terra, energia e lógica.
Exemplo de código:
incluir"DHT.h" define DHTPIN 2 // Mesmo número de pino mencionado acima DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { delay(2000); // 2 segundos de atraso float h=dht.readHumidity(); //Medir umidade float t=dht.readTemperature(); //Mede a temperatura if (isnan(h) || isnan(t)) { // Verifica. Se a leitura falhar, "Read Failed" é impresso e o programa sai Serial.println("Read Failed"); Retorna; } Serial.print("Umidade: "); Impressão serial(h); Serial.print("%\t"); Serial.print("Temperatura: "); Impressão serial(t); Serial.println("C"); //Exibindo indicadores na tela }
No início, como ao trabalhar com um servo, a biblioteca está conectada. A propósito, sobre a biblioteca. Inicialmente, não está no pacote Arduino, esta biblioteca precisa ser baixada. Existem várias versões desta biblioteca, em nosso exemplo a mais padrão é usada. Tenha cuidado ao baixar, pois a sintaxe pode ser diferente e o código não funcionará. Além disso, também está escrito em qual contato o sensor está conectado e sua versão (DHT11 ou DHT22). Assim como com um servo, trabalhar com este sensor para Arduino é muito fácil, usando apenas alguns operadores. A propósito, muitas vezes o servo e o dht11 trabalham juntos, por exemplo, ao criar janelas automáticas que serão abertas se a sala ou a estufa estiverem muito quentes.
Preço no Aliexpress: 80–100 rublos.
Sensor de umidade do solo
Este sensor é usado quandoprojeto de irrigação automática. Com ele, você pode medir a umidade do solo, processar esses dados e, se necessário, regar a planta. Existem muitas variantes deste sensor para Arduino à venda, mas o modelo FC-28 é popular. Uma opção bastante econômica, então todo mundo adora e usa em seus projetos. O sensor tem duas sondas que conduzem eletricidade através do solo. Com solo seco, a resistência é maior, e com solo úmido, menor. Basicamente, esse sensor é usado apenas em pequenos projetos, isso se deve ao fato de as sondas serem feitas de material ruim e, mais cedo ou mais tarde, durante o trabalho ativo, elas se corroem, após o que o sensor para de funcionar. A vida útil do sensor pode ser aumentada ativando-o apenas ao coletar dados do solo, por exemplo, uma vez a cada 6 horas. Alguns artesãos até trocam as sondas por outras melhores, feitas por eles mesmos, ou até montam um sensor de umidade para Arduino do zero.
Conectar o sensor de umidade do solo é bastante simples. Normalmente vem com um potenciômetro e um comparador para controlar a sensibilidade do sensor. No total, possui três contatos: lógica, potência e terra. Pode ser conectado a contatos digitais e analógicos. A propósito, é mais conveniente trabalhar no modo analógico.
Exemplo de código:
int sensor_pin=A0; int valor_saída; void setup() { Serial.begin(9600); Serial.println("Lendo dados do sensor"); atraso(2000); } void loop() { output_value=analogRead(sensor_pin);valor_saída=map(valor_saída, 550, 0, 0, 100); Serial.print("Umidade: "); Serial.print(valor_saída); Serial.println("%"); atraso(1000); }
Primeiro de tudo, determinamos os contatos aos quais o sensor está conectado ao Arduino. Em seguida, lemos os dados dele e os exibimos. Tal como acontece com outros sensores, o FC-28 é fácil de trabalhar. E tudo graças a bibliotecas e sensores prontos.
Preço no Aliexpress: 30–50 rublos.
sensor PIR
Este sensor de movimento para Arduino é utilizado na construção de diversos sistemas de segurança. Detecta elementos móveis de 0 a 7 metros. Não vamos considerar o princípio de operação, vamos passar para conectar este sensor ao Arduino.
A julgar pelos comentários, também é conectado usando três contatos: lógica, energia e terra. Funciona através de saídas digitais.
Exemplo de código:
define PIN_PIR 2 define PIN_LED 13 void setup() { Serial.begin(9600); pinMode(PIN_PIR, ENTRADA); pinMode(PIN_LED, SAÍDA); } void loop() { int pirVal=digitalRead(PIN_PIR); Serial.println(digitalRead(PIN_PIR)); //Se for detectado movimento if (pirVal) { digitalWrite(PIN_LED, HIGH); Serial.println("Movimento detectado"); atraso(2000); } else { //Serial.print("Sem movimento"); digitalWrite(PIN_LED, BAIXO); } }
Determinamos os contatos aos quais o sensor está conectado, após o que verificamos o movimento. Trabalhar com ele é muito conveniente e fácil, mas há casos de falsos positivos.
Preço paraAliexpress: 30-50 rublos.
tirando conclusões
Acima, foram considerados os principais sensores para Arduino, que são os primeiros a serem estudados por radioamadores iniciantes. Como você pode ver, eles são bastante baratos, se conectam facilmente e a leitura de dados leva apenas algumas linhas. Além deles, ainda há um grande número de outros sensores, mesmo para medir o pulso! É mais lucrativo comprá-los no Aliexpress em conjuntos, para que custem ainda mais barato. É fácil de criar, o principal é lembrar as três regras básicas da robótica!