Problemi Arduino Leonardo

i lol'd, è lo stesso problema che ho io usando la seriale con un alto baudrate, amplificato

Using the serial monitor effectively: Since serial is going through only one processor on the Leonardo, the board is capable of filling your computer's serial buffer faster than the Uno or earlier boards. You may notice that if you send serial continually, for example like this:

void loop() {
int sensorReading = analogRead(A0);
Serial.println(sensorReading);
}
[Get Code]

the Serial Monitor in the IDE slows down considerably as it tries to keep up. If you encounter this, add a short delay to your loop so that the computer's serial buffer is not filled as fast. Even a millisecond delay will help:

void loop() {
int sensorReading = analogRead(A0);
Serial.println(sensorReading);
delay(1);
}

ok
la seriale lo già usata e funge
ho provato la libreria singolarmente salvandomi la variabile letta dal ricevitore ir e mi carica lo sketch senza problemi
credo che il problema sia proprio nella libreria utilizzando la comunicaione seriale...
però lo stesso sketch testato su arduino uno funziona...

Frodo478:
credo che il problema sia proprio nella libreria utilizzando la comunicaione seriale...
però lo stesso sketch testato su arduino uno funziona...

Ma la UNO è differente. Andrebbe capito cosa c'è che non va usando entrambe le librerie.

Scusate cosa ha la leonardo più di un altro 328? ci sono sempre quei miserabili 16Km/h di clock XD XD XD

La Leonardo ha un unico chip, l'Atmega32U4, che integra un convertitore seriale/USB per cui non necessita del chip accessorio delle UNO e delle MEGA. Avendo quindi la gestione USB in hardware può in teoria essere programmata per emulare una periferica USB.

Grazie Leo :slight_smile: ... ahhh bhe mi consolo allora. Non c'e' speranza di ottenere un mcu più veloce. =( l'importante è integrare

pablos:
Grazie Leo :slight_smile: ... ahhh bhe mi consolo allora. Non c'e' speranza di ottenere un mcu più veloce. =( l'importante è integrare

puoi portarla da solo a 20MHz, basta che cambi il quarzo e sul forum italiano se ne è parlato molto, astro se non sbaglio aveva rilasciato un firmware buono a riguardo, o forse era menniti? troppe guide di troppi utenti XD

comunque io sto aspettando la due da un anno giusto..

mi sa che è una leggenda come il mostro di lochness XD

comunque hai provato premendo il reset quando nell'ide ti dice le dimensioni effettive dello sketch?
se è un problema di seriale, se il firmware è fatto bene, allora dovresti risolvere

Inoltre il bootloader prende 4 kB, per cui dei 32 che ha il chip alla fine ne restano 28. In quei 4 kB ci sta un bootloader bello corposo, che ha anche un comportamento "curioso", come è stato osservato qualche settimana fa

superlol:
puoi portarla da solo a 20MHz, basta che cambi il quarzo e sul forum italiano se ne è parlato molto, astro se non sbaglio aveva rilasciato un firmware buono a riguardo, o forse era menniti? troppe guide di troppi utenti XD

Era un bootloader modificato da astrobeed. Ma non va bene per la Leonardo perché questa scheda usa un bootloader totalmente differente.

allora, se il problema è che riempi la seriale troppo in fretta, fammi questo favore, scarica il sorgente di arduino IDE e installa ant.

poi sostituisci il file arduino-1.0.1/app/src/processing/app/SerialMonitor.java

con quello allegato. col terminale vai alla cartella arduino-1.0.1/build/

e digita

ant run

a questo punto dovrebbe compilare e lanciare la versione di arduino modificata, che non dovrebbe dare problemi. Fammi sapere se funziona che faccio una patch request.

per chi se ne intende: in pratica ogni mesaggio ricevuto via seriale lancia una richiesta di update della textbox + aggioranmento dello scroll...
io invece bufferizzo tutto in una stringa, che viene sparata come sopra ad ogni richiesta di update grafico.
quindi anzichè avere una situazione 1000richieste:1update ci sarà una situazione 1richiesta:1update

è brutta perchè uso il lock su un oggetto Object che è dummy, in teoria sarebbe da usare una lista di String sincronizzata, ma in questo caso specifico potrebbe essere che l'ovehead della lista sia più grande dell'elemento contenuto, il che mi pare ancora più brutto.

SerialMonitor.java (7.75 KB)

@frodo:
Rileggendo le specifiche della scheda, è tornato fuori questo:

The reset is triggered when the Leonardo's virtual (CDC) serial / COM port is opened at 1200 baud and then closed. When this happens, the processor will reset, breaking the USB connection to the computer (meaning that the virtual serial / COM port will disappear)

Forse che viene aperta una connessione a bassa velocità e la scheda la interpreta come un reset?

Ciao
ho provato il tuo codice e anche sulla mia Leonardo non ne vuole sapere di caricare lo sketch. Se commento tutte le istruzioni Serial. il codice viene caricato ma mi blocca la scheda.
Secondo me potrebbe essere più una incompatibilità della libreria IRremote piuttosto che un problema di comunicazione.

a presto
Marco

in effetti la IR remote potrebbe giocare con i registri, che sono molto differenti tra una atmega e un 8u2!

superlol:
comunque io sto aspettando la due da un anno giusto..
mi sa che è una leggenda come il mostro di lochness XD

bella questa!!
E non sei il solo :slight_smile: La sto aspettando solo per vedere se la ethernet assume una velocità più decente, perchè così come è adesso è veramente penosa.... andava più veloce il download su nastro del commodore 128 :slight_smile:

Ps. non è una critica al lavoro che c'è dietro ad arduino, ma anche a livello hobbistico il 16-20 mhz sta diventando medioevale, ci vuole un salto
ciao

Secondo me i 16 MHz per una MCU ad 8 bit sono più che sufficienti. Diciamo che l'Arduino ha invece fatto miracoli perché ha pilotato a 16 MHz e con una MCU ad 8 bit uno shield ethernet che di potenza ne avrebbe richiesta molta di più.

dato che pure io sono in attesa di comprare una leonardo, ma solo perche' mi serve una periferica HID, leggendo i Vs commenti mi stavo chiedendo

ho provato il tuo codice e anche sulla mia Leonardo non ne vuole sapere di caricare lo sketch. Se commento tutte le istruzioni Serial. il codice viene caricato ma mi blocca la scheda.

ora, che la liberia IR non ci funzioni, ci sta', anzi, chip nuovo, registri nuovi

ma che non carichi uno sketch ........ questa mi sembra pesante

Edit: ma lo compila o no ?

@brunello

il codice lo compila, riesco anche a caricarlo ma non viene eseguito dalla Leonardo, per gli altri sketch non ho avuto problemi.

@Marco_lai

Che libreria IR usi? Il 32u4 internamente è leggermente diverso dal 328 e può darsi che la libreria faccia casino con i timers.
Ad ogni nuovo processore che aggiungiamo le librerie di terze parti hanno sempre qualche problema.

m

@Massimo Banzi

Ciao
sto utilizzando la libreria di Ken Shirriff (A Multi-Protocol Infrared Remote Library for the Arduino). Sicuramente ci sarà una nuova versione che potrà essere usata anche con la Leonardo. Per il resto mi sembra una buona scheda. Attendo però con ansia la Arduino Due, ci potresti dare qualche info sulla sua uscita?

Grazie e a presto
Marco Lai