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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy