Primeiro vídeo, ou seja, a introdução ao processo de como conectar motores DC em um Arduino e realizar a sua programação utilizando o Scratch For Arduino (S4A).
O
sensor é capaz de ler a resistência do solo em relação as hastes, quando o solo estiver seco, a resistência do solo
aumentara a resistência de passagem de corrente ente as hastes. Já quando estiver úmido, a resistência do solo diminuirá
a resistência de passagem de corrente. Esses valores podem ser
representados por sinais digitais lógicos, 1 = a seco e 0 = a
molhado. Ou ainda poderíamos utilizar a porta analógica definindo
um valor inteiro alto para o solo seco e um valor inteiro baixo para
o solo úmido. No exemplo, vou utilizar a porta analógica A0, o
monitor serial para expressar valores analógicos de 0 até
1023.
Especificação:
Tensão de Operação: 3,3-5v
Sensibilidade ajustável via potenciômetro
Saída Digital TTL (D0) e Analógica(A0)
Led indicador de detecção de umidade
Dimensões PCB: 30mm x 16mm
Dimensões Sonda: 60mm x 21mm
Comprimento Cabo: 20 cm
Hastes
Cabos dupont
Placa comparadora
A
placa comparadora é um pequeno módulo, composto por um chip
comparador LM393, responsável pelas leituras do sensor.
Definição de uma constante associada a porta analógica A0
do Arduino Uno, com o objetivo de receber dados da placa comparadora
do sensor de umidade de solo.
Declaração de um variável denominada leitura, com a função
armazenar o valor gerado pela placa controladora, de acordo com a
umidade do solo, detectado pelo sensor.
Na sessão setup(), a configuração da porta analógica A0
como entrada de dados (INPUT) e inicializamos a porta Serial
do Arduino.
Já em loop(), é realizado a leitura na porta analógica,
seus dados são armazenados na variável leitura e depois impressa
no monitor serial.
O sensor é projetado para detectar a presença de água, pode ser utilizado para identificar a presença de chuva, níveis de água e até vazamento de líquidos. O componente é composto de três partes: conectores de energia e comunicação, um resistor de 1MΩ e condutores responsáveis pela detecção da água.
Quando a água entra em contato com os condutores, acaba diminuindo o fluxo de tensão dos mesmos, sendo assim o dispositivo é capaz d avaliar o nível de água que cobrem os condutores e chegar ao um valor de tamanho.
O sensor possui baixo consumo de energia e uma alta sensibilidade, sendo compatível com controladores Arduino UNO, Mega 2560 e outros.
Especificações técnicas
Modelo:
K-0135
Tensão
de operação: DC5V
Tipo
de sensor: Analógico
Temperatura:
10ºC – 30ºC
Umidade
de operação: 10% ~ 90% sem condensação
Peso:
3g
Dimensões:
65mm x 20mm x 8mm
Montagem do circuito
O pino "S" de sinal foi conectado na porta analógica "A0", o pino "+" positivo é ligado no pino de 5V (VCC) e o pino "-" negativo conectado no pino "GND" do Arduino.
Programação no Arduino IDE
Após
a montagem do circuito eletrônico, vamos a programação do Arduino e do
sensor de Água e a utilização do monitor serial para exibir as leituras,
como mostra o vídeo abaixo:
Código Fonte
Concluindo assim a utilização de um sensor de água.
O DHT11 é um sensor de umidade e temperatura integrado em um só módulo, o sensor utiliza um termistor para medir a temperatura e um sensor capacitivo para medir a umidade do ambiente, possuí um controlador de 8 bits que converte o sinal de temperatura e umidade dos sensores e um sinal serial e envia ao Arduino através do pino de dados (Data). Pode medir temperaturas entre 0 a 50º Celsius com uma precisão de 2 graus, e umidade entre 20 a 90 % com uma precisão de 5%. Pinos do Sensor
O pino 1, responsável pela leitura de dados gerados pelo módulo, pode ser plugado em uma porta digital do Arduino, sendo que no exemplo utilizei a porta digital 8, no esquema, representado pelo jumper de cor azul, já o pino 2, responsável pela alimentação do módulo, é representado pelo jumper vermelho, deve ser conectado na alimentação de 5V (VCC) da placa. O pino 3, representado pelo jumper preto, deve ser conectado ao gnd do Arduino.
Vídeo da montagem:
Programação no Arduino IDE
Após a montagem do circuito eletrônico, vamos a programação do Arduino e do sensor DHT11 e a utilização do monitor serial para exibir as leituras, como mostra o vídeo abaixo:
No
terceiro post sobre Arduino, abordo a utilização de um LDR, um
resistor dependente da luminosidade do ambiente onde ele encontra-se,
sendo assim ele varia sua resistência de acordo com a intensidade da
luz. Neste exemplo de projeto, vamos utilizar esse componente
eletrônico com o objetivo de imprimir
o valor gerado pelo elemento, e exibi-lo no monitor serial do Arduino
IDE.
A montagem do circuito elétrico é bem simples, contamos um um resistor de 330 ohms (laranja, laranja, marrom e dourado), um ldr, matriz de contatos, Arduino e alguns jumpers (m/m). Neste caso eu utilizei um aplicativo para gerar o circuito.
Vídeo da montagem:
Código do sketch:
Conclusões finais:
Com a utilização do LDR podemos realizar várias atividades, como por exemplo, ligar uma lâmpada quando cair a luminosidade do ambiente, como funciona os postes de luz de vias públicas.
Objetivo: controlar um módulo sensor ultrassônico HC-SR04 com o Arduino UNO
Como
funciona o sensor: o dispositivo é baseado no envio (trigger) e
recebimento de ondas ultrassônicas de 40kHz, imperceptível ao ouvido humano, com esses dados é possível calcular a distância de objetos em relação ao sensor, para isso a placa
utiliza como referencia o tempo em que essa onda leva para atingir um
determinado obstáculo. O sensor possui uma margem de erro de 3mm,
podendo operar em distâncias de 2cm até 400cm.
O pino TRIGGER recebe um pulso de 5V por 10us(micro segundos - tempo de largura de pulso), inicializando o módulo, após isso são enviado 8 ciclos frequência específica do sensor, quando sensor detecta o retorno desses ciclos, passa o pino ECHO para "HIGH", sendo assim, o tempo em o echo ficar ligado, será a distância do objeto.
Para o exemplo, vou utilizar a biblioteca Ultrasonic.h, mas pode ser realizado sem o auxilio da mesma, sendo que o suporte a funções específicas, facilitam a implementação de projetos mais simples, que é o meu caso. Abaixo demonstro uma das várias maneiras de adicionar bibliotecas ao Arduino IDE.
Para exemplificar, utilizo o Fritzing, é uma ferramenta de código aberto utilizada design de hardwares eletrônicos, que me facilitou muito o aprendizado do Arduino, existe também opções online para esse tipo de tarefa. A imagem abaixo permite uma visualização básica de sua utilização.
Para montar o circuito, utilizo os seguintes componentes:
Placa Arduino Uno
Sensor Ultrassônico HC-SR04
Jumpers M/M
Matriz de contatos
Código básico:
1. Responsável pela inclusão da biblioteca Ultrasonic.h;
3. Instância um objeto com características de um sensor de distância, defino um nome e os respectivos pinos do Arduino;
6. Função setup(), configurações do projeto;
7. Configura o monitor serial da IDE;
12. Função loop(), ficará repetindo até que acabe a energia;
13. Definimos uma variável inteira, que recebera a distância em centímetros;
- ciência e técnica da concepção, construção e utilização de robôs.
O Arduino (https://www.arduino.cc/) é um hardware Livre, que proporciona a criação de projetos desde de brinquedos, criação de robôs e até processos de automação residenciais e industriais complexos, utilizando uma linguagem de programação semelhante (ou é a própria) C/C++.
O meu objetivo é compartilhar conhecimento, além de trocar experiências e aprender, esse sim é o meu maior objetivo neste canal com o o Mundo da internet.
Neste primeiro exemplo, vou utilizar o famoso "Hello World", ou seja, o "Olá Mundo" da programação de computadores, sabendo que no mundo do Arduino, vamos trabalhar com vários outros meios de comunicação, como por exemplo, um LED (Diodo Emissor de Luz), isso, vamos trabalhar com componentes eletrônicos também. Então o nosso primeiro exemplo prático, será ligar e desligar um led da placa Arduino Uno, e ao mesmo tempo vamos descobrindo os componentes de hardware da placa.
No Uno, podemos utilizar o Led 13 (Led_builtin), pois ele é está vinculado ao pino digital 13 da placa controladora, ele será o configurado como um meio de saída, ou seja, ele emitirá luz em determinado espaço de tempo.
Para conectar o Arduino ao computador devemos utilizar o cabo USB que normalmente vem junto com a placa, baixar o aplicativo Arduino IDE e realizar a devidas configurações que o seu sistema operacional necessitar.
Vamos ao exemplo: abrir o aplicativo Arduino IDE e digitar o seguinte código.
void setup() { pinMode(13, OUTPUT); }
void loop() { digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
Uma breve descrição do código, para que possamos entender a mecânica do procedimento, a função "void setup" determina como as coisas vão funcionar, ela é executada quando ligamos ou reiniciamos a placa, no caso da linha "pinMode" é a instrução responsável por definir se o pino em questão enviará ou receberá uma tensão elétrica. No exemplo, o número 13 representa led interno da placa e "OUTPUT" define que o mesmo será de saída, ou seja, receberá uma tensão de 5V para emitir luz.
Já a função "void loop" será executada até que a placa seja desligada ou a sua fonte de energia acabe. A função "digitalWrite" define se um pino está ou mão recebendo energia, sendo representado pelas palavras "HIGH" e "LOW", sendo a primeira "ALTA - energizado e a segunda BAIXA - sem energia". No caso a função "delay(1000)" é um temporizador que define quando tempo um determinado comando ou ação deverá ser executado ou aguardado, neste caso o valor está em milissegundos, ou seja, 1 segundo equivale a 1000 milissegundos.
Para concluir então, o led ficará ligado por um segundo e depois desligará, aguardará por um segundo e ligará novamente, até que a placa seja desligada.
Agora basta salvar o sketch e carregar o código para a memória da placa.
Testes:
Uma alternativa para que não se adapta muito com códigos, é o Ardublock - linguagem de programação gráfica para Arduino, neste caso é necessário baixar o pacote ardublock-all.jar e agregá-lo ao Arduino IDE. Após a configuração do recurso, basta ir até o menu Ferramentas\ArduBlock:
ArduBlock
Processo de download do ArduBlockTool (ardublock-all.jar) e configuração no Arduino IDE.
Exemplo01: piscar o Led_buildin do Arduino Uno utilizando o Ardublock.
Espero que a publicação tenha de alguma forma, ajudado ou até mesmo incentivado a utilização dessa tecnologia, também é uma forma que eu achei de mostrar que eu estou aprendendo. Espero receber dicas e informações para melhorar meus conhecimentos.