Pages: 1 2 [3] 4 5 ... 41   Go Down
Author Topic: Giocando con l'Attiny85  (Read 40951 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Adesso sto giocando con l'I2C.... voglio vedere se riesco ad interfacciarmi ad un DS1307 e ad inviare l'ora all'Arduino tramite NewSoftSerial.... panico!  smiley-cool

(cmq questo progetto mi sa che lo terminerò stasera o stanotte... ora devo proprio scappare)
Logged


Milan
Offline Offline
Edison Member
*
Karma: 2
Posts: 1128
gioblu.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

grande  smiley
Logged

Community robotica / programmazione Arduino
www.gioblu.com

Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

grande leo interessa anche a me il ds1307 con il tiny se hai sviluppi posta pure le soluzioni smiley-grin
Logged

Torino
Offline Offline
Full Member
***
Karma: 0
Posts: 133
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Adesso sto giocando con l'I2C.... voglio vedere se riesco ad interfacciarmi ad un DS1307 e ad inviare l'ora all'Arduino tramite NewSoftSerial.... panico!  smiley-cool

(cmq questo progetto mi sa che lo terminerò stasera o stanotte... ora devo proprio scappare)

Grande! avere il tempo!!!
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Grande! avere il tempo!!!

Beh, oggi era il mio giorno libero e mandati via i bambini ho avuto l'intera mattinata per "spippolare"  smiley-lol
Mica è sempre così, purtroppo  smiley-kiss
Logged


cuneo
Offline Offline
God Member
*****
Karma: 3
Posts: 785
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

anche arduino con arduinoISP va bene
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Uhm... sto incontrando alcune difficoltà. Intanto il supporto I2C non è integrato ma offerto tramite USI, che è una specie di bus seriale programmabile. Per gestirlo ho trovato una libreria TinyWire... però pare che questa non vada d'accordo con la NewSoftSerial... o forse con il DS1307 che ho io (che è montato su uno shield autocostruito a cui mi interfaccio).
In buona sostanza sulla seriale dell'Arduino non arriva nulla... e non so se è perché non legge dall'RTC oppure perché non riesce a trasmettere....

Devo indagare meglio. Peccato perché la libreria offre un esempio di interfaccia ad un DS1307 quindi teoricamente la cosa è fattibile, solo che non capisco cos'è che non va nel mio circuito. Boh... forse è l'ora tarda (come ieri notte).... magari dormendoci sopra mi viene qualche idea..  smiley-razz

EDIT:
mi sa che è proprio la NewSoftSerial.... usa gli interrupt e forse l'alterazione di questi va a dar noia alla libreria TinyWire...

EDIT2:
è confermato... La NewSoftSerial e la TinyWire sono incompatibili. La TinyWire disabilita gli interrupt mentre la NewSoftSerial invece li usa.... è ovvio che non possano andar d'accordo  smiley-twist
« Last Edit: March 29, 2011, 06:11:26 pm by leo72 » Logged


Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 758
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non puoi usare pin differenti?
Logged

Gianfranco

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No perché sono proprio le librerie incompatibili.
Nella TinyWire ho trovato la disattivazione degli interrupt mentre nella NewSoftSerial sono usati per leggere/spedire i dati senza bloccare l'esecuzione degli sketch.
Dal sorgente della TinyWire:
Code:
// Disable Interrupts.

Dalla pagina della NewSoftSerial:
Code:
Using interrupt-driven RX

Quindi insieme non possono andare d'accordo.
Logged


Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 758
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non puoi fare in modo che quando usi una libreria li attivi e poi quando usi l'altra li disattivi??

ch'esso, leggi dall'RTC ogni 5 min? prima di leggere attivi quello che ti serve e poi lo disattivi... fantascienza?
Logged

Gianfranco

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi pare una soluzione troppo complicata.
Cmq, vista la limitazione di pin, usare sia l'I2C sia la seriale porta via 4 pin da un totale di 6 (diciamo 5+1, perché il pin di reset, sul datasheet lo dichiarano "weak pin", pin deboluccio, quindi non so fino a che punto sia consigliato usarlo), limitando quindi ciò che l'Attiny può fare.

Più che altro questi sono esperimenti cognitivi che mi aiutano a capire i limiti del micro. Che, cmq, reputo veramente ottimo: 8 KB di flash, un clock che volendo può arrivare a 20 MHz, possibilità di programmarlo al volo con 4 cavettini... ganzo!  smiley-grin
Logged


Genova
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
Racoon power!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Leo!
Grande, hai trovato il modo di far funzionare sia la SoftwareSerial, sia la NewSoftSerial! Complimenti!

Però io ho un problema sulla SoftwareSerial, provando come indichi nel serial monitor mi appaiono numeri casuali, la prima volta 14, un a capo, e 140; provando ancora 0, a capo, 0 a capo, e 140..
Se poi provo ad usare un APC220 (modulo trasmissione onde radio) che funziona in seriale, all'altro capo ottengo simboli ripetitivi ma incomprensibili..
C'è qualcosa che non mi torna.. eppure dovrei aver fatto tutto come descritto..

Ti è capitato anche a te per caso? Può dipendere dalla tolleranza del +-10hz nella frequenza del Attiny, che manda fuori clock la seriale?
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Essendo implementazioni software forse può dipendere da questo. Prova variando la velocità della connessione, metti un valore basso (4800), più facilmente gestibile via software.
Logged


Genova
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
Racoon power!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Niente da fare.. salta sempre fuori:

224
0
0
224
0
0
..

Tra l'altro prima avevo sbagliato, non era 140, ma 224. Che poi è il decimale del carattere che mi esce fuori se lo invio tramite ACP220.
Boh.. farò un po' di prove cambiando caratteri e cambiando connessioni.
Riuscire a far funzionare la seriale darebbe al Attiny85 delle potenzialità enormi!.. spero di venirne a capo..

Grazie comunque!
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Riproverò anch'io, domani.
Mi pare che una volta abbia dato problemi anche a me... non mi ricordo però se con la SoftwareSerial o con la NewSoftSerial
Logged


Pages: 1 2 [3] 4 5 ... 41   Go Up
Jump to: