Problema con librerie "SD.h" e "ChronoLCDShield.h"...

Salve a tutti,

Oggi sto provando a far coesistere due shield e per l'appunto "ethernet con SD" e un altro, "display LCD Nokia 6600".

Il mio esperimento per adesso non va a buon fine, a causa di un probabile conflitto tra due librerie e per l'appunto quella "SD.h" e quella "ChronoLCDShield.h", per il funzionamento del display; in sostanza, appena includo nel progetto "SD.h", il display non visualizza niente, ma se la escludo, torna a funzionare.

#include <SD.h> //se viene inclusa, il display non riporta alcuna scritta, funziona solo la gestione dei colori
#include <ColorLCDShield.h>
#define BACKGROUND BLACK
#define C_COLOR  RED 
#define H_COLOR  BLUE  
#define M_COLOR  GREEN  
#define S_COLOR  YELLOW


int buttonPins[3] = {3, 4, 5};
LCDShield lcd;

void setup()
{
  lcd.init(PHILLIPS);
  lcd.contrast(40);
  lcd.clear(BACKGROUND);
}

void loop()

{
 lcd.setStr("test", 4, 22, C_COLOR, BACKGROUND);
  }

Per capire la causa della non visualizzazione sul display, ho dovuto filtrare il contenuto del progetto originale.

Un salutone e buona domenica

Uno shield tipo questo?

Qui leggo che il Nokia 6600 usa la comunicazione SPI, che è usata anche dallo shield Ethernet per comunicare sia con il chip ethernet sia per accedere alla SD.

leo72:
Uno shield tipo questo?
https://www.sparkfun.com/products/9363

Qui leggo che il Nokia 6600 usa la comunicazione SPI, che è usata anche dallo shield Ethernet per comunicare sia con il chip ethernet sia per accedere alla SD.

Ciao, bravo, proprio quello, non possono coesistere i due shield?, o esistono soluzioni software/hardware, per farli funzionare insieme?

Dovresti cambiare pin CS per lo shield LCD, però questo si traduce (oltre che nel cambiare leggermente la lib) nel modificare lo shield stesso... non so se sia fattibile senza danneggiare nulla. Inoltre andrebbe poi visto se la compilazione di tutte quelle librerie non esaurisca le risorse mnemoniche dell'Arduino.

leo72:
Dovresti cambiare pin CS per lo shield LCD, però questo si traduce (oltre che nel cambiare leggermente la lib) nel modificare lo shield stesso... non so se sia fattibile senza danneggiare nulla. Inoltre andrebbe poi visto se la compilazione di tutte quelle librerie non esaurisca le risorse mnemoniche dell'Arduino.

Grazie per la tua risposta, penso proprio che cambierò il display eheh, questo lo userò per altri progettini

Mi potresti dare un consiglio per sapere a priori, se eventualmente due shield possono coesistere tra di loro?

Adesso vorrei acquistare un altro display, ma non so se potrei incontrare altri problemi d'incompatibilità.

L' LCD che vorrei acquistare è il 4884.

Ciao