Ciao,
sto cercando di far funzionare un attiny85 liscio con la seriale. In pratica vorrei far funzionare la softwareserial per poter poi inviare messaggi midi. Su internette ci sono 1000 guide differenti, realizzate in tempi differenti, ma consultandone alcune non sono riuscito a venirne a capo.
Arduino IDE 1.0.4 - Scarico le librerie per l'attiny85.
Programmo il blink e funziona correttamente. L'attiny85 fa il suo dovere e fa lampeggiare il led. Carico il bootloader per mettere gli 8Mhz di clock e tutto va bene. Carico di nuovo il blink e funziona ancora bene.
Poi provo un esempio di softwareserial dell'Arduino. Il caricamento va bene. Collego il PB3 (pin2) dell'Attiny con il TX di Arduino e... sul serial monitor dell'arduino vedo caratteri strani, come se la velocità non fosse corretta.
Questo è il codice semplice dell'Attiny:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 4); //RX=PB3 pin 2; TX=PB4 pin 3
void setup()
{
mySerial.begin(9600);
mySerial.println("Prova di scrittura");
}
void loop() // run over and over
{
mySerial.println("Ricevi qualcosa?");
delay(500);
}
Ho provato varie velocità della seriale ma il risultato è il medesimo. Qualche suggerimento o guida che avete provato e funziona?
Guide? La mia
A parte questo, a me la SoftwareSerial funziona, senza problemi sia con l'IDE 1.0.x che con l'1.5.x. Per quest'ultima release dell'IDE ho da poco aggiornato anche la mia guida.
Però se trasmetti da Tiny ad Arduino, devi collegare TX del Tiny con RX dell'Arduino.
Ricorda di collegare anche il GND in comune tra ATtiny e Arduino.
Senza riferimento i livelli dei segnali RX e TX potrebbero essere sfalzati e impedire la buona comunicazione tra i due micro.
@Paolo: credo che gli importi ben poco di come preparere l'IDE 1.5.x per ATtiny ... anche perché stà usando la 1.0.4 ...
Tanto è inutile che cerchi di fare proseliti per la 1.5.x ovunque ... ] XD ]
... finché non è stabile e collaudata, è una pessima idea consigliarla ! Se non si deve usare la DUE o le nuove schede ... va benissimo la 1.0.5 che, oltretutto, è estremamente stabile
@Alegiaco: Come ti ha detto Paolo, controlla di aver collegato le masse e verifica l'incrocio TX/RX. Per il resto, anche io, come Leo, ti confermo che la SoftwareSerial su ATtiny85 funziona bene anche a 9600 !
Piuttosto ... hai modificato i fuse per alzare la frequenza del processore ? Perché l'ATtiny85 esce di fabbrica a 1MHz di clock ! Se non lo hai fatto, cambia i fuse e mettilo a 8MHz internal clock
Grazie a tutti dei contributi. In realtà non ho una particolare preferenza per l'IDE 1.0.x o o 1.5.x quindi proverò la guida di Leonardo. La 1.0.4 è semplicemente l'ultima che ho installato, anche se spesso uso ancora la 0.22.
Installo la 1.5.x e poi vi farò sapere.
Ma dentro la 1.5.5 beta non c'è la softwareserial? Non c'è.
Ma nel serial monitor della 1.5.5 non c'è la velocità di 38400 baud? non c'è.
Comunque, mi scarico la guida di Leonardo, seguo tutto, scarico la softwareserial ma non funge lo stesso. Sarà mica quel bischero del codice arduinoisp che ho lasciato dentro l'arduino uno a dare problemi?
Carico un bel codice che non fa niente, composto solo da setup e loop e... magia, funziona!
Comunque il collegamento, per usare il serial monitor di arduino è verso il pin tx (pin 1) dell'arduino, non verso l'rx, perchè io voglio vederlo nel serial monitor.