• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Expander PCF 8574 dekaracja pinów jako define
#1
Witam!
W moim projekcie brakło mi wyjść więc zakupiłem dwa expandery PCF8574 i wszystko działa jak należy, jednak powstał problem po dołączeniu do projektu płytki VS1053 odpowiedzialnej za dźwięk. Skorzystałem z biblioteki adafruit i też Arduiono gra jak należy. 
Do brzegu:
Płytka VS1053 zajmuje mi w arduino zbyt wiele pinów, ale mam kilka wolnych z ekspandera, ale nie mogę sobie poradzić z deklaracją pinów ekspandera tak by przerzucić piny z arduino na ekspander. Jeżeli chodzi o kod to użyję skrótu myślowego, gdyż całego nie ma sensu wrzucać:
Kod:
‪#‎include‬ <PCF8574.h>
#include <Wire.h>
// include SPI, MP3 and SD libraries
#include <SPI.h>
#include <Adafruit_VS1053.h>
#include <SD.h>
// --------------------------Chodzi właśnie o te zdefiniowane piny by użyć tych z ekspandera
//‪#‎define‬ CLK 13 // SPI Clock, shared with SD card
#define MISO 12 // Input data, from VS1053/SD card
#define MOSI 11 // Output data, to VS1053/SD card
// Connect CLK, MISO and MOSI to hardware SPI pins.
// See http://arduino.cc/en/Reference/SPI "Connections"
// These are the pins used for the breakout example
//#define BREAKOUT_RESET 9 // VS1053 reset pin (output)
#define BREAKOUT_CS 10 // VS1053 chip select pin (output)
#define BREAKOUT_DCS 8 // VS1053 Data/command select pin (output)
// These are common pins between breakout and shield
#define CARDCS 4 // Card chip select pin
// DREQ should be an Int pin, see http://arduino.cc/en/Reference/attachInterrupt
#define DREQ 3 // VS1053 Data request, ideally an Interrupt pin

//---------------Tu mam zdefiniowany ekspander
PCF8574 expander;

void setup()
{
//-----------------------definiowanie wyjść pierwszego ekspandera
expander.begin(0x20); //pierwszy ekspander
expander.pinMode(0, OUTPUT); //pierwsza dioda oko BB
expander.pinMode(1, OUTPUT);
expander.pinMode(2, OUTPUT);
expander.pinMode(3, OUTPUT);
expander.pinMode(4, OUTPUT);
expander.pinMode(5, OUTPUT);
expander.pinMode(6, OUTPUT); //hologram
//--------------------funkcja odpowiedzialna za wydobywanie dźwięku
voices(3);
}
void loop(){
}

void voices(int nr){
//--------------------Tu są zdefinowane te piny które chcę przerzucić
Adafruit_VS1053_FilePlayer musicPlayer =
Adafruit_VS1053_FilePlayer(BREAKOUT_RESET, BREAKOUT_CS, BREAKOUT_DCS, DREQ, CARDCS);
Serial.begin(9600);
if (! musicPlayer.begin()) { // initialise the music player
Serial.println(F("Couldn't find VS1053, do you have the right pins defined?"));
while (1);
}
SD.begin(CARDCS); // initialise the SD card
musicPlayer.setVolume(0,0);
musicPlayer.useInterrupt(VS1053_FILEPLAYER_PIN_INT); // DREQ int
if(nr==1)
musicPlayer.playFullFile("track001.mp3");
if(nr==2)
musicPlayer.playFullFile("track002.mp3");
if(nr==3)
musicPlayer.playFullFile("track003.mp3");
if(nr==4)
musicPlayer.playFullFile("track004.mp3");
if(nr==5)
musicPlayer.playFullFile("track005.mp3");
if(nr==6)
musicPlayer.playFullFile("track006.mp3");
}
 
Odpowiedź
  


Wiadomości w tym wątku
Expander PCF 8574 dekaracja pinów jako define - przez Magikkomputerowy - 05-03-2016, 20:14

Skocz do:


Przeglądający: 1 gości