Go Down

Topic: Biblioteca PID bugada? (Read 1 time) previous topic - next topic

junior001

ae galera estou utilizando a biblioteca pid, verifiquei o proprio exemplo da bilioteca e da erro, tudo indica que não inclui a bilbioteca,
os erros são os seguintes:


PID_Basic.pde:-1: error: 'PID' does not name a type
PID_Basic.cpp: In function 'void setup()':
PID_Basic.pde:-1: error: 'myPID' was not declared in this scope
PID_Basic.pde:-1: error: 'AUTOMATIC' was not declared in this scope
PID_Basic.cpp: In function 'void loop()':
PID_Basic.pde:-1: error: 'myPID' was not declared in this scope

Alguem já passou por isso? estou utilizando a versão 1.0.1
e essa bilbioteca.
http://www.arduino.cc/playground/Code/PIDLibrary

alguem pode me dar um help??  :smiley-eek:

bubulindo

Mostrares o código que causa estes erros é o primeiro passo para receberes ajuda...
This... is a hobby.

GabrielDuarte

Qual era a finalidade do projeto amigo? Eu tenho interesse nessa biblioteca PID para o Arduino. Sabes explicar como funciona? 


Um abraço, Gabriel.

bubulindo


Qual era a finalidade do projeto amigo? Eu tenho interesse nessa biblioteca PID para o Arduino. Sabes explicar como funciona? 


http://arduino.cc/playground/Code/PIDLibrary
This... is a hobby.

neuron_upheaval

O que você fez para instalar a biblioteca?

junior001

Code: [Select]


#include <PID_v1.h>


#define echoPin 22
#define trigPin 24


double Setpoint, Input, Output, min=0, max=255;
int led=7;
long distancia,dist;

PID myPID(&Input, &Output, &Setpoint,1,2,3, DIRECT);

void setup()
{
  Serial.begin(9600);
 
  pinMode(echoPin, INPUT);
  pinMode(trigPin, OUTPUT);
   
  Input = dist;
  Setpoint = 15;

  //turn the PID on
  myPID.SetMode(AUTOMATIC);
  myPID.SetOutputLimits(min, max);
}

void loop()
{
//sonar 
digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    long duration = pulseIn(echoPin,HIGH);
    distancia = duration /29 / 2 ;   
    if( distancia >0 && distancia <=100)
    {
      dist=distancia;
    }

  Input = dist;
  myPID.Compute();
 
    digitalWrite(led, Output);
   

 
 
 
    Serial.print(Input);    Serial.print(Setpoint);  Serial.println(Output);
  delay(250);
}


ae galera esse é o codigo so que ele não sai uma onda quadrada igual as do pwm

obs: estou utilizando o mega então a saida 7 é PWM.

junior001

quem querer a biblioteca deixa o email ai que eu envio, a do site não funciona mesmo.

Go Up