Arduino nano ed encoder

Ciao a tutti ho caricato questo programma su una Arduino Nano V3.0 ma non me lo carica.
Il messaggio di errore è piu o meno questo:

Lo sketch usa 3620 byte (11%) dello spazio disponibile per i programmi. Il massimo è 30720 byte.
Le variabili globali usano 212 byte (10%) di memoria dinamica, lasciando altri 1836 byte liberi per le variabili locali. Il massimo è 2048 byte.
Errore durante il caricamento dello sketch

Questo il programma:

int encoderPin1 = 2;
int encoderPin2 = 3;

volatile int lastEncoded = 0;
volatile long encoderValue = 0;
 
long lastencoderValue = 0;

int lastMSB = 0;
int lastLSB = 0;

void setup() {

  Serial.begin(9600);
  
  pinMode(encoderPin1, INPUT_PULLUP);
  pinMode(encoderPin2, INPUT_PULLUP);
 
  attachInterrupt(0, updateEncoder, CHANGE);
  attachInterrupt(1, updateEncoder, CHANGE);
 
}

void loop(){

Serial.println(encoderValue);
Serial.print("mm");

  }
void updateEncoder(){
  int MSB = digitalRead(encoderPin1); //MSB = most significant bit
  int LSB = digitalRead(encoderPin2); //LSB = least significant bit
 
  int encoded = (MSB << 1) |LSB; //converting the 2 pin value to single number
  int sum  = (lastEncoded << 2) | encoded; //adding it to the previous encoded value
 
  if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) encoderValue ++;
  if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) encoderValue --;
 
  lastEncoded = encoded; //store this value for next time
  }

PS Sulla Arduino UNO funziona!
Qualcuno sa delucidarmi?

... correggi il tuo post, hai messo MALE i tag CODE ... in pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

Dopo che avrai fatto qualto su richiesto …
… vai nelle preferenze del IDE e metti i segno di spunta sulle due opzioni per avere il dettaglio sia in compilazione che durante il caricamento.

In questo modo l’errore sarà molto più completo, copialo e riportalo qui così vediamo di che si tratta (… se anche questo lo racchiudi tra i tag CODE è meglio)

Guglielmo

Sono riuscito a risolvere! :)

Ho modificato il processore da ATmega328P a Atmega32P Old Bootloader

Grazie dei consigli comunque sono astati utili!

Già che ci sono ti chiedo un altro aiuto adesso vorrei visualizzare i dati su BLExAR Tramite un dispositivo Bluetooth collegato alla Arduino Nano... Hai qualche consiglio?

#include <SoftwareSerial.h>      
#define rxPin 10
#define txPin 11
int encoderPin1 = 2;
int encoderPin2 = 3;

SoftwareSerial btSerial(rxPin, txPin);

volatile int lastEncoded = 0;
volatile long encoderValue = 0;
 
long lastencoderValue = 0;

int lastMSB = 0;
int lastLSB = 0;

void setup() {

Serial.begin(9600);
btSerial.begin(9600); 
  
  pinMode(encoderPin1, INPUT_PULLUP);
  pinMode(encoderPin2, INPUT_PULLUP);
 
  attachInterrupt(0, updateEncoder, CHANGE);
  attachInterrupt(1, updateEncoder, CHANGE);
 
}

void loop(){

Serial.println(encoderValue , 1);

if (encoderValue == encoderValue , 1);
Serial.println();

if(btSerial.available()>0) Serial.write(btSerial.read());
if (Serial.available() > 0) btSerial.write(Serial.read());
  }
void updateEncoder(){
  int MSB = digitalRead(encoderPin1); //MSB = most significant bit
  int LSB = digitalRead(encoderPin2); //LSB = least significant bit
 
  int encoded = (MSB << 1) |LSB; //converting the 2 pin value to single number
  int sum  = (lastEncoded << 2) | encoded; //adding it to the previous encoded value
 
  if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) encoderValue ++;
  if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) encoderValue --;
 
  lastEncoded = encoded; //store this value for next time
  }

Per il momento ho tirato giù questo codice ma (ovviamente) non leggo i valori letti dall’ encoder sull’ app BLExArduino tramite il bluetooth!

Qualcuno sarebbe così gentile da darmi qualche dritta?