collapse

* Posts Recentes

Onde comprar kit de revelação de PCB's por luiscosta
[Hoje às 11:07]


Boa compra este osciloscópio? por jm_araujo
[Hoje às 07:56]


Frequência máxima de pwm com controlo de duty cycle de 0 a 100% por Njay
[Ontem às 19:02]


Augmented reality AR por josecarlos
[23 de Maio de 2018, 22:14]


MKR Vidor4000 por josecarlos
[23 de Maio de 2018, 18:06]


Robô BBC micro:bit controlado com gestos no telemóvel Android por Tayeb
[22 de Maio de 2018, 13:11]


Programar ATTiny85 sem Arduino por hackeduca
[22 de Maio de 2018, 12:20]


[Técnico de Electrónica] Anuncios para "consoveyo" por KammutierSpule
[22 de Maio de 2018, 09:06]


PWM com ventoinha por jm_araujo
[21 de Maio de 2018, 11:24]


NiCd por NiMH? por jm_araujo
[20 de Maio de 2018, 11:46]

Autor Tópico: problema com o codigo do arduino  (Lida 1239 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline pedrocas98

  • Mini Robot
  • *
  • Mensagens: 14
problema com o codigo do arduino
« em: 19 de Dezembro de 2013, 01:53 »
Boas, eu sou iniciante nisto da programação do arduino e precisava de ajuda de alguém que percebesse do assunto.
Eu estou a realizar um projeto simples que vi aqui http://www.instructables.com/id/Line-following-Robot-with-Arduino/ que é basicamente um robô que segue uma linha preta.

Mas na introdução do código no arduino obtenho este erro:



Código: [Seleccione]
In file included from QTRRC_Line_Follow.pde:2:
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/engine.h:5:22: error: WProgram.h: No such file or directory
In file included from QTRRC_Line_Follow.pde:2:
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/engine.h: In function 'void engineSetup()':
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/engine.h:23: error: 'OUTPUT' was not declared in this scope
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/engine.h:23: error: 'pinMode' was not declared in this scope
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/engine.h: In function 'void motor(int, int)':
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/engine.h:33: error: 'HIGH' was not declared in this scope
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/engine.h:41: error: 'LOW' was not declared in this scope
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/engine.h:45: error: 'analogWrite' was not declared in this scope
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/engine.h:46: error: 'digitalWrite' was not declared in this scope
In file included from QTRRC_Line_Follow.pde:4:
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/navigation.h: In function 'void calibrate(PololuQTRSensorsRC*)':
C:\Users\Me\Documents\Arduino\libraries\PololuQTRSensors/navigation.h:21: error: 'delay' was not declared in this scope

gostaria que me ajudassem a resolver isso.

[color=red]link da library[/color] »» [url=https://www.box.com/s/c26rsnfenj1ifd2gtyvg]https://www.box.com/s/c26rsnfenj1ifd2gtyvg[/url]

[color=red]*Visualizar o link do projeto para se obter uma ideia do que estou a falar*[/color]

[color=red]código do arduino:[/color]

#include "config.h"
#include "engine.h"
#include "PololuQTRSensors.h"
#include "navigation.h"
PololuQTRSensorsRC qtr((unsigned char[]) {2,4,5,6,7,8,9,10}, NUM_OF_SENSORS);

void setup(){
#ifdef DEBUG
  Serial.begin(9600);
#endif
  engineSetup();
  calibrate(&qtr);
  delay(2000);

  motor(MotorA,FORWARD_MAX);
  motor(MotorB,FORWARD_MAX);
}

void loop(){
  int pos = readLine(&qtr);

if (pos != LINE_LOST){

    if (pos == EDGE_RIGHT){
      motor(MotorA,REVERSE_MAX);
      motor(MotorB,FORWARD_MAX);
    }else if (pos == EDGE_LEFT){
      motor(MotorA,FORWARD_MAX);
      motor(MotorB,REVERSE_MAX);
    }else{

      int error = pos - MIDDLE_POS;
      int m1Speed = FORWARD_MAX;
      int m2Speed = FORWARD_MAX;

      if (error < 0)
m1Speed = map(error,-MIDDLE_POS,0,REVERSE_MAX,FORWARD_MAX);
      else
m2Speed = map(error,0,MIDDLE_POS,FORWARD_MAX,REVERSE_MAX);

#ifdef DEBUG
      Serial.print(error);   Serial.print(" ");
      Serial.print(m1Speed); Serial.print(" "); Serial.println(m2Speed);
#endif

      motor(MotorA,m1Speed);
      motor(MotorB,m2Speed);
    }
  }
}

obrigado, espero acabar isto rapidamente.  ;D

Offline fergas

  • Mini Robot
  • *
  • Mensagens: 116
Re: problema com o codigo do arduino
« Responder #1 em: 19 de Dezembro de 2013, 10:02 »
Acho que tens duas soluções: usas uma versão mais antiga do arduino, abaixo da 1.0 (por exemplo a 0023), ou então vais às bibliotecas do projecto que descarregaste, procuras em todas pela linha  #include "WProgram.h" que estará no inicio das bibliotecas e onde a encontrares substituis por #include "Arduino.h" como indicado aqui.