Looks pretty cool. It seems to have 4 MB of storage so that is probably enough for most applications.
Awesome! I've started compiling what I can find about the JQ8900 on my blog. At this point I'm just hosting a couple PDFs of the manuals (seems like several of the copies I've found were behind paywalls) and a snipit or two of arduino code. Would be great to link to whatever you find.I am also working on this serial controller, will share anything I can find or what works.
Dave
//include libraries
#include "Arduino.h"
#include "SoftwareSerial.h"
SoftwareSerial mySoftwareSerial(15, 14); // RX, TX
void setup(){
randomSeed(analogRead(0));
delay(1000);
mySoftwareSerial.begin(9600);
pinMode(4, INPUT);
}
void loop()
{
byte playnext[] = {0xAA, 0x06, 0x00, 0xB0 };
int trig = digitalRead(4);
if (trig == HIGH) {
mySoftwareSerial.write(playnext, sizeof(playnext));
delay(5000);
}
delay(100);
}
Awesome! I've started compiling what I can find about the JQ8900 on my blog. At this point I'm just hosting a couple PDFs of the manuals (seems like several of the copies I've found were behind paywalls) and a snipit or two of arduino code. Would be great to link to whatever you find.
The part I've found most useful is the little bit of code below. It uses the Hex byte string "AA 06 00 B0" to play the next MP3 file when the trigger (a PIR) goes off. If I have only one MP3, it just plays that one over and over. (I've also used that same hex string to unpredictably cycle through a series of MP3's)
Code://include libraries #include "Arduino.h" #include "SoftwareSerial.h" SoftwareSerial mySoftwareSerial(15, 14); // RX, TX void setup(){ randomSeed(analogRead(0)); delay(1000); mySoftwareSerial.begin(9600); pinMode(4, INPUT); } void loop() { byte playnext[] = {0xAA, 0x06, 0x00, 0xB0 }; int trig = digitalRead(4); if (trig == HIGH) { mySoftwareSerial.write(playnext, sizeof(playnext)); delay(5000); } delay(100); }