Go Down

Topic: Problema con librerias spi, sd shield ethernet y shield Lcd (Read 1 time) previous topic - next topic

jesusetxe

Hola.
Estoy haciendo un contador de luz con un Arduino uno, con información en un Lcd de 2x16 (Shield Lcd) y cada dia genero un fichero en una sd con todo la información (Shield Ethernet V3).
Por seperado todo funciona OK, pero cuando conecto todo, y activo todo el software, el texto del Lcd, se ve un poco menos y el sistema no me reconoce la tarjeta Sd.

El inicio de programa es
Code: [Select]

#include "EmonLib.h"
#include <SD.h>
#include <SPI.h>
#include <LiquidCrystal.h>

EnergyMonitor emon1;
Sd2Card card;

const int chipSelect = 4;

LiquidCrystal lcd(8,9,3,5,6,7);



Alguien tiene alguna idea de donde tengo el problema? Por lo que he leido, la Sd solo usa el Pin 4.
Gracias a todos por adelantado.

max_saeta

Saludos
Te aclaro la SD no solo usa el pin 4 sino todos los del SPI, es decir 10,11,12 y 13, aunque el 10 es el CS del ethernet.
Ahora si conectaste todo alimentado desde el Arduino el problema que tienes es de alimentación, debes tratar de alimentar desde una fuente externa los shield.

Tienes el propio arduino, la LCD, el modulo Ethernet, el modulo de medición de energía, así que son muchos alimentados desde la misma placa.

josemanu

Mmmmmm ... puede ser lo que te señala max_saeta o puede que tantos shields unos sobre otros se molesten entre ellos, comprueba los pines que utiliza cada shield, puede que dos de ellos estén utilizando pines comunes (por ejemplo el pin 4) y por ello no te funcione la tarjeta SD.

También puede ser que las librerías no sean compatibles entre ellas, eso sería mas dificil de solucionar.
http://www.ardumania.es/

Iniciación

max_saeta

Correcto.

Unos de los pines del SPI son el 9 y 10, los cuales son usados por el shield LCD.  Conecta el shield LCD a otros pines. lo malo es que no estara montada sobre el arduino sino con conecciones externas.

josemanu

Hay un truco pero es poco "elegante". Consiste en doblar  para afuera los pines del shield conflictivo (solo los que molestan) para que no interfieran y luego puentearlos con pines libres.
http://www.ardumania.es/

Iniciación

jesusetxe

Ya esta Soluccionado.
Como bien habéis indicado, todo el problema era el pin 10 del Shield LCD, el cual es usado para controlar  la retroiluminación.
Lo he sacado por fuera y todo listo.
MUCHAS GRACIAS a tod@s.

josemanu

De nada, ha sido un placer.

Para tus próximos proyectos no olvides visitar Ardutienda ;)
http://www.ardumania.es/

Iniciación

Go Up