Problema con Librerie e Gestione Librerie

Salve a tutti !!!
Ieri è arrivato, finalmente, il mio ArduinoUNO che sto programmando con Linux e MacOs.

Sto seguendo tutorial e sono riuscito in quello che è l'equivalente di "Hello World" per Arduino, ossia far lampeggiare due led.

Avrei voluto compiere un secondo passo, ossia farli lampeggiare in maniera asincrona, così cercando ho trovato questo tutorial:

https://www.arduino.cc/en/Tutorial/MultipleBlinks

Il problema è che: non riesco a trovare la libreria SCHEDULER adatta. Addirittura la IDE di Arduino su UBUNTU si blocca al momento di caricare la libreria e devo farlo a mano, ma non funziona.

Su MacOs da dove sto attualmente scrivendo, riesco a scaricare la libreria dal manager. Attualmente ho installato la 0.4.1 ma ricevo questo errore:

Arduino:1.6.6 (Mac OS X), Scheda:"Arduino/Genuino Uno"

ATTENZIONE: la libreria Scheduler dichiara di funzionare sulle architetture [sam] e potrebbe non essere compatibile con la tua scheda che utilizza l'architettura [avr]
/var/folders/kh/m88j8d350kl9rl2xdsx1by_00000gn/T//ccXigICQ.s: Assembler messages:
/var/folders/kh/m88j8d350kl9rl2xdsx1by_00000gn/T//ccXigICQ.s:46: Error: constant value required
exit status 1
Errore durante la compilazione

Questo report potrebbe essere più ricco di informazioni con
"Mostra un output dettagliato durante la compilazione"
abilitato in "File > Impostazioni"

non riesco insomma ad utilizzare correttamente questa libreria.

Avete suggerimenti?

Grazie mille!

Dacci come info per chi ha mac e linux, quale versione IDE stai provando ?

Ciao! ..
alllora su MAC (Yosemite 10.10.5) sto utilizzando la Arduino 1.6.6 mentre su Ubuntu Linux sto utilizzando Arduini 2:1.0.5+dfsg2-4

In questa versione in particolare (Linux) da Sketch->Importa Libreria->

Non c'è un manager come invece accade su MAC. Tuttavia c'è "Add Library..."

Se cambio cartella per eventualmente spostarmi in "Scaricati/" ... il programma si blocca e devo fare kill al processo.

Grazie per l'aiuto! :slight_smile:

NON puoi usare quella libreria, essa è fatta, almeno per ora, solo per Arduino DUE (Architettura SAM, Arduino UNO ha una MCU di architettura AVR). In futuro ci sarà forse un porting anche per Arduino UNO ... ma ricorda che esso monta una piccola MCU con solo 2 KBytes di SRAM quindi ... ::slight_smile:

Invece di usare queste "cose" già fatte, stando tu agli inizi ... impara ad usare la millis() con cui ti scheduli tutto quello che vuoi ...
... studia prima QUI, poi QUI ed infine anche QUI e QUI.

Guglielmo

Leggi bene.
É scritto:

https://www.arduino.cc/en/Tutorial/MultipleBlinks:
The Scheduler library allows the Arduino Due to manage....

Tu hai un Arduino UNO.

Ciao Uwe

Azz avete ragione! Scusate ma sono al secondo giorno!

Grazie Guglielmo! Sto cercando di capire le millis, tuttavia adesso mi sorge un dubbio (da ignorante). Quando vorrò fare altre prove, troverò le librerie giuste per UNO oppure è ormai troppo vecchio per essere supportato?

Abbiate pazienza! :wink:

No, veramente il 99% delle librerie è per UNO/MEGA ... è difficile trovarle per la DUE ... e tu hai preso una delle poche esistenti :smiley: :smiley: :smiley:

Guglielmo

E che cacchio!!! :smiley:

Concettualmente ho capito il funzionamento del millis, ma non mi aspettavo decine di righe di codice per due led! Se non c'è altro modo, userò quello ... farà bene alla pratica!

Comunque ho trovato anche questa: Arduino Playground - HomePage

Ma c'era un errore: Ho dovuto sostituire nel file "Scheduler.h" ... WProgram.h con Arduino.h, come indicato in varie guide ...

ma adesso ho questo errore: (naturalmente)

Arduino:1.6.6 (Mac OS X), Scheda:"Arduino/Genuino Uno"

/Users/Ciava/Documents/Arduino/sketch_jan24b/sketch_jan24b.ino: In function 'void setup()':
sketch_jan24b:19: error: expected unqualified-id before '.' token
Scheduler.startLoop(loop2);
^
sketch_jan24b:20: error: expected unqualified-id before '.' token
Scheduler.startLoop(loop3);
^
exit status 1
expected unqualified-id before '.' token

Temo che non ci siano scorciatoie! :open_mouth:

Lascia stare ...
... se propri devi, allora usa cose collaudate, mantenute ed affidabili come le librerie del nostro moderatore Leo ... looper o meglio leOS e leOS2. :wink:

Guglielmo

P.S.: Comunque ti accorgerai presto che il capire BENE l'uso della millis() è VITALE ... quindi dedicaci tempo e, anche se il codice è un po' più lungo, impara ad usarla bene ... dai retta :wink:

Grande Guglielmo!
Naturalmente, pur seguendo le tue guide, sono riuscito nel mio intento! Adesso ho i miei due led che lampeggiano con diversa frequenza!
Ho pienamente capito la logica anche se mi rimane ancora (e penso sia naturale!) ricordare bene comandi e procedure. Però la logica che sta dietro la fregatura da dare ad Arduino ... l'ho capita!

Grazie mille per la pazienza e le dritte!!!!