atualizacoes do sonar
This commit is contained in:
parent
c5dd908c8c
commit
89486293fe
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -3,24 +3,12 @@
|
|||
"WorkspaceRootPath": "C:\\ZendionINC\\agrobot_base\\AgroBase\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\models\\mapasmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\mapasmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\models\\modules\\direcionalmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\modules\\direcionalmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\operacoes\\operacaomapagpsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\operacoes\\operacaomapagpsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\sonarmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\sonarmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\models\\modules\\sensoriamentomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\models\\modules\\sensoriamentomodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|C:\\ZendionINC\\agrobot_base\\AgroBase\\agrobase\\services\\gpsservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\services\\gpsservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
"AbsoluteMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|c:\\zendioninc\\agrobot_base\\agrobase\\agrobase\\forms\\frmpinout.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{C54B41C0-1D21-4E3E-949E-0F86BBC86A33}|AgroBase\\AgroBase.csproj|solutionrelative:agrobase\\forms\\frmpinout.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
|
|
@ -30,68 +18,33 @@
|
|||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 3,
|
||||
"SelectedChildIndex": 1,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "OperacaoMapaGPSModel.cs",
|
||||
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
|
||||
"RelativeDocumentMoniker": "AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
|
||||
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
|
||||
"RelativeToolTip": "AgroBase\\Models\\Operacoes\\OperacaoMapaGPSModel.cs",
|
||||
"ViewState": "AQIAAGACAAAAAAAAAAAnwHUCAAAmAAAA",
|
||||
"Title": "frmPinout.cs",
|
||||
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Forms\\frmPinout.cs",
|
||||
"RelativeDocumentMoniker": "AgroBase\\Forms\\frmPinout.cs",
|
||||
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Forms\\frmPinout.cs",
|
||||
"RelativeToolTip": "AgroBase\\Forms\\frmPinout.cs",
|
||||
"ViewState": "AQIAACYAAAAAAAAAAAArwKkAAAAMAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-12T13:21:22.58Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "SensoriamentoModel.cs",
|
||||
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\SensoriamentoModel.cs",
|
||||
"RelativeDocumentMoniker": "AgroBase\\Models\\Modules\\SensoriamentoModel.cs",
|
||||
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\SensoriamentoModel.cs",
|
||||
"RelativeToolTip": "AgroBase\\Models\\Modules\\SensoriamentoModel.cs",
|
||||
"ViewState": "AQIAAPcBAAAAAAAAAAArwCICAAArAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-12T11:06:00.27Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "SonarModel.cs",
|
||||
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\SonarModel.cs",
|
||||
"RelativeDocumentMoniker": "AgroBase\\Models\\SonarModel.cs",
|
||||
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\SonarModel.cs",
|
||||
"RelativeToolTip": "AgroBase\\Models\\SonarModel.cs",
|
||||
"ViewState": "AQIAADkAAAAAAAAAAAAvwFMAAAAMAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-11T23:46:37.051Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "MapasModel.cs",
|
||||
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\MapasModel.cs",
|
||||
"RelativeDocumentMoniker": "AgroBase\\Models\\MapasModel.cs",
|
||||
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\MapasModel.cs",
|
||||
"RelativeToolTip": "AgroBase\\Models\\MapasModel.cs",
|
||||
"ViewState": "AQIAAJAAAAAAAAAAAAAEwKwAAAAsAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-11T21:39:31.046Z",
|
||||
"WhenOpened": "2024-04-16T10:54:37.079Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "GPSService.cs",
|
||||
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Services\\GPSService.cs",
|
||||
"RelativeDocumentMoniker": "AgroBase\\Services\\GPSService.cs",
|
||||
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Services\\GPSService.cs",
|
||||
"RelativeToolTip": "AgroBase\\Services\\GPSService.cs",
|
||||
"ViewState": "AQIAAKwAAAAAAAAAAAD4v+IAAAAIAAAA",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "DirecionalModel.cs",
|
||||
"DocumentMoniker": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\DirecionalModel.cs",
|
||||
"RelativeDocumentMoniker": "AgroBase\\Models\\Modules\\DirecionalModel.cs",
|
||||
"ToolTip": "C:\\ZendionINC\\agrobot_base\\AgroBase\\AgroBase\\Models\\Modules\\DirecionalModel.cs",
|
||||
"RelativeToolTip": "AgroBase\\Models\\Modules\\DirecionalModel.cs",
|
||||
"ViewState": "AQIAABEAAAAAAAAAAAAAwBkAAAAJAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-04-11T21:39:24.948Z"
|
||||
"WhenOpened": "2024-04-16T10:49:41.263Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ namespace AgroBase.Forms
|
|||
chbMCP1.Checked = Pinout.ExpansorGPIO;
|
||||
txtMCP1.Text = Pinout.EnderecoExpansor;
|
||||
|
||||
//Funcoes.ForEach(x => Pinos.Add(Enum.GetName(typeof(FuncoesPinout), x)));
|
||||
Funcoes.ForEach(x => Pinos.Add(Enum.GetName(typeof(FuncoesPinout), x)));
|
||||
|
||||
foreach (var Dispositivo in Dispositivos)
|
||||
{
|
||||
|
|
@ -171,10 +171,6 @@ namespace AgroBase.Forms
|
|||
cmbs.AddRange(gpbMCP1.Controls.OfType<ComboBox>().ToList());
|
||||
foreach (var cmb in cmbs)
|
||||
{
|
||||
if (cmb.Name.Contains("A"))
|
||||
{
|
||||
|
||||
}
|
||||
cmb.SelectedIndexChanged -= Cmb_SelectedIndexChanged;
|
||||
cmb.SelectedIndexChanged += Cmb_SelectedIndexChanged;
|
||||
cmb.Items.Clear();
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@
|
|||
this.lblDistanciaOperacao = new System.Windows.Forms.Label();
|
||||
this.btnIniciarSimulacao = new System.Windows.Forms.Button();
|
||||
this.gpbSonar = new System.Windows.Forms.GroupBox();
|
||||
this.chbMoverObstaculo = new System.Windows.Forms.CheckBox();
|
||||
this.chbSonarVirando = new System.Windows.Forms.CheckBox();
|
||||
this.btnAdicionarDeteccao = new System.Windows.Forms.Button();
|
||||
this.lblAnguloFinal = new System.Windows.Forms.Label();
|
||||
this.txtAnguloFinal = new System.Windows.Forms.TextBox();
|
||||
|
|
@ -58,8 +60,6 @@
|
|||
this.pnlOrientacaoTrajeto = new System.Windows.Forms.Panel();
|
||||
this.pnlSonar = new System.Windows.Forms.Panel();
|
||||
this.picSonar = new System.Windows.Forms.PictureBox();
|
||||
this.chbSonarVirando = new System.Windows.Forms.CheckBox();
|
||||
this.chbMoverObstaculo = new System.Windows.Forms.CheckBox();
|
||||
this.pnlOpcoes.SuspendLayout();
|
||||
this.gpbSonar.SuspendLayout();
|
||||
this.gpbGPS.SuspendLayout();
|
||||
|
|
@ -142,6 +142,26 @@
|
|||
this.gpbSonar.TabStop = false;
|
||||
this.gpbSonar.Text = "Sonar";
|
||||
//
|
||||
// chbMoverObstaculo
|
||||
//
|
||||
this.chbMoverObstaculo.AutoSize = true;
|
||||
this.chbMoverObstaculo.Location = new System.Drawing.Point(165, 43);
|
||||
this.chbMoverObstaculo.Name = "chbMoverObstaculo";
|
||||
this.chbMoverObstaculo.Size = new System.Drawing.Size(129, 20);
|
||||
this.chbMoverObstaculo.TabIndex = 29;
|
||||
this.chbMoverObstaculo.Text = "Mover obstáculo";
|
||||
this.chbMoverObstaculo.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chbSonarVirando
|
||||
//
|
||||
this.chbSonarVirando.AutoSize = true;
|
||||
this.chbSonarVirando.Location = new System.Drawing.Point(165, 84);
|
||||
this.chbSonarVirando.Name = "chbSonarVirando";
|
||||
this.chbSonarVirando.Size = new System.Drawing.Size(117, 20);
|
||||
this.chbSonarVirando.TabIndex = 28;
|
||||
this.chbSonarVirando.Text = "Sonar atuando";
|
||||
this.chbSonarVirando.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnAdicionarDeteccao
|
||||
//
|
||||
this.btnAdicionarDeteccao.Location = new System.Drawing.Point(93, 79);
|
||||
|
|
@ -386,26 +406,6 @@
|
|||
this.picSonar.TabIndex = 0;
|
||||
this.picSonar.TabStop = false;
|
||||
//
|
||||
// chbSonarVirando
|
||||
//
|
||||
this.chbSonarVirando.AutoSize = true;
|
||||
this.chbSonarVirando.Location = new System.Drawing.Point(165, 84);
|
||||
this.chbSonarVirando.Name = "chbSonarVirando";
|
||||
this.chbSonarVirando.Size = new System.Drawing.Size(117, 20);
|
||||
this.chbSonarVirando.TabIndex = 28;
|
||||
this.chbSonarVirando.Text = "Sonar atuando";
|
||||
this.chbSonarVirando.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chbMoverObstaculo
|
||||
//
|
||||
this.chbMoverObstaculo.AutoSize = true;
|
||||
this.chbMoverObstaculo.Location = new System.Drawing.Point(165, 43);
|
||||
this.chbMoverObstaculo.Name = "chbMoverObstaculo";
|
||||
this.chbMoverObstaculo.Size = new System.Drawing.Size(129, 20);
|
||||
this.chbMoverObstaculo.TabIndex = 29;
|
||||
this.chbMoverObstaculo.Text = "Mover obstáculo";
|
||||
this.chbMoverObstaculo.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// frmSimulacaoMapaGPS
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||
|
|
@ -416,6 +416,7 @@
|
|||
this.Controls.Add(this.pnlOpcoes);
|
||||
this.Name = "frmSimulacaoMapaGPS";
|
||||
this.Text = "frmSimulacaoMapaGPS";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmSimulacaoMapaGPS_FormClosing);
|
||||
this.Load += new System.EventHandler(this.frmSimulacaoMapaGPS_Load);
|
||||
this.pnlOpcoes.ResumeLayout(false);
|
||||
this.pnlOpcoes.PerformLayout();
|
||||
|
|
|
|||
|
|
@ -71,6 +71,11 @@ namespace AgroBase.Forms
|
|||
Variaveis.OperacaoEmAndamento.Sensoriamento.SonarFrontal = new SonarModel(picSonar);
|
||||
}
|
||||
|
||||
private void frmSimulacaoMapaGPS_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
tmrSonar.Stop();
|
||||
}
|
||||
|
||||
private void btnCarregar_Click(object sender, EventArgs e)
|
||||
{
|
||||
Variaveis.OperacaoEmAndamento.Mapa.btnCarregar_Click((Control) sender, e);
|
||||
|
|
@ -285,5 +290,7 @@ namespace AgroBase.Forms
|
|||
ObjetoDetectado = !ObjetoDetectado;
|
||||
btnAdicionarDeteccao.Text = ObjetoDetectado ? "Del" : "Add";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -195,8 +195,6 @@ namespace AgroBase.Models
|
|||
// Calcular os waypoints de desvio
|
||||
var waypointsDesvio = CalcularWaypointsDesvio(posicaoAtual, obstaculo, indiceInicioDesvio);
|
||||
|
||||
Console.WriteLine(obstaculo);
|
||||
|
||||
// Determinar o intervalo de waypoints a serem removidos
|
||||
int indiceFinalDesvio = EncontrarIndiceFinalDesvio(TrajetoriaDinamica, waypointsDesvio.Last(), ((double)obstaculo.DistanciaMedia / 100) + ((double)obstaculo.DeslocamentoNecessarioDesvio * 2 / 100));
|
||||
int quantidadeWaypointsRemover = indiceFinalDesvio - indiceInicioDesvio;
|
||||
|
|
|
|||
|
|
@ -23,9 +23,8 @@ namespace AgroBase.Models.Modules
|
|||
public static int LogsManter { get; set; } = 60;
|
||||
public static PinoutDataModel Pinout { get; set; }
|
||||
public static List<FuncoesPinout> Funcoes { get; set; } = new List<FuncoesPinout>()
|
||||
{
|
||||
FuncoesPinout.SDA,
|
||||
FuncoesPinout.SCL
|
||||
{
|
||||
FuncoesPinout.Geral,
|
||||
};
|
||||
public List<DirSensoriamentoMotor> Motores { get; set; }
|
||||
|
||||
|
|
@ -134,7 +133,8 @@ namespace AgroBase.Models.Modules
|
|||
_TaxaAmostragem.ToString("00000") + ";" + // 5 ~ 9
|
||||
(AA_Ref000 ? "1" : "0") + ";" + // 11
|
||||
(AA_Ref090 ? "1" : "0") + ";" + // 13
|
||||
(AA_Ref270 ? "1" : "0"); // 15
|
||||
(AA_Ref270 ? "1" : "0") + ";" + // 15
|
||||
PinoutModel.PinoProtocolo(Pinout, Funcoes); // 17 ~ 18
|
||||
Config.Add(ProtocoloMOD);
|
||||
return Config;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ namespace AgroBase.Models.Operacoes
|
|||
Controle.BicosAtuados = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BicosPulverizadores;
|
||||
}
|
||||
|
||||
public void CalcularAnguloInclinacao()
|
||||
public void CalcularAnguloInclinacao(StatusCarroMapa statusCarroRua)
|
||||
{
|
||||
double erroOrientacao = 0.0;
|
||||
double anguloCarro = ReferencialRuaGPS.AnguloCarro;
|
||||
|
|
@ -236,8 +236,8 @@ namespace AgroBase.Models.Operacoes
|
|||
double erroPosicaoLateral = anguloCamera;
|
||||
|
||||
// Combina os erros. Ajuste os pesos conforme necessário para o seu caso específico.
|
||||
double pesoOrientacao = 0.3;
|
||||
double pesoPosicaoLateral = 0.7;
|
||||
double pesoOrientacao = statusCarroRua == StatusCarroMapa.Direcionando ? 0.95 : 0.3;
|
||||
double pesoPosicaoLateral = statusCarroRua == StatusCarroMapa.Direcionando ? 0.05 : 0.7;
|
||||
double erroCombinado = (erroOrientacao * pesoOrientacao) + (erroPosicaoLateral * pesoPosicaoLateral);
|
||||
|
||||
var statusAtual = ReferencialRuaGPS.StatusAtual;
|
||||
|
|
@ -254,10 +254,10 @@ namespace AgroBase.Models.Operacoes
|
|||
|
||||
public void CalculaDadosMovimentacaoAutonoma()
|
||||
{
|
||||
CalcularAnguloInclinacao();
|
||||
|
||||
var statusAtual = ReferencialRuaGPS.StatusAtual;
|
||||
|
||||
CalcularAnguloInclinacao(statusAtual);
|
||||
|
||||
if (statusAtual == StatusCarroMapa.Parado)
|
||||
{
|
||||
var BicosNaoAtuados = new List<AtuadorBicoModel>(Variaveis.OperacaoEmAndamento.DispAtu.Dados.BicosPulverizadores);
|
||||
|
|
@ -268,7 +268,14 @@ namespace AgroBase.Models.Operacoes
|
|||
}
|
||||
else if (statusAtual == StatusCarroMapa.Direcionando)
|
||||
{
|
||||
Controle.RPM = Controle.RPM_Max;
|
||||
if (Variaveis.OperacaoEmAndamento.Sensoriamento.SonarFrontal.DesvioNecessario)
|
||||
{
|
||||
Controle.RPM = Controle.RPM_Min;
|
||||
}
|
||||
else
|
||||
{
|
||||
Controle.RPM = Controle.RPM_Max;
|
||||
}
|
||||
}
|
||||
else if (statusAtual == StatusCarroMapa.EntrandoRua)
|
||||
{
|
||||
|
|
@ -300,7 +307,6 @@ namespace AgroBase.Models.Operacoes
|
|||
Controle.RPM = 0;
|
||||
CalcularManobra();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void CalcularManobra()
|
||||
|
|
|
|||
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
|
|
@ -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":7.087499508697463},{"ID":"B02","Posicao":2,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":16.642426432560772},{"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":0.06,"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":[1124810.37],"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":[0.06],"ValorMinimo":0.0,"ValorMaximo":127.63,"LimiteMaximo":120.0,"LimiteMinimo":60.0}],"PercentualInicioPulverizacao":0.3,"ScriptDeteccaoErvas":"green-detector.py","_MassaRef":0.8,"_MassaLeituraRef":40876.37,"_MassaLeituraExtra":1895800.0,"_MassaLeitura":1124810.37,"MassaReservatorio":15.089199554657128,"VolumeReservatorio":14.370666242530598,"PercentualReservatorio":47.902220808435324,"VolumeVazaoAferido":102.0,"_FluxoMlRef":102.0,"_FluxoPulsoRef":80.0,"_LeituraPulsos":0,"_LeituraPeriodo":0,"VazaoFluxoMLpS":0.0,"VolumeVazaoML":362.66307215324855,"_PressaoVmin":0.0,"_PressaoVmax":4.5,"_PressaoMax":174.045,"_LeituraPressao":857.0,"PressaoLinha":0.06,"PressaoLinhaCalc":26.71098437118437}
|
||||
{"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":"green-detector.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":4886.8707027305372,"_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
Binary file not shown.
Binary file not shown.
|
|
@ -783,8 +783,6 @@ void ProcessarProtocolo(String Protocolo, F_Code _funcao) {
|
|||
int prioridade = ((String)Protocolo[20] + (String)Protocolo[21]).toInt();
|
||||
TiposBarramentos pinoB = (TiposBarramentos)((String)Protocolo[23]).toInt();
|
||||
int pino = ((String)Protocolo[24] + (String)Protocolo[25]).toInt();
|
||||
TiposBarramentos pino2B = (TiposBarramentos)((String)Protocolo[27]).toInt();
|
||||
int pino2 = ((String)Protocolo[28] + (String)Protocolo[29]).toInt();
|
||||
|
||||
switch (componente) {
|
||||
case sFLX: {
|
||||
|
|
@ -806,6 +804,9 @@ void ProcessarProtocolo(String Protocolo, F_Code _funcao) {
|
|||
case sMAS: {
|
||||
SensorMassa* _sensor = SMPorID(ID);
|
||||
if (sensor_ativado) {
|
||||
TiposBarramentos pino2B = (TiposBarramentos)((String)Protocolo[27]).toInt();
|
||||
int pino2 = ((String)Protocolo[28] + (String)Protocolo[29]).toInt();
|
||||
|
||||
if (Conectar) {
|
||||
_sensor->_pinoDT = PinoModel(pino, pinoB, _INPUT, DIGITAL);
|
||||
_sensor->_pinoSCK = PinoModel(pino2, pino2B, _INPUT, DIGITAL);
|
||||
|
|
@ -823,9 +824,9 @@ void ProcessarProtocolo(String Protocolo, F_Code _funcao) {
|
|||
case sPRS: {
|
||||
SensorPressao* _sensor = SPPorID(ID);
|
||||
if (sensor_ativado) {
|
||||
double Vmin = ((String)Protocolo[31] + (String)Protocolo[32] + (String)Protocolo[33] + (String)Protocolo[34] + (String)Protocolo[35] + (String)Protocolo[36]).toDouble();
|
||||
double Vmax = ((String)Protocolo[38] + (String)Protocolo[39] + (String)Protocolo[40] + (String)Protocolo[41] + (String)Protocolo[42] + (String)Protocolo[43]).toDouble();
|
||||
double Pmax = ((String)Protocolo[45] + (String)Protocolo[46] + (String)Protocolo[47] + (String)Protocolo[48] + (String)Protocolo[49] + (String)Protocolo[50]).toDouble();
|
||||
double Vmin = ((String)Protocolo[27] + (String)Protocolo[28] + (String)Protocolo[29] + (String)Protocolo[30] + (String)Protocolo[31] + (String)Protocolo[32]).toDouble();
|
||||
double Vmax = ((String)Protocolo[34] + (String)Protocolo[35] + (String)Protocolo[36] + (String)Protocolo[37] + (String)Protocolo[38] + (String)Protocolo[39]).toDouble();
|
||||
double Pmax = ((String)Protocolo[41] + (String)Protocolo[42] + (String)Protocolo[43] + (String)Protocolo[44] + (String)Protocolo[45] + (String)Protocolo[46]).toDouble();
|
||||
if (Conectar) {
|
||||
_sensor->_Vmin = Vmin;
|
||||
_sensor->_Vmax = Vmax;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ double _Margem = 0.5;
|
|||
int dutyCycle = 512;
|
||||
double _frequencia = 4000;
|
||||
|
||||
|
||||
PinoModel _pinoGeral;
|
||||
|
||||
class Motor {
|
||||
public:
|
||||
|
|
@ -463,7 +463,7 @@ Motor* MotorPorID(String ID) {
|
|||
|
||||
void setup() {
|
||||
Serial.begin(_baudRate);
|
||||
iniciarMCP(D_Code, 8, 18, 0x20, false);
|
||||
//iniciarMCP(D_Code, 8, 18, 0x20, false);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
|
@ -490,6 +490,13 @@ void ProcessarProtocolo(String Protocolo, F_Code _funcao) {
|
|||
AA_Ref000 = (String)Protocolo[11] == "1";
|
||||
AA_Ref090 = (String)Protocolo[13] == "1";
|
||||
AA_Ref270 = (String)Protocolo[15] == "1";
|
||||
TiposBarramentos _barramento = (TiposBarramentos)((String)Protocolo[17]).toInt();
|
||||
int _num = ((String)Protocolo[18] + (String)Protocolo[19]).toInt();
|
||||
_pinoGeral = PinoModel(_num, _barramento, _OUTPUT);
|
||||
|
||||
if (_pinoGeral.Definido()) {
|
||||
_pinoGeral.set(true);
|
||||
}
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue