Pages: [1]   Go Down
Author Topic: handling slace select between Arduino Micro and Adafruit VS1053  (Read 504 times)
0 Members and 1 Guest are viewing this topic.
Colorado Springs, CO
Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am just trying to make sure I am handling the SPI functions correctly on the Micro vice the UNO and other Arduinos. 

I have an Adafruit VS1053 audio card with onboard micro SD for data storage.  The card has 2 and half SPIs CS and XDCS for the VS1053 chip and SDCS for the SD card.  I have an example sketch with SS coding for an UNO:

#define CS 10        // VS1053 chip select pin (output)
#define DCS 8        // VS1053 Data/command select pin (output)
#define CARDCS 4     // Card chip select pin

Does it matter if I use the specific SS pin (PB0, chip pin 8, digital pin 17) on the Arduino Micro, or can I specify any pins to be SS for these?

Thank you
Krist
Logged

Colorado Springs, CO
Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Finally this working! Got working with following connections:
VS1053 - Arduino Micro
VCC - ICSP 5V
GND - ICSP GND
SCLK - ICSP SCK
MISO - ICSP MISO
MOSI - ICSP MOSI
RST - Pin 9 (D9)
CS - Pin 10 (D10)
XCDS - Pin 8 (D8)
SDCS - Pin 6 (D6)
DREQ - RX (Pin D0, INT2)

Ensured sketch constants reflected DREQ = 0 (an interrupt pin) and CARDCS=6.

I also checked to verify DREQ will work on TX (D1, INT3), Pin 2 (SDA, D2, INT1), and Pin 3 (SCL, D3, INT0) as well. Problem appeared to be in SDCS on Pin 4.
Logged

Campbell, California, USA
Offline Offline
Newbie
*
Karma: 1
Posts: 4
Working on a new men's watch project called Votsh
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

This isn't working for me. I have a Arduino Micro and Adafruit VS1053 breakout board with SD card.

VCC - ICSP 5V
GND - ICSP GND
SCLK - ICSP SCK
MISO - ICSP MISO
MOSI - ICSP MOSI
RST - Pin 9 (D9)
CS - Pin 10 (D10)
XCDS - Pin 8 (D8)
SDCS - Pin 6 (D6)
DREQ - RX (Pin D0, INT2)

I think I have the ICSP pins wrong. Is the correct layout like this:

3 2 1    (where pin 1 is at the dot on the PC board, and closest to the Micro edge and away from the Micro reset button)
4 5 6

1 = MISO
5 = MOSI
6 = 5V
4 = GND
2 = SCK = VS105 SCLK pin
3 = RESET

Here is my sketch:

#include <SPI.h>
#include <SD.h>
#include <Adafruit_VS1053.h>

void setup() {
Serial.begin(9600);
while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
}

#define CLK 9       // SPI Clock, shared with SD card
#define MISO 11      // Input data, from VS1053/SD card
#define MOSI 10      // Output data, to VS1053/SD card
#define RESET 13      // VS1053 reset pin (output)
#define CS 10        // VS1053 chip select pin (output)
#define DCS 8        // VS1053 Data/command select pin (output)
#define DREQ 0       // VS1053 Data request pin (into Arduino)
#define CARDCS 6     // Card chip select pin

Adafruit_VS1053_FilePlayer musicPlayer = Adafruit_VS1053_FilePlayer(MOSI, MISO, CLK, RESET, CS, DCS, DREQ, CARDCS);

int firsttime = 1;

void loop() {

    if (firsttime==1){
      firsttime=0;
    }

  // disable the card (we won't be using it)
  pinMode(CARDCS, OUTPUT);
  digitalWrite(CARDCS, HIGH); 
 
  // initialise the music player
  if (!musicPlayer.begin()) {
    Serial.println("VS1053 not found");
  }

   
  // put your main code here, to run repeatedly:
for (int i=0; i<10; i++){
Serial.println( i );
}
  delay(1000);


}

The musicPlayer.begin fails and I see "VS1053 not found".

Help, please. I'd really like to get this working.

-Frank
Logged

---
Working on a new men's watch project called Votsh.com

Pages: [1]   Go Up
Jump to: