Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 836
ƎR like no other.
|
 |
« Reply #90 on: January 10, 2012, 03:10:57 pm » |
si ho appena notato  ma mi chiedevo per la sola trasmisione c'è bisogno dei 2 collegamenti o ne basta anche solo uno tra il TX e RX?
|
|
|
|
|
Logged
|
|
|
|
|
Monselice PD Italy
Offline
Faraday Member
Karma: 15
Posts: 4912
фон Крыса
|
 |
« Reply #91 on: January 10, 2012, 03:15:32 pm » |
in teoria ne dovrebbe bastare una, però mi par d'aver letto che uno dei due pin serve per sincronizzare la comunicazione in fase di partenza... fai una prova al volo... al momento non ho i tiny collegati per provare...
|
|
|
|
|
Logged
|
Se corri veloce come un fulmine, ti schianterai come un tuono.
|
|
|
|
Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 836
ƎR like no other.
|
 |
« Reply #92 on: January 10, 2012, 03:19:06 pm » |
ok adesso non ho nessun arduino sotto mano, domani provo... è che sto progettando un circuito stampato e mi risparmierei un collegamento "inutile" se inutile è 
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 83
Posts: 8239
:(){:|:&};:
|
 |
« Reply #93 on: January 10, 2012, 03:47:54 pm » |
ne basta solo uno senza problemi
|
|
|
|
|
Logged
|
|
|
|
|
Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 836
ƎR like no other.
|
 |
« Reply #94 on: January 10, 2012, 03:49:04 pm » |
ok grazie mille! 
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16495
Don't know what I do
|
 |
« Reply #95 on: January 10, 2012, 04:22:36 pm » |
Provate la NewSoftSerial con la ultima modifica, così mi fate sapere se va.
|
|
|
|
|
Logged
|
|
|
|
|
Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 836
ƎR like no other.
|
 |
« Reply #96 on: January 12, 2012, 02:06:34 pm » |
purtroppo, sono molto impegnato con la scuola in quuesti giorni  ma proverò il prima possibile 
|
|
|
|
|
Logged
|
|
|
|
|
Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 836
ƎR like no other.
|
 |
« Reply #97 on: February 09, 2012, 10:53:15 am » |
non ho ancora provato la newsoftware serial con le ultime modifiche sui tiny  però oggi stavo provando la newsoftware serial con 2 arduino mega... ho caricato questo codice su entrambi: #include <NewSoftSerial.h> NewSoftSerial er(62, 63);
void setup() { Serial.begin(9600); er.begin(9600); }
void loop() { if (er.available()) Serial.print((char)er.read());
if (Serial.available()){ er.print((char)Serial.read());} } e ho collegato gli rx e tx creati da software tra loro. quindi aprendo contemporaneamente i 2 serial monitor dovrei inviare un dato da uno e riceverlo sull'altro, ma questo non succede... analizzando con qualche led mi pare che il problema sia in ricezione perchè c'è una variazione del segnale ma non viene percepita dall'arduino ricevitore qualcuno sa perchè succede ciò? ho dimenticato qualcosa? (arrivo da un periodo di inattività  ) grazie a tutti in anticipo 
|
|
|
|
|
Logged
|
|
|
|
|
Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 836
ƎR like no other.
|
 |
« Reply #98 on: February 09, 2012, 12:47:50 pm » |
confermo che il problema è in ricezione... è strano perchè c'è un esempio molto simile anche sul reference http://arduino.cc/en/Reference/SoftwareSerial
|
|
|
|
|
Logged
|
|
|
|
|
Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 836
ƎR like no other.
|
 |
« Reply #99 on: February 09, 2012, 01:08:27 pm » |
sono riuscito a capire che non è colpa della libreria, o almeno con un arduino 2009 funziona... forse è perchè nel pin 62 del mega non è abilitato a ricevere  ma nel reference c'è scritto che può essere usato, qualcuno mi da una mano a capire meglio la situazione? grazie 
|
|
|
|
|
Logged
|
|
|
|
|
Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 836
ƎR like no other.
|
 |
« Reply #100 on: February 09, 2012, 01:51:08 pm » |
alla fine ce l'ho fatta da solo  adesso va, ho scaricato la versione newsoftserial12 e ho inserito la funzione listen... ma sinceramente non so quale di questi passaggi sia quello che ha determinato il funzionamento  , qualcuno sa spiegarmelo? grazie  #include <NewSoftSerial.h> NewSoftSerial er(62,63);
void setup() { Serial.begin(9600); er.begin(9600); }
void loop() { er.listen(); if(er.available()) Serial.print((char)er.read());
if (Serial.available()){ er.print((char)Serial.read());} }
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 83
Posts: 8239
:(){:|:&};:
|
 |
« Reply #101 on: February 09, 2012, 06:59:32 pm » |
stai usando l'ide arduino 1.0, che modifica un bel pò le librerie. in particolare nel tuo caso aggiunge l'istruzione: listen(); che attiva l'ascolto della classe NewSoftSerial. Questo perchè solo una NewSoftSerial alla volta può funzionare (questione di tempi di risposta credo), e quindi per poter avere più seriali virtuali hanno adottato questo trucco per attivare la NewSoftSerial corrispondente. altre info: http://arduino.cc/en/Reference/SoftwareSerialListenps. USA IL REFENCE, ti risparmi un sacco di sbattimenti inutili
|
|
|
|
|
Logged
|
|
|
|
|
Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 836
ƎR like no other.
|
 |
« Reply #102 on: February 10, 2012, 07:12:12 am » |
no, sto usando la 0022 e i refence li ho già letti quasi tutti... tuttavia non ho capito gran che...  io dovrei utilizzare 3 seriali sw e 3 seriali hw, ma non riesco a far andare 3 seriali sw contemporaneamente... una sola si ma 3 no...  ma siccome 4 di queste seriali vengono utilizzate 1 alla volta potrei collegarle tutte assieme su un rx hw e farle andare una alla volta con degli enable, no? si tratta di un arduino che deve ricevere, solo ricevere, dei dati da 4 ATtiny, quindi potrei impostare i tiny che quando non devono inviare dati il pin tx diventa rx.... non so se mi sono spiegato bene  secondo voi è fattibile?? o è un'idea che funzionaa solo nella mia testa
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16495
Don't know what I do
|
 |
« Reply #103 on: February 10, 2012, 07:40:29 am » |
Come ti ha detto Lesto, non puoi mettere in ascolto più di una seriale software contemporaneamente.
Ma se i dati devono arrivare tutti ad un Arduino, perché non usi il bus I2C? Per i Tiny esiste una libreria TinyWire che implementa la I2C via software. Ad ogni Tiny assegni un ID differente e poi fai spedire tutto all'Arduino. Alla ricezione dei dati, sai già chi ha spedito grazie all'I2C.
|
|
|
|
|
Logged
|
|
|
|
|
Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 836
ƎR like no other.
|
 |
« Reply #104 on: February 10, 2012, 07:53:40 am » |
eheh lo so, ma a me non piace usare la I2C perchè non sono ancora riuscito a capire come funziona  se provo a fare quello che ho detto prima, secondo voi può funzionare?
|
|
|
|
|
Logged
|
|
|
|
|
|