Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
As pessoas tendem a ser nostálgicas sobre hobbies que são importantes para elas, como caminhadas.
Mas como você guarda a memória de uma caminhada?
As fotos são uma opção, sim. Este dispositivo permitiria outra opção de arquivo de dados da viagem. A pessoa teria um gráfico traçando o tempo que a caminhada levou em comparação com a altitude que percorreu. Além disso, informaria a eles a pressão máxima, mínima e média a que foram expostos ao longo da caminhada.
Ele usa o sensor de altitude e pressão da Internet das Coisas para monitorar e registrar dados sobre a caminhada. O MATLAB é então usado para analisar os dados para gerar leituras de pressão das teclas e um gráfico de tempo x altitude.
Etapa 1: peças e materiais
Sparkfun ESP8266
Sensor de altitude / pressão compatível
Fios
Cabo USB para micro-USB
Conta ThingSpeak
Software Arduino
Software MATLAB e caixa de ferramentas ThingSpeak
Etapa 2: Configurando o software
Crie a sua conta aqui
Crie um "Novo Canal"
Rotular Campo 1 como Altitude e Campo 2 como Pressão
Salvar canal
Vá para "Compartilhamento" e selecione "Compartilhar visualização do canal com todos"
Cole o código de [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] no Arduino
Alterar rede WiFi "ssid" e senha
Altere "streamID" e "privateKey" para corresponder às chaves API no ThingSpeak
Etapa 3: Configurando o Hardware
Hardware do fio de acordo com a imagem acima
Conecte o USB ao laptop e ESP8266
Etapa 4: Conectando-se ao seu dispositivo
Procure e gire o pequeno interruptor preto no ESP8266 para ligá-lo
Clique na seta voltada para a direita no canto superior esquerdo do programa Arduino para fazer o upload do código (isso pode levar alguns minutos)
Agora, as leituras do sensor devem enviar dados para o site ThingSpeak, que é representado graficamente
Etapa 5: codificação MATLAB
Copie o seguinte código para a função "microcontroller_project" no MATLAB
Altere o texto em negrito para caber no canal ThingSpeak específico
(O "90" em negrito refere-se aos minutos de dados levados em consideração do canal. Altere isso manualmente de acordo com há quanto tempo o canal está funcionando.)
Chame a função digitando "microcontroller_project" na janela de comando
Código:
função [gráfico Pressures_Pa] = microcontroller_project () data = thingSpeakRead (364102, 'Fields', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'table');
readChannelID = 364102;
readAPIKey = 'U9AJ9S68KVNYQKQV';
altitudefieldID = 1;
ID do campo de pressão = 2;
writeChannelID = 364102;
writeAPIKey = '6H8W3UNH6HMT1TCZ';
para i = 1: max (tamanho (dados))
carimbo de data / hora = dados (i, 1);
time_cell_array = table2cell (timestamp);
time_string_array = datestr (time_cell_array {1, 1});
hora = str2num (time_string_array (13:14));
minuto = str2num (time_string_array (16:17));
segundo = str2num (time_string_array (19:20));
tempo (i) = 3600. * hora + 60. * minuto + segundo;
fim
alt = dados (:, 2);
alt2 = table2cell (alt);
altitude = transpor (cell2mat (alt2));
p = dados (:, 3);
pressão = cell2mat (table2cell (p));
plot (tempo, altitude)
title ('Dados da trilha de caminhada: tempo vs. altitude')
xlabel ('Tempo (seg)')
ylabel ('Altitude (ft)')
str = data; legenda (str)
Pressures_Pa.max = max (pressão)
Pressures_Pa.min = min (pressão)
Pressures_Pa.avg = média (pressão)
fim