Go Down

Topic: Connect RF Link Transmitter / Receiver - 434MHz and MP3 Shield on an UNO (Read 1 time) previous topic - next topic

tjetdraw

For my project to work I need to get my 2 Arduino uno to connect to RF Link Transmitter / Receiver - 434MHz and play MP3 files.
I have a Transmitter and Receiver working using the basic VirtualWire.h sketchs
I have a Sparkfun MP3 shield working  using SFEMP3Shield sketch (http://www.billporter.info/sparkfun-mp3-shield-arduino-library)
However I don't know how to combine these Sketches to trigger the MP3 player.


HazardsMind

My GitHub:
https://github.com/AndrewMascolo?tab=repositories

tjetdraw

The code for the MP# player is to big to post but below is the code for both the transmitter and receiver.
This is the link to the MP3 player code and documentation.
http://mpflaga.github.com/Sparkfun-MP3-Player-Shield-Arduino-Library/files.html

Thank you!
tjetdraw

Code: [Select]
// transmitter.pde
//
// Simple example of how to use VirtualWire to transmit messages
// Implements a simplex (one-way) transmitter with an TX-C1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: transmitter.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include <VirtualWire.h>

void setup()
{
    Serial.begin(9600);   // Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000); // Bits per sec
}

void loop()
{
    const char *msg = "hello";

    digitalWrite(13, true); // Flash a light to show transmitting
    vw_send((uint8_t *)msg, strlen(msg));
    vw_wait_tx(); // Wait until the whole message is gone
    digitalWrite(13, false);
    delay(200);
}

// receiver.pde
//
// Simple example of how to use VirtualWire to receive messages
// Implements a simplex (one-way) receiver with an Rx-B1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: receiver.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include <VirtualWire.h>

void setup()
{
    Serial.begin(9600); // Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000); // Bits per sec

    vw_rx_start();       // Start the receiver PLL running
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
int i;

        digitalWrite(13, true); // Flash a light to show received good message
// Message with a good checksum received, dump it.
Serial.print("Got: ");

for (i = 0; i < buflen; i++)
{
    Serial.print(buf[i], HEX);
    Serial.print(" ");
}
Serial.println("");
        digitalWrite(13, false);
    }
}

HazardsMind

Where is the code that shows you tried to combine the MP3 player and the receiver code?
My GitHub:
https://github.com/AndrewMascolo?tab=repositories

tjetdraw

I just add the VirtualWire Libraries to the MP3 code thinking that the commands would be received through the serial port. Now on the transmitter side I just changed to code send the command (2) to play track number 2 like this, "(const char *msg = "2";)"


Code: [Select]
/**

#include <SPI.h>

//Add the SdFat Libraries
#include <SdFat.h>
#include <SdFatUtil.h>

//and the MP3 Shield Library
#include <SFEMP3Shield.h>

//Add the VirtualWire Libraries
#include <VirtualWire.h>


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy