Hola a todos!
Estoy realizando un pequeño proyecto de asistente virtual. Por ahora tengo todo funcionando separado, sin embargo al mometo de querer juntar ciertos componentes tengo problemas.
Me explico, estoy utilizando una shield vs1053 y una pantalla tft 1.8 128*160, ambos componentes usan el BUS SPI.
Tengo entendido que nos interesa al CS para cambiar la comunicación de un exclavo a otro, sin embargo, cuando cambio de la pantalla a la shield y reproduzco una canción esta suena con interferencia (la shield sola suena de maravillas), claramente algo estaré haciendo mal, por lo que dejaré parte del código puesto:
#include "Ucglib.h"
#include <ThreeWire.h>
#include <SPI.h>
#include <SdFat.h>
#include <vs1053_SdFat.h>
int PANTALLA_CS = 22;
int MP3_CS = 9;
SdFat sd;
vs1053 MP3player;
Ucglib_ST7735_18x128x160_HWSPI ucg(2, 22, 3);
void setup(){
SPI.begin();
pinMode(PANTALLA_CS,OUTPUT);
pinMode(MP3_CS,OUTPUT);
//PANTALLA INICIALIZADA
domaDormir();
//MP3 INCIALIZADO
sd.begin(SD_SEL,SPI_QUARTER_SPEED);
MP3player.begin();
MP3player.setVolume(0,0);
}
void loop(void)
{
digitalWrite(MP3_CS, HIGH);
digitalWrite(PANTALLA_CS, LOW);
crearPantalla();
delay(5000);
digitalWrite(PANTALLA_CS, HIGH);
digitalWrite(MP3_CS, LOW);
MP3player.playTrack(10);
delay(3000);
MP3player.stopTrack();
digitalWrite(MP3_CS, HIGH);
digitalWrite(PANTALLA_CS, LOW);
logoVerde();
delay(5000);
}
La idea es lograr controlar un dispositivo u otro, ya que en el proyecto utilizaré la pantalla para motrar la hora o ciertos mensajes, después podré elegir la shield mp3 para colocar música ambiental o también un tranceptor LoRa para enviar un comando y que encienda o apague una luz, y poder tener libre movilidad entre ellos.
¡AGRADEZCO CUALQUIER AYUDA!