---
# System prepended metadata

title: Documento de Desenvolvimento

---

# PID

Esta é a página inicial do PID, aqui você encontra as principais informações referentes ao código e suas principais características.

[toc]

---
## Objetivo do Arquivo
> Arquivo responsável por definir a classe PID e realizar todos seus cáculos, afim de tratar os erros e armazenar os dados de PID. O arquivo faz isso a partir de parâmetros obtidos do DataCenter, tratando esses dados e calculando os resultados PID usando a função "calcularResultadoPID(TipoDePID tipo)". Após isso armazena os dados obtidos no DataCenter.



## Fluxograma
![](https://hackmd.io/_uploads/HyTpbiATn.jpg)
[Link do fluxograma](https://miro.com/welcomeonboard/QzBrUUF2U2lIWXdwb2ZPSEZsQUY3WmZWN09ZSmtXdll4akFDZ3JQbnY2YkdWZXBBTmpPMXVab3NHblFyMzh1TnwzNDU4NzY0NTYxMTEwNzUxMTkxfDI=?share_link_id=198840803999)

## Estrutura do projeto

#### Quais arquivos são incluídos?
>datacenter/datacenter.hpp (Banco de variáveis)
>sensores/leituraSensoriamento.hpp (Dados dos sensores)
#### Quais bibliotecas são utilizadas?
>arduino.h (Biblioteca padrão do arduino)

### Funções mais importantes do arquivo
> PID () - Método construtor de um objeto na classe PID
> 
> atualizarConstantes() - Atualiza os parâmetros do controle PID
> 
> calcular() - Realiza os cálculos do algoritmo PID e retorna a soma dos termos do algoritmo PID
> 
> resetar() - Reseta os atributos utilizados nos cálculos
> 
> calcularResultadoPID() - Calcula o resultado do PID de acordo com o tipo desejado (linear ou angular)
>
>atualizarPID() - Atualiza os valores dos parâmetros do controlador PID


---

## Programação

Esta seção é responsável por armazenar todas as questões de problemas que foram observadas durante o desenvolvimento.


### Problemas Encontrados

> Caso encontrem problemas enquanto documentam, descreva-os e cite as soluções encontradas de acordo com o modelo abaixo.

#### Problema 1 - (colocar aqui título do problema)

Colocar aqui a descrição do problema detalhando sempre o máximo possível.
- Solução

#### Problema 2 - (colocar aqui título do problema)

Colocar aqui a descrição do problema detalhando sempre o máximo possível.
- Solução

---

## Pós-documentação

### Otimizações Possíveis :bulb: 

>Dar uma breve explicação sobre PID no início do arquivo(como exemplo um trecho de introdução a lógica utilizada nos motores que tem no arquivo de locomoção)

>Melhorar a documentação da função calcular()

---









