Show Posts
|
|
Pages: 1 2 [3] 4 5 ... 7
|
|
33
|
International / Italiano / Re: ATtiny 13 Core disponibile !!!
|
on: July 05, 2012, 07:45:17 am
|
Leggendo il codice ( e i commentin dell'autore) forse il problema è proprio la funzione delay! void delay(unsigned ms){ while(ms--){ _delay_ms(1); //Using the libc routine over and over is non-optimal but it works and is close enough } //Note, I may have to reimplement this because the avr-libc delay is too slow *todo* }
Lui stesso dice che //Using the libc routine over and over is non-optimal but it works and is close enough hai la possibiltá di vedere come è implementata la funzione in altri core? N.
|
|
|
|
|
35
|
International / Italiano / Re: [Votazione 2 di 2]Quali argomenti?
|
on: July 04, 2012, 08:00:57 am
|
Quoto l'idea del prof. Menniti, bisognerà pur cominciare in qualche modo. Forza, che si dividano i thread!
Mi ero espresso così un paio di pagine fa, ma credo vogliate un si esplicito, quindi eccolo: Si
|
|
|
|
|
37
|
International / Italiano / Re: SoftwareSerial chi la usa?
|
on: July 03, 2012, 10:54:49 am
|
Superp,
uso la libreria perche con il mega sto provando e vorrei passare ad uno standalone. nello sketch mega ce un read da mySeriale e print sulla seriale normale.
ottimo il consiglio della delay 2000 iniziale...
Non sono esperto in standalone, anzi non ne ho mai fatto uno, quindi continuo a non capire la necessità di usare le seriali software sul mega, mica sono legate alla scheda arduino, ma al micro 2560. Corregetemi se sbaglio. In realtà ti volevo sviare dalle software serial perchè ipotizzo siano state scritte per micro con una sola porta seriale, supponendo che non ce ne fosse necessità per micro con più serial. Anch'io c'ho sbattuto la testa se ti interessa, fino a quando ho letto (era semplicissimo) il reference softwareSerial, che riporta: Limitations The library has the following known limitations: If using multiple software serial ports, only one can receive data at a time. Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69 Not all pins on the Leonardo support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI). Quindi ricevendo sulla 2 (se nn ricordo male) non può funzionare. Io personalmente ho usato i 52 e 53, (ma hai una vasta scelta) per poi abbandonare le software ed abbracciare le hardware. http://arduino.cc/hu/Reference/SoftwareSerialN.
|
|
|
|
|
38
|
International / Italiano / Re: SoftwareSerial chi la usa?
|
on: July 03, 2012, 08:22:52 am
|
Non capisco manco se comunicano tra loro o se tutto tace... Il codice che hai postato sopra, non funziona perchè sul mega non leggi da seriale, ma scrivi. Anche se facessi un read al posto di un write il risultato (come ha detto qualcuno prima di me) non stampi a video il mesaggio ricevuto.....quindi come ti accorgi se la trasmissione è avvenuta con successo? Inoltre perchè usi la software serial sul Mega? hai a disposizione 4 seriali hardware da usare a tuo piacimento. Ultima cosa, prima di Serial.begin nel setup aggiungi sempre un delay(2000), perchè potresti bloccare la seriale. certo la situazione è di facile recupero, ma percè perdere tempo cercando di beccare il momento giuto pr rilasciare il reset? una delle ultime discussioni a rguardo: http://arduino.cc/forum/index.php/topic,112680.0.htmlN. Edit: ho letto troppo velocemente sorry
|
|
|
|
|
39
|
International / Megatopic / Re: leOS - un semplice OS per schedulare piccoli task
|
on: July 03, 2012, 04:13:39 am
|
@Leo Questo è quello che leggo dal'ultimo codice postato (0.1.0) [...]
#elif defined (ATMEGAxU) ISR (TIMER3_OVF_vect) { TCNT3 = _starter; #endif
[...]
#elif defined (ATMEGAxU) //during setup, disable all the interrupts based on timer3 TIMSK3 &= ~((1<<TOIE3) | (1<<OCIE3A) | (1<<OCIE3B) | (1<<OCIE3C) | (1<<ICIE3)); //normal mode: counter incremented until overflow, prescaler set to /1 TCCR3A &= ~((1<<WGM31) | (1<<WGM30)); TCCR3B &= ~((1<<WGM33) | (1<<WGM32) | (1<<CS32) | (1<<CS31)); TCCR3B |= (1<<CS30); //TCCR3B = 1; prescaler = 1.0; #endif
[...]
#elif defined (ATMEGAxU) TCNT3 = _starter; TIMSK3 |= (1<<TOIE3); #endif
prendo un abbaglio? Poi altra domandina c'era una errore nella dichiarazione di starter a 8 bit invece che 16? Scusa, non sono pedante, sto solo studiando il tuo codice per crescere un po su questo lato della programmazione...trovo il tuo codice affascinante  N.
|
|
|
|
|
40
|
International / Megatopic / Re: leOS - un semplice OS per schedulare piccoli task
|
on: July 03, 2012, 03:51:20 am
|
Allora.... sono qualche ora di inc....ture, sono riuscito a sistemare il supporto per l'Arduino Leonardo/Atmega32U4. In allegato la versione 0.1.0 che compila e gira perfettamente con questa scheda e sul suo micro. Attenzione che qui si usa il timer 1. E ora... buonanotte!  Ciao Leo, ho appena fatto girare tutti gli esempi, e anche se non necessario, confermo il perfetto funzionamento...tcù test is megli che uan  Ho anche letto il codice, ma Attenzione che qui si usa il timer 1. non stai ancora usando il timer 3? N.
|
|
|
|
|
41
|
International / Italiano / Re: Rilevare la posizione esatta di un robottino.......
|
on: July 02, 2012, 07:58:28 am
|
Ciao, Tempo fa mi è capitato di cimentarmi con la localizzazzione indoor, e all'uni stavano studiano i cricket elaborati al MIT. funzionano con gli ultrasuoni, e la loro implementazione, se non ricordo male, soffriva di un errore di qualche centimetro. Con arduino potresti creare dei nodi nella stessa maniera e dotare anche il robot di un nodo simile. Ti allego il del mit, magari ti è utile anche per capire di cosa si tratta http://cricket.csail.mit.edu/Cmq credo che si possa usare anche zigbee per questo scopo, con vantaggi notevoli su consumi e facilità di creare reti. N.
|
|
|
|
|
45
|
International / Megatopic / Re: leOS - un semplice OS per schedulare piccoli task
|
on: June 30, 2012, 03:15:25 am
|
Allora questo thread sul forum internazionale mi ha illuminato If you manually reset the board does the LED "breathe" for several seconds? Once it stops breathing does it start blinking with a period of two seconds?
No.
On this part specifically, does the LED "breathe" after a manual reset? And, fter a few seconds of breathing does it start blinking with a period of two seconds? In normal operation those are two distinct phases. Breathing indicates that the bootloader is running. After the bootloader runs for a few seconds it starts the sketch. On a fresh board you should see blinking because they load the Blink sketch at the factory to test. Of course, if you've managed to upload any sketch it will overwrite Blink but it doesn't sound like you've ever had success? Also, can you confirm that Device Manager shows the board enumerated and drivers loaded in both bootloader and sketch mode? Just open Device Manager, check that you have an entry for the Leonardo without any errors or warnings (sketch mode), then manually reset the board and confirm that it comes up again with no errors or warnings (bootloader mode). Eventually it should automatically reset and go back into sketch mode. If you want to confirm which you're seeing, look at the PIDs: 0x0034 is bootloader, 0x8034 is sketch. quindi il pulsare, che il buon zeveland chiama respirare, è assolutamente normale, indica che il bootloader sta girando. Quindi, considerando che le 14 pulsazioni rientrano nel normale funzionamento, al momento su leonardo l'unico problema della leOS è che il blink vien fatto ogni 3/4 secondi invece che ogni secondo (blinkWithoutMillis) @leo p.s. ho visto il post sul forum internazionale.....davvero poca attenzione, strano...a me continua a sembrare una figata 
|
|
|
|
|