fixes
This commit is contained in:
parent
940d2351e8
commit
27831abbd3
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,5 +1,6 @@
|
||||||
using AgroBase.Forms;
|
using AgroBase.Forms;
|
||||||
using AgroBase.Services;
|
using AgroBase.Services;
|
||||||
|
using Emgu.CV.ML;
|
||||||
using Emgu.CV.Structure;
|
using Emgu.CV.Structure;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -539,6 +540,34 @@ namespace AgroBase.Models.Modules
|
||||||
|
|
||||||
Variaveis.OperacaoEmAndamento.Sensoriamento.AnguloCarroBussola = angulo;
|
Variaveis.OperacaoEmAndamento.Sensoriamento.AnguloCarroBussola = angulo;
|
||||||
|
|
||||||
|
|
||||||
|
Console.WriteLine("x: " + x + ", y: " + y + ", z: " + z);
|
||||||
|
|
||||||
|
// Calcula o ângulo em radianos usando Math.Atan2(z, x)
|
||||||
|
double angleRad = Math.Atan2(z, x);
|
||||||
|
|
||||||
|
// Converte o ângulo de radianos para graus
|
||||||
|
double angleDeg = angleRad * (180 / Math.PI);
|
||||||
|
|
||||||
|
// Ajusta o ângulo para estar entre 0 e 360 graus
|
||||||
|
if (angleDeg < 0)
|
||||||
|
{
|
||||||
|
angleDeg += 360;
|
||||||
|
}
|
||||||
|
Console.WriteLine("xz: " + angleDeg);
|
||||||
|
|
||||||
|
double angleRad2 = Math.Atan2(y, x);
|
||||||
|
|
||||||
|
// Converte o ângulo de radianos para graus
|
||||||
|
double angleDeg2 = angleRad2 * (180 / Math.PI);
|
||||||
|
|
||||||
|
// Ajusta o ângulo para estar entre 0 e 360 graus
|
||||||
|
if (angleDeg2 < 0)
|
||||||
|
{
|
||||||
|
angleDeg2 += 360;
|
||||||
|
}
|
||||||
|
Console.WriteLine("xy: " + angleDeg2);
|
||||||
|
|
||||||
AtualizaGrafico = true;
|
AtualizaGrafico = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
||||||
|
[{"Momento":"2024-05-07T15:03:24.0754304-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":130.0733310470406,"AnguloCarroBussola":0.0,"AnguloCarro":130.0733310470406,"SonarFrontal":null},{"Momento":"2024-05-07T15:03:28.8724617-03:00","VelocidadeMedia":0.055,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[1.5159836441025689],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":41.402606415230593,"AnguloCarroBussola":0.0,"AnguloCarro":41.402606415230593,"SonarFrontal":null},{"Momento":"2024-05-07T15:03:33.8868472-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[2.8395621033797918],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":145.82708321395091,"AnguloCarroBussola":0.0,"AnguloCarro":145.82708321395091,"SonarFrontal":null},{"Momento":"2024-05-07T15:03:38.886932-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[7.5533992949426789],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":165.57818474637634,"AnguloCarroBussola":0.0,"AnguloCarro":165.57818474637634,"SonarFrontal":null},{"Momento":"2024-05-07T15:03:43.8979192-03:00","VelocidadeMedia":0.03,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[9.1535074923871509],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":44.527629629184787,"AnguloCarroBussola":0.0,"AnguloCarro":44.527629629184787,"SonarFrontal":null},{"Momento":"2024-05-07T15:03:48.9469204-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[10.997372504326716],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":177.05573200896538,"AnguloCarroBussola":0.0,"AnguloCarro":177.05573200896538,"SonarFrontal":null},{"Momento":"2024-05-07T15:03:53.9059201-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[15.357085247674101],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":287.15120341137487,"AnguloCarroBussola":0.0,"AnguloCarro":287.15120341137487,"SonarFrontal":null},{"Momento":"2024-05-07T15:03:58.8953487-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[16.093005713272017],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":300.27951033696468,"AnguloCarroBussola":0.0,"AnguloCarro":300.27951033696468,"SonarFrontal":null},{"Momento":"2024-05-07T15:04:03.8999344-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[16.093005713272017],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":300.27951033696468,"AnguloCarroBussola":0.0,"AnguloCarro":300.27951033696468,"SonarFrontal":null},{"Momento":"2024-05-07T15:04:08.8873012-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[16.093005713272017],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":300.27951033696468,"AnguloCarroBussola":0.0,"AnguloCarro":300.27951033696468,"SonarFrontal":null},{"Momento":"2024-05-07T15:04:13.8925877-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[16.093005713272017],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":300.27951033696468,"AnguloCarroBussola":0.0,"AnguloCarro":300.27951033696468,"SonarFrontal":null},{"Momento":"2024-05-07T15:04:18.8902042-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[16.093005713272017],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":300.27951033696468,"AnguloCarroBussola":0.0,"AnguloCarro":300.27951033696468,"SonarFrontal":null},{"Momento":"2024-05-07T15:04:19.2209745-03:00","VelocidadeMedia":0.0,"PorcentagemBateria":0.0,"BateriaConsumida":0.0,"DistanciaPercorrida":[16.093005713272017],"DistanciaEsquerda":0.0,"DistanciaDireita":0.0,"AnguloCarroGPS":300.27951033696468,"AnguloCarroBussola":0.0,"AnguloCarro":300.27951033696468,"SonarFrontal":null}]
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
||||||
|
[]
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
||||||
|
[]
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
||||||
|
[]
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
||||||
|
[]
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
||||||
|
[]
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
||||||
|
[]
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
<meta name="viewport" content="width=device-width,
|
<meta name="viewport" content="width=device-width,
|
||||||
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||||
<style>
|
<style>
|
||||||
#map_6227825fcfe3138a1083ba65f3196abb {
|
#map_53919f79def30ee03668a0e43878c433 {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100.0%;
|
width: 100.0%;
|
||||||
height: 100.0%;
|
height: 100.0%;
|
||||||
|
|
@ -39,14 +39,14 @@
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|
||||||
<div class="folium-map" id="map_6227825fcfe3138a1083ba65f3196abb" ></div>
|
<div class="folium-map" id="map_53919f79def30ee03668a0e43878c433" ></div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
|
||||||
var map_6227825fcfe3138a1083ba65f3196abb = L.map(
|
var map_53919f79def30ee03668a0e43878c433 = L.map(
|
||||||
"map_6227825fcfe3138a1083ba65f3196abb",
|
"map_53919f79def30ee03668a0e43878c433",
|
||||||
{
|
{
|
||||||
center: [0.0, 0.0],
|
center: [0.0, 0.0],
|
||||||
crs: L.CRS.EPSG3857,
|
crs: L.CRS.EPSG3857,
|
||||||
|
|
@ -60,13 +60,13 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var tile_layer_8562fa9f4e23ecf0bdee06bb23fe1d3f = L.tileLayer(
|
var tile_layer_8c56bc42fc2c45759a346328e3be129b = L.tileLayer(
|
||||||
"https://tile.openstreetmap.org/{z}/{x}/{y}.png",
|
"https://tile.openstreetmap.org/{z}/{x}/{y}.png",
|
||||||
{"attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors", "detectRetina": false, "maxNativeZoom": 19, "maxZoom": 19, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}
|
{"attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors", "detectRetina": false, "maxNativeZoom": 19, "maxZoom": 19, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
tile_layer_8562fa9f4e23ecf0bdee06bb23fe1d3f.addTo(map_6227825fcfe3138a1083ba65f3196abb);
|
tile_layer_8c56bc42fc2c45759a346328e3be129b.addTo(map_53919f79def30ee03668a0e43878c433);
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
@ -87,7 +87,7 @@
|
||||||
}
|
}
|
||||||
trajeto_json_add({"features": []});
|
trajeto_json_add({"features": []});
|
||||||
|
|
||||||
trajeto_json.addTo(map_6227825fcfe3138a1083ba65f3196abb);
|
trajeto_json.addTo(map_53919f79def30ee03668a0e43878c433);
|
||||||
|
|
||||||
function adicionarGeometria(novaGeometria) {
|
function adicionarGeometria(novaGeometria) {
|
||||||
trajeto_json.addData(novaGeometria);
|
trajeto_json.addData(novaGeometria);
|
||||||
|
|
@ -145,7 +145,7 @@
|
||||||
|
|
||||||
var marcadorDinamico = L.marker([0, 0], {
|
var marcadorDinamico = L.marker([0, 0], {
|
||||||
icon: customIcon
|
icon: customIcon
|
||||||
}).addTo(map_6227825fcfe3138a1083ba65f3196abb);
|
}).addTo(map_53919f79def30ee03668a0e43878c433);
|
||||||
|
|
||||||
// Conectar ao broker MQTT
|
// Conectar ao broker MQTT
|
||||||
const client = mqtt.connect('ws://localhost:9001'); // Use wss para conexão segura
|
const client = mqtt.connect('ws://localhost:9001'); // Use wss para conexão segura
|
||||||
|
|
@ -184,7 +184,7 @@
|
||||||
marcadorDinamico.setRotationAngle(angulo);
|
marcadorDinamico.setRotationAngle(angulo);
|
||||||
|
|
||||||
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
|
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
|
||||||
map_6227825fcfe3138a1083ba65f3196abb.setView(novaPosicao, map_6227825fcfe3138a1083ba65f3196abb.getZoom());
|
map_53919f79def30ee03668a0e43878c433.setView(novaPosicao, map_53919f79def30ee03668a0e43878c433.getZoom());
|
||||||
});
|
});
|
||||||
|
|
||||||
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {
|
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"Conectado":false,"QuantidadeBicos":4,"DensidadeHerbicida":1.05,"CapacidadeReservatorio":30.0,"AtuacaoNivelAlto":true,"BicosPulverizadores":[{"ID":"B01","Posicao":1,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":34.42987713140743},{"ID":"B02","Posicao":2,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":14.876485059544191},{"ID":"B03","Posicao":3,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":18.103588945512129},{"ID":"B04","Posicao":4,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":18.437319738098896},{"ID":"B05","Posicao":5,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B06","Posicao":6,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B07","Posicao":7,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B08","Posicao":8,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B09","Posicao":9,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B10","Posicao":10,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0}],"BombaPressurizadora":{"ID":"BOMBA","BombaAtuada":false,"Ligado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[14,35,36,37,5],"PressaoSP":85.0,"Pressao":82.01,"Potencia":0.0},"Sensores":[{"LogGrafico":[],"ID":"FLXLN","Prioridade":23,"Descricao":"Fluxo na linha principal","Componente":198,"Aferir":true,"DelayAmostragem":300,"Inicializado":false,"Testando":false,"Funcoes":[25],"Parametros":[],"UnidadeMedida":"mL/s","Leituras":[0.0,0.0],"ValorMinimo":0.0,"ValorMaximo":25222.0,"LimiteMaximo":0.0,"LimiteMinimo":0.0},{"LogGrafico":[],"ID":"MASRS","Prioridade":3,"Descricao":"Massa do reservatório de herbicida","Componente":532,"Aferir":true,"DelayAmostragem":1000,"Inicializado":false,"Testando":false,"Funcoes":[22,23],"Parametros":[],"UnidadeMedida":"Kg","Leituras":[1117263.12],"ValorMinimo":-1.281631101976581E+32,"ValorMaximo":2.8836731440342142E+24,"LimiteMaximo":50.0,"LimiteMinimo":5.0},{"LogGrafico":[],"ID":"PRSLN","Prioridade":3,"Descricao":"Pressão na linha principal","Componente":333,"Aferir":true,"DelayAmostragem":1000,"Inicializado":false,"Testando":false,"Funcoes":[24],"Parametros":[["Vmin","000.00"],["Vmax","004.50"],["Pmax","174.04"]],"UnidadeMedida":"psi","Leituras":[82.01],"ValorMinimo":0.0,"ValorMaximo":127.63,"LimiteMaximo":120.0,"LimiteMinimo":60.0}],"PercentualInicioPulverizacao":0.3,"ScriptDeteccaoErvas":"weed-detector-v7.py","_MassaRef":0.8,"_MassaLeituraRef":40876.37,"_MassaLeituraExtra":1895800.0,"_MassaLeitura":1117263.12,"MassaReservatorio":15.236908365395459,"VolumeReservatorio":14.511341300376627,"PercentualReservatorio":48.371137667922085,"VolumeVazaoAferido":102.0,"_FluxoMlRef":102.0,"_FluxoPulsoRef":80.0,"_LeituraPulsos":0,"_LeituraPeriodo":0,"VazaoFluxoMLpS":0.0,"VolumeVazaoML":0.0,"_PressaoVmin":0.0,"_PressaoVmax":4.5,"_PressaoMax":174.045,"_LeituraPressao":2631.0,"PressaoLinha":82.01,"PressaoLinhaCalc":82.0030336996337}
|
{"Conectado":false,"QuantidadeBicos":4,"DensidadeHerbicida":1.05,"CapacidadeReservatorio":30.0,"AtuacaoNivelAlto":true,"BicosPulverizadores":[{"ID":"B01","Posicao":1,"Atuado":true,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":34.42987713140743},{"ID":"B02","Posicao":2,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":14.876485059544191},{"ID":"B03","Posicao":3,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":18.103588945512129},{"ID":"B04","Posicao":4,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":18.437319738098896},{"ID":"B05","Posicao":5,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B06","Posicao":6,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B07","Posicao":7,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B08","Posicao":8,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B09","Posicao":9,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B10","Posicao":10,"Atuado":false,"Comandar":false,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0}],"BombaPressurizadora":{"ID":"BOMBA","BombaAtuada":false,"Ligado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[14,35,36,37,5],"PressaoSP":85.0,"Pressao":82.01,"Potencia":0.0},"Sensores":[{"LogGrafico":[],"ID":"FLXLN","Prioridade":23,"Descricao":"Fluxo na linha principal","Componente":198,"Aferir":true,"DelayAmostragem":300,"Inicializado":false,"Testando":false,"Funcoes":[25],"Parametros":[],"UnidadeMedida":"mL/s","Leituras":[0.0,0.0],"ValorMinimo":0.0,"ValorMaximo":25222.0,"LimiteMaximo":0.0,"LimiteMinimo":0.0},{"LogGrafico":[],"ID":"MASRS","Prioridade":3,"Descricao":"Massa do reservatório de herbicida","Componente":532,"Aferir":true,"DelayAmostragem":1000,"Inicializado":false,"Testando":false,"Funcoes":[22,23],"Parametros":[],"UnidadeMedida":"Kg","Leituras":[1117263.12],"ValorMinimo":-1.281631101976581E+32,"ValorMaximo":2.8836731440342142E+24,"LimiteMaximo":50.0,"LimiteMinimo":5.0},{"LogGrafico":[],"ID":"PRSLN","Prioridade":3,"Descricao":"Pressão na linha principal","Componente":333,"Aferir":true,"DelayAmostragem":1000,"Inicializado":false,"Testando":false,"Funcoes":[24],"Parametros":[["Vmin","000.00"],["Vmax","004.50"],["Pmax","174.04"]],"UnidadeMedida":"psi","Leituras":[82.01],"ValorMinimo":0.0,"ValorMaximo":127.63,"LimiteMaximo":120.0,"LimiteMinimo":60.0}],"PercentualInicioPulverizacao":0.3,"ScriptDeteccaoErvas":"weed-detector-v7.py","_MassaRef":0.8,"_MassaLeituraRef":40876.37,"_MassaLeituraExtra":1895800.0,"_MassaLeitura":1117263.12,"MassaReservatorio":15.236908365395459,"VolumeReservatorio":14.511341300376627,"PercentualReservatorio":48.371137667922085,"VolumeVazaoAferido":102.0,"_FluxoMlRef":102.0,"_FluxoPulsoRef":80.0,"_LeituraPulsos":0,"_LeituraPeriodo":0,"VazaoFluxoMLpS":0.0,"VolumeVazaoML":0.0,"_PressaoVmin":0.0,"_PressaoVmax":4.5,"_PressaoMax":174.045,"_LeituraPressao":2631.0,"PressaoLinha":82.01,"PressaoLinhaCalc":82.0030336996337}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -290,6 +290,8 @@ class Motor {
|
||||||
GrausPino = (_AgRef < 0 ? -1.0 : 1.0) * _AgRef;
|
GrausPino = (_AgRef < 0 ? -1.0 : 1.0) * _AgRef;
|
||||||
Referenciado = true;
|
Referenciado = true;
|
||||||
*evento = false;
|
*evento = false;
|
||||||
|
|
||||||
|
_Angulo = CalculaAnguloPino(anguloReferencia, *estadoAtual);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -360,41 +362,49 @@ class Motor {
|
||||||
|
|
||||||
void ReferenciarMotor() {
|
void ReferenciarMotor() {
|
||||||
int AgP1 = RefMax / 2;
|
int AgP1 = RefMax / 2;
|
||||||
|
int AgP2 = RefMax;
|
||||||
|
|
||||||
// Verifica se o motor já está na posição de referência (dentro da margem de 0º).
|
|
||||||
if (Referenciado && (_Angulo >= -_Margem && _Angulo <= _Margem)) {
|
if (Referenciado && (_Angulo >= -_Margem && _Angulo <= _Margem)) {
|
||||||
Referenciando = false;
|
Referenciando = false;
|
||||||
_MotorLigado = false;
|
_MotorLigado = false;
|
||||||
} else {
|
}
|
||||||
// Inicia o processo de referenciamento se o motor está parado.
|
else {
|
||||||
if (_Sentido_SP == Parado) {
|
if (_Sentido_SP == Parado && _Angulo == 0) {
|
||||||
_Angulo_SP = AgP1;
|
_Angulo_SP = AgP1;
|
||||||
_Sentido_SP = Horario;
|
_Sentido_SP = Horario;
|
||||||
}
|
}
|
||||||
// Verifica se o motor excedeu a margem de referência enquanto se move no sentido horário.
|
else if (_Sentido_SP == Horario) {
|
||||||
else if (_Sentido_SP == Horario && _Angulo > _Margem) {
|
if (_Angulo > _Margem && Referenciado) {
|
||||||
_Angulo_SP = -AgP1; // Muda para antihorário para tentar encontrar o ponto de referência.
|
_Angulo_SP = AgP1;
|
||||||
_Sentido_SP = Antihorario;
|
_Sentido_SP = Antihorario;
|
||||||
|
}
|
||||||
|
else if (_Angulo >= AgP1) {
|
||||||
|
_Angulo_SP = AgP1;
|
||||||
|
_Sentido_SP = Antihorario;
|
||||||
|
}
|
||||||
|
else if (_Angulo >= RefMax) {
|
||||||
|
_Angulo_SP = AgP2;
|
||||||
|
_Sentido_SP = Antihorario;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Verifica se o motor excedeu a margem de referência enquanto se move no sentido antihorário.
|
else if (_Sentido_SP == Antihorario) {
|
||||||
else if (_Sentido_SP == Antihorario && _Angulo < -_Margem) {
|
if (_Angulo < -_Margem && Referenciado) {
|
||||||
_Angulo_SP = AgP1; // Muda para horário para tentar encontrar o ponto de referência.
|
_Angulo_SP = AgP1;
|
||||||
_Sentido_SP = Horario;
|
_Sentido_SP = Horario;
|
||||||
|
}
|
||||||
|
else if (_Angulo <= -AgP1) {
|
||||||
|
_Angulo_SP = AgP2;
|
||||||
|
_Sentido_SP = Antihorario;
|
||||||
|
}
|
||||||
|
else if (_Angulo <= -AgP2) {
|
||||||
|
_Angulo_SP = AgP2;
|
||||||
|
_Sentido_SP = Horario;
|
||||||
|
}
|
||||||
|
else if (_Angulo <= RefMin) {
|
||||||
|
_Angulo_SP = AgP2;
|
||||||
|
_Sentido_SP = Horario;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Continua o processo de referenciamento conforme a lógica original.
|
|
||||||
else if (_Sentido_SP == Horario && _Angulo >= AgP1) {
|
|
||||||
_Angulo_SP = -AgP1;
|
|
||||||
_Sentido_SP = Antihorario;
|
|
||||||
}
|
|
||||||
else if (_Sentido_SP == Antihorario && _Angulo <= -AgP1) {
|
|
||||||
_Angulo_SP = AgP1 * 2;
|
|
||||||
_Sentido_SP = Horario;
|
|
||||||
}
|
|
||||||
else if (_Sentido_SP == Horario && _Angulo >= AgP1 * 2) {
|
|
||||||
_Angulo_SP = -AgP1 * 2;
|
|
||||||
_Sentido_SP = Antihorario;
|
|
||||||
}
|
|
||||||
// Adiciona mais condições conforme necessário para cobrir o processo completo de referenciamento.
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -569,15 +569,19 @@ void RecalcularRelacaoPPR() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void BalanceamentoTask(void *pvParameters) {
|
void BalanceamentoTask(void *pvParameters) {
|
||||||
|
unsigned long firstMilis = millis();
|
||||||
|
int _delay = delayBalanceamento > 0 ? delayBalanceamento : 5000;
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
int _delay = delayBalanceamento > 0 ? delayBalanceamento : 5000;
|
long intMillis = (millis() - firstMilis);
|
||||||
|
|
||||||
if (Conectado && delayBalanceamento > 0) {
|
if (Conectado && intMillis >= _delay) {
|
||||||
BalancearCargasMotores();
|
BalancearCargasMotores();
|
||||||
|
firstMilis = millis();
|
||||||
}
|
}
|
||||||
|
|
||||||
vTaskDelay(_delay);
|
vTaskDelay(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue