Go Down

Topic: Aiuto librerie--per progetto dolly time lapse con Adafruit Motor Shield (Read 1 time) previous topic - next topic

andreglo

buon giorno a tutti come da titolo e da presentazione nel forum .
avrei bisogno
...di un mega maxi aiuto ---
purtroppo non ci capisco nulla di aruino quello che so è stato preso ed estrapolato da internet traducendo o leggendo i vari tutorial ..
posseggo un arduino 2009
ed un Adafruit Motor/Stepper/Servo Shield ...
il fatto è che non riesco ad installare le librerie ..
cioe le librerie le ho prese dal sito . ed incollate nella cartella libraries.
poi pero .. se carico uno degli esempi mi da il seguente errore..

andreglo

ora incollero 2 esempi uno e del codice fatto da un utente"il codice è corretto "però l'errore è il seguente



Code: [Select]
#include <AFMotor.h>
#define fotoaccoppiatore 13
#define led 2

AF_DCMotor motor(1, MOTOR12_64KHZ); // crea il motore sull'uscita 1
int onoff=0;
int potsx=0;
int potdx=0;


void setup () {
 Serial.begin(9600);           // set up Serial library at 9600 bps
 Serial.println("Motor test!");  
 motor.setSpeed(255);     // imposta la velocità a 255 -  il massimo
 pinMode (fotoaccoppiatore, OUTPUT);
 pinMode (led, OUTPUT);
}

void loop () {
 potsx = analogRead(5);
 potdx = analogRead (2);

 if (potsx == 0) {
   motor.run(RELEASE);
 }
 else {
   onoff = analogRead(1);
   if (onoff == 1023) {
     if (potsx == 1023) {
       motor.run(FORWARD);
     }
     else {
       motor.run(FORWARD);
       delay(potsx);
       motor.run(RELEASE);
       delay(200);
       if (potdx == 0) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(1000);

       }
       if (potdx >= 10 && potdx <= 150) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(2000);

       }
       if (potdx >= 151 && potdx <=300) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(5000);
       }
       if (potdx >= 301 && potdx <= 500) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(10000);
       }
       if (potdx >= 501 && potdx <=650) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(30000);
       }
       if (potdx >= 651 && potdx <= 850) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(60000);
       }
       if (potdx == 1023) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(300000);
       }
     }

   }
   else {
     if (potsx == 1023) {
       motor.run(BACKWARD);
     }
     else {
       motor.run(BACKWARD);
       delay(potsx);
       motor.run(RELEASE);
       delay(200);
       if (potdx == 0) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(1000);

       }
       if (potdx >= 10 && potdx <= 150) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(2000);

       }
       if (potdx >= 151 && potdx <=300) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(5000);
       }
       if (potdx >= 301 && potdx <= 500) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(10000);
       }
       if (potdx >= 501 && potdx <=650) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(30000);
       }
       if (potdx >= 651 && potdx <= 850) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(60000);
       }
       if (potdx == 1023) {
         digitalWrite(fotoaccoppiatore, HIGH);
         digitalWrite(led, HIGH);
         delay(10);
         digitalWrite(fotoaccoppiatore, LOW);
         digitalWrite(led, LOW);
         delay(300000);
       }
     }  
   }
 }
}




andreglo

di seguito l'errore..

Code: [Select]
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:7:22: error: WProgram.h: No such file or directory
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In member function 'void AFMotorController::enable()':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:29: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:29: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:39: error: 'LOW' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:39: error: 'digitalWrite' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In member function 'void AFMotorController::latch_tx()':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:47: error: 'LOW' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:47: error: 'digitalWrite' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:58: error: 'HIGH' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:64: error: 'HIGH' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:67: error: 'HIGH' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In function 'void initPWM1(uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:94: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:94: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In function 'void initPWM2(uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:132: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:132: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In function 'void initPWM3(uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:170: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:170: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In function 'void initPWM4(uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:210: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:210: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In constructor 'AF_Stepper::AF_Stepper(uint16_t, uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:323: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:323: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:325: error: 'HIGH' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:325: error: 'digitalWrite' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:340: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:340: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:342: error: 'HIGH' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:342: error: 'digitalWrite' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In member function 'void AF_Stepper::step(uint16_t, uint8_t, uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:388: error: 'delay' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:398: error: 'delay' was not declared in this scope

andreglo

mentre se carico un esempio della adafruit l'errore esempi -afmotor.motor test

l'errore è questo ..

Code: [Select]
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:7:22: error: WProgram.h: No such file or directory
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In member function 'void AFMotorController::enable()':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:29: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:29: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:39: error: 'LOW' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:39: error: 'digitalWrite' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In member function 'void AFMotorController::latch_tx()':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:47: error: 'LOW' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:47: error: 'digitalWrite' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:58: error: 'HIGH' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:64: error: 'HIGH' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:67: error: 'HIGH' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In function 'void initPWM1(uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:94: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:94: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In function 'void initPWM2(uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:132: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:132: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In function 'void initPWM3(uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:170: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:170: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In function 'void initPWM4(uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:210: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:210: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In constructor 'AF_Stepper::AF_Stepper(uint16_t, uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:323: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:323: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:325: error: 'HIGH' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:325: error: 'digitalWrite' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:340: error: 'OUTPUT' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:340: error: 'pinMode' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:342: error: 'HIGH' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:342: error: 'digitalWrite' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp: In member function 'void AF_Stepper::step(uint16_t, uint8_t, uint8_t)':
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:388: error: 'delay' was not declared in this scope
C:\Users\andreglo\Desktop\arduino-1.0.4\libraries\AFmotor\AFMotor.cpp:398: error: 'delay' was not declared in this scope


non so di che si tratta ho provato ad installarle copiarle e incollarle in tantissimi modi ..
mi affido a voi spero possiate aiutarmi .
come già detto nella presentazione sono solo un arredatore ed è già stato tanto per me accendere e spegnere un led in loop con arduino ....!!!
vi ringrazio
buona giornata..
P.s. i driver li o installati correttamente. anche la porta com 9 nel mio caso ed ho selezionato il tipo giusto di arduino .
grazie a tutti quanti in anticipo
[/i][/u]

PaoloP

La libreria non è compatibile con la versione dell'IDE 1.0.x
Hai 3 possibilità:
1 Usare un versione precedente come ad esempio la 0023
2 Cercare una libreria aggiornata chiedendo all'autore della libreria o sul sito dove l'hai presa
3 Aggiornarti tu stesso la libreria.
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

leo72

@andreglo:
esiste un regolamento che ti invito a leggere, per evitare le prox volte di dover rimettere mano ai tuoi messaggi:
1) evitare esclamazioni o richieste esagerate d'aiuto nell'oggetto del thread ("Help!!!")
2) usare i tad appositi per includere il codice e/o i messaggi dell'IDE (non è il tag quote ma il tag code).
Grazie  ;)

PaoloP

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

andreglo


Qui trovi la libreria aggiornata per l'IDE 1.0.x --> https://github.com/adafruit/Adafruit-Motor-Shield-library


fantastico grazie mille , quindi se io ora cancello le vecchie ed inserisco queste tutto dovrebbe funzionare?
speriamo vi terrò aggiornati
grazie mille davvero ...!!
grazie

andreglo


@andreglo:
esiste un regolamento che ti invito a leggere, per evitare le prox volte di dover rimettere mano ai tuoi messaggi:
1) evitare esclamazioni o richieste esagerate d'aiuto nell'oggetto del thread ("Help!!!")
2) usare i tad appositi per includere il codice e/o i messaggi dell'IDE (non è il tag quote ma il tag code).
Grazie  ;)


ciao scusami per il punto uno .. e che credevo fosse urgente la mia richiesta .. se avessi potuto metterla come spam o come pubblicità sul sito l'avrei inserita!^^ scherzi a parte grazie per la correzione.
punto 2 per tad appositi che intendete?
i codici ed messaggi del ide sono quelli del programma arduino giusto ?
per inserire il codice basta che faccio codice mio ???giusto ?
vi ringrazio ancora per la tempestiva risposta e l'aiuto ..
buona serata

andreglo


Qui trovi la libreria aggiornata per l'IDE 1.0.x --> https://github.com/adafruit/Adafruit-Motor-Shield-library


eccoci ho appena provato ..ho scaricato la libreria l'ho incollata nella cartella librerie e rinominata in adafruitmotor e... eccoci l'errore è il seguente
purtroppo non so come modificare una libreria purtroppo non ci capisco proprio nulla credevo di lavorare di copia ed incolla solamente--

l'errore è ..
Code: [Select]

AFMotor_ConstantSpeed:24: error: 'AccelStepper' does not name a type
AFMotor_ConstantSpeed.pde: In function 'void setup()':
AFMotor_ConstantSpeed:31: error: 'stepper' was not declared in this scope
AFMotor_ConstantSpeed.pde: In function 'void loop()':
AFMotor_ConstantSpeed:36: error: 'stepper' was not declared in this scope

leo72


punto 2 per tad appositi che intendete?

tag, ho sbagliato a scrivere.

Quote

i codici ed messaggi del ide sono quelli del programma arduino giusto ?
per inserire il codice basta che faccio codice mio ???giusto ?
vi ringrazio ancora per la tempestiva risposta e l'aiuto ..
buona serata

Se avessi letto il regolamento che ti ho linkato, avresti trovato la risposta alla tua domanda...  ;)
Quando racchiudi codice o messaggi del terminale devi selezionare il testo e poi cliccare sull'icona "#" che compare sopra all'area in cui inserisci il tuo messaggio.  ;)

PaoloP

Sbagli qualcosa.
Ho scaricato la libreria AFMotor (devi scaricare il file ZIP premendo il corrispondente pulsante nella pagina), ho inserito la libreria nella directory libraries degli sketch di Arduino, l'ho rinominata AFMotor (stesso nome della libreria), ho copiato e incollato il tuo sketch (nei post precedenti) e compila senza errori.

Le librerie aggiuntive rispetto a quelle già presenti nell'IDE ti conviene inserirle, non nella cartella libraries dell'IDE, ma nella cartella degli sketch.
Se vai in Documenti/Arduino dovresti trovare la cartella con gli sketch salvati. All'interno dovrebbe esserci una cartella "libraries" (se non c'è creala). Lì metti la cartella "AFMotor" con dentro la libreria composta da:
AFMotor.cpp
AFMotor.h
keywords.txt
cartella examples
Poi chiudi e riavvia l'IDE.

Per verificare che l'IDE abbia letto la libreria puoi andare nel menù File --> Esempi
Ci deve essere elencata anche la libreria AFmotor con gli esempi relativi.

Ti consiglio inoltre di salvare l'IDE non sul desktop ma nella directory principale di C o di D (se lo hai) e di crearti un collegamento sul Desktop.
Potrebbe succedere di incorrere in qualche problema nel caso, anche se improbabile, di avere un percorso troppo lungo con molte sottodirectory.
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

andreglo

detto fatto fantastico avevi ragione grazie mille vi terrò aggiornati sul progetto per il dolly con le relative modifiche che farò grazie mille a tutti buona serata.

Go Up