Agora iremos montar um ANEMÔMETRO caseiro utilizando a ESP32 na nossa ESTAÇÃO METEREOLÓGICA.
MONTANDO O ANEMÔMETRO
💨💨💨💨💨💨💨💨
Itens necessários:
- 3 palitos de churrasco;
- Cartolina;
- Cola quente ou instantânea;
- Tesoura;
- 3 Jumpers fêmea/macho;
- 1 Jumper fêmea/fêmea;
- Sensor óptico reflexivo;
- 1 Tampa de garrafa PET ( ou uma roda de carrinho de brinquedo);
- Um rolamento pequeno (opcional);
- 6 copinhos descartáveis pequenos (copinho de café);
Passo 1 -
Cole os palitos de churrasco na tampa (ou rodinha). Centralize os mesmos
de forma que a base das pás (palitos) fiquem alinhados, como na imagem a seguir:
Passo 2 -
Cole os copinhos descartáveis na extremidade dos palitos de churrasco como na imagem a seguir:
Passo 3 - É preciso construir uma base para o sensor e para o eixo de sustentação do anemômetro. Você pode utilizar peças de LEGO, ou outro material como Isopor, por exemplo. Observe abaixo:
IMPORTANTE!!!
Em um dos palitos de churrasco, cole um pedaço de cartolina branca (1cm x 2cm) ele servirá de marcador para o nosso sensor óptico. Um "Conta Giro".💨💨💨
O esquema de LIGAÇÃO DO SENSOR deve ser como o da imagem a seguir:
👇👇👇👇👇👇👇👇
Agora chegou a hora de utilizar o CÓDIGO no ARDUINO IDE!!
Copie e cole o Código abaixo:
# define
Hall sensor 2 // pin 2 ESP32 ( Ao carregar o código, aperte o
botão boot)
//
Constants definitions
const
float pi = 3.14159265; //
Número pi
int
period = 1500; // Intervalo
de tempo analisado (milissegundos)
int
delaytime = 3000; // Tempo
entre as amostras (milissegundos)
int radius = 90;
// Radio from the center to end of CUP in mm
//
Definições de variáveis
unsigned
int Sample = 0; // Número da amostra
unsigned
int counter = 0; // contador magnético para o sensor
unsigned
int RPM = 0; // Rotações por
minuto
float
speedwind = 0; // Velocidade do
vento (m/s)
float
windspeed = 0; // Velocidade do
vento (km/h)
void setup()
{
// Set the
pins
pinMode(2,
INPUT);
digitalWrite(2, HIGH);
//Start serial
Serial.begin(9600); //
Monitor serial / velocidade
}
void loop()
{
Sample++;
Serial.print(Sample);
Serial.print(": Iniciando
medição...");
windvelocity();
Serial.println(" finalizada");
Serial.print("Contador: ");
Serial.print(counter);
Serial.print("; RPM:
");
RPMcalc();
Serial.print(RPM);
Serial.print("; Velocidade do vento: ");
//*****************************************************************
//print m/s
WindSpeed();
Serial.print(windspeed);
Serial.print(" [m/s] ");
//*****************************************************************
//print km/h
SpeedWind();
Serial.print(speedwind);
Serial.print(" [km/h] ");
Serial.println();
delay(delaytime); //delay between prints
}
//
Measure wind speed
void
windvelocity(){
speedwind = 0;
windspeed = 0;
counter = 0;
attachInterrupt(digitalPinToInterrupt(2),addcount, RISING);
unsigned long millis();
long startTime = millis();
while(millis() < startTime + period) {
}
}
void
RPMcalc(){
RPM=((counter)*60)/(period/1000); // Calculate revolutions per minute (RPM)
}
void
WindSpeed(){
windspeed = ((4 * pi * radius * RPM)/60) /
1000; // Calculate wind speed on m/s
}
void
SpeedWind(){
speedwind = (((4 * pi * radius * RPM)/60) /
1000)*3.6; // Calculate wind speed on
km/h
}
void
addcount(){
counter++;
}
Depois de inserir o código, você deve VERIFICAR e CARREGAR o no Arduino IDE. A EXECUÇÃO do código pode ser observada no monitor serial do próprio arduino.
Veja nas imagens a seguir:
PRONTO!!!! 👌👌
Terminamos a construção da nossa Estação Meterológica!
👇👇👇👇👇👇👇👇
👆👆👆👆👆👆👆👆
Espero que tenham curtido!!!!✌😎💥















Nenhum comentário:
Postar um comentário