- Netduino Forums
- → kenNET's Content
kenNET's Content
There have been 25 items by kenNET (Search limited from 14-May 23)
#18757 Help porting Arduino code for FM radio module
Posted by kenNET on 04 October 2011 - 11:11 AM in General Discussion
#18762 Help porting Arduino code for FM radio module
Posted by kenNET on 04 October 2011 - 11:36 AM in General Discussion
Hi Ken,
I read you need help, on which level? How far is your current progress, can you post something about that already?
To begin, I need help with hook it up to Netduino and get them to "talk", sending the command I can properly figure out. My goal is to tune in a frequency, get signal level and read simple RDS data.
#18769 Help porting Arduino code for FM radio module
Posted by kenNET on 04 October 2011 - 01:24 PM in General Discussion
#18808 Help porting Arduino code for FM radio module
Posted by kenNET on 05 October 2011 - 07:16 AM in General Discussion
I've attached the 3 files I think you need to get started - I've tried to keep it close to the Arduino code so it's easy to
Thanks Jeremy! I give it a try tonight. How come you use Analogue port on Netduino?
/Ken
#18814 Help porting Arduino code for FM radio module
Posted by kenNET on 05 October 2011 - 10:46 AM in General Discussion
Hi Ken
A4 and A5 are the pins for I2C - there's a great post here
http://forums.netdui...5-pinout-cards/
I have the netduino plus card printed out and refer to it pretty much every day
Jeremy
Yes I got it that A4, A5 is for IC2, just curious if that data is really analogue.
/Ken
#18852 Help porting Arduino code for FM radio module
Posted by kenNET on 06 October 2011 - 09:52 AM in General Discussion
Yeah that's a good question, I think that A5 is a clock pulse so it's not analogue. I think the A4 (SDIO) sends logic pulses,
Jeremy
Hi Jeremy,
I now got the FM module to work, I can set channel and the radio plays. But it report mono and no RDS. I hear stereo in the headphones and I got strong signal (my iPod show RDS)
I try to pull "DisplayStatus()" with a timer, but I get same result only RSSI changes (Received Signal Strength Indicator)
Channel = 1014 (No RDS) (Seek Successful!) (Mono) (RSSI=54 of 75)
Jeremy, do you get RDS and stereo? I not sure if the RDS is enabled.
/Ken
#18859 Help porting Arduino code for FM radio module
Posted by kenNET on 06 October 2011 - 10:58 AM in General Discussion
What I found with the RDS was that I had to tell the device to listen for it for a while. I've written some proof of concept code for it, but as I said before it's a bit of a tangled mess, but it definitely gets text out of the signal.
I don't get in so I can read RDS, is my code correct? And why does it say that the station I receive is in "mono"?
this.ReadRegisters(); if((byte)(Si4703_Registers[STATUSRSSI] & (1<<RDSR))>0) { //Read RDS }
Here is the Ardino code for reading RDS
void readRDS(char* message, long timeout); // message should be at least 9 chars // result will be null terminated // timeout in milliseconds void Si4703_Breakout::readRDS(char* buffer, long timeout) { long endTime = millis() + timeout; boolean completed[] = {false, false, false, false}; int completedCount = 0; while(completedCount < 4 && millis() < endTime) { readRegisters(); if(si4703_registers[STATUSRSSI] & (1<<RDSR)){ // ls 2 bits of B determine the 4 letter pairs // once we have a full set return // if you get nothing after 20 readings return with empty string uint16_t b = si4703_registers[RDSB]; int index = b & 0x03; if (! completed[index] && b < 500) { completed[index] = true; completedCount ++; char Dh = (si4703_registers[RDSD] & 0xFF00) >> 8; char Dl = (si4703_registers[RDSD] & 0x00FF); buffer[index * 2] = Dh; buffer[index * 2 +1] = Dl; // Serial.print(si4703_registers[RDSD]); Serial.print(" "); // Serial.print(index);Serial.print(" "); // Serial.write(Dh); // Serial.write(Dl); // Serial.println(); } delay(40); //Wait for the RDS bit to clear } else { delay(30); //From AN230, using the polling method 40ms should be sufficient amount of time between checks } } if (millis() >= endTime) { buffer[0] ='\0'; return; } buffer[8] = '\0'; }
#18873 Help porting Arduino code for FM radio module
Posted by kenNET on 06 October 2011 - 04:02 PM in General Discussion
Have you tried polling, say for 60 seconds to see if anything appears in the RDS registers?
Jeremy
Hi,
I try pulling for 10 minutes, even on a local transmitter with RDS (RSSI is about 65). I work with broadcast so I put up a small FM transmitter in my lab...
But I question the quality of the FM board, I have one more that I tested with, but that don't even tune in a station... So I ordered one more FM-board to test with that.
/Ken
#19046 Help porting Arduino code for FM radio module
Posted by kenNET on 11 October 2011 - 07:40 PM in General Discussion
#19052 Help porting Arduino code for FM radio module
Posted by kenNET on 11 October 2011 - 08:49 PM in General Discussion
Hey Ken
Try this, it's only a proof of concept I put together in 20 minutes, so it's not good code or even remotely robust, but it'll get you started I hope:
Thanks Jeremy, It works!
What you are showing here is called "PS" (programme service) and is 8 characters long, Also interesting is "RT" (radio text) 64 characters long. Here is more info: http://en.wikipedia....dio_Data_System
Thanks again, now I have something to play with.
Another thing, do you think it's possible to control two ore more of this FM-board from the one Netduino, with all running and pulling data from each of them?
/Ken
#19053 Help porting Arduino code for FM radio module
Posted by kenNET on 11 October 2011 - 09:00 PM in General Discussion
The code I first got from you you cast with byte, that should not be there
before:
if ((byte)(this.Si4703_Registers[STATUSRSSI] & (1 << STEREO)) > 0) { status += " (Stereo!)"; } else { status += " (Mono)"; }
now, this works:
if ((this.Si4703_Registers[STATUSRSSI] & (1 << STEREO)) > 0) { status += " (Stereo!)"; } else { status += " (Mono)"; }
#19055 Help porting Arduino code for FM radio module
Posted by kenNET on 11 October 2011 - 09:48 PM in General Discussion
That's an interesting question about the two boards from one Netduino. I don't know enough about the I2C protocol right now to answer that unfortunately. If you've got two FM boards (even if the first one is only partially working) you might be able to try it, but I guess you might have to revisit the original code and try to eliminate static variables. I don't know how two devices with the same device identifier on the same I2C pins would work - I'd guess it would conflict, because the netduino can't determine which device to talk to at any one time? But it's just a guess.
I have 3 FM boards, 2 are working fine.
I was thinking of device identifier as they have to share I2C pins, but I'm not sure if that is possible to change device identifier on the board (and store it). If I cound have different ID then I just could make a new instance of the "FM board class"
I have code C# for many years, but bite/byte coding for Netduino is new for me, but I'm learning ;-)
/Ken
#22118 Audiomixer
Posted by kenNET on 27 December 2011 - 11:38 AM in General Discussion
#22120 Audiomixer
Posted by kenNET on 27 December 2011 - 11:46 AM in General Discussion
#22132 Audiomixer
Posted by kenNET on 27 December 2011 - 06:03 PM in General Discussion
#22133 Audiomixer
Posted by kenNET on 27 December 2011 - 06:20 PM in General Discussion
#22187 Audiomixer
Posted by kenNET on 28 December 2011 - 10:24 PM in General Discussion
#34290 Audio Controller
Posted by kenNET on 27 August 2012 - 05:40 PM in Project Showcase
My first project showcase, so be kind ;-)
I found a "digital controlled stereo audio processor" on e-Bay so I just had to control it with my Netduino.
TDA7313 is normally used in car stereo, this model is quite old but since it's DIP28 it fits on a breadboard. There a lots of TDA processors that have more features but most are SMD.
The TDA7313 have 3 stereo inputs, 2 stereo out (front and rear), volume, speakers, bass and treble controls.
It uses I2C, and I found an software emulator class (thanks GHI) so I can use any I/O pin, wish I find very useful.
I have attached a simple example for TDA7313 (.NET 4.2) and the PDF for the IC. Note that TDA7313 needs 9V, it does work on 5V from Netduino but not sure on the performance.
Have fun!
kenNET
Attached Files
- AudioControler.zip 167.69KB 116 downloads
- TDA7313.pdf 249.68KB 126 downloads
#34302 Audio Controller
Posted by kenNET on 27 August 2012 - 07:24 PM in Project Showcase
Wow! And here I've been slogging through accomplishing the same thing by using a big clunking rotary switch, a relay shield, and a Kits R Us preamp kit (with the 4 linear pots replaced by an AD5206).
I don't know whether to scream or rejoice! In any event, I certainly owe you a beer or three.
Is there a DIP mount version of the TDA7313 that will support more than three multiplexed inputs?
Thanks!
I was thinking the same paths before, using digital pots in a regular audio circuit.
TDA7439 have 4 inputs and is SDIP30, problem is SDIP don't fit on a breadboard the pins are closer than on a DIP. I have also looked at TDA7719 that one have lots of inputs and nice features, that is TSSOP28, but you could use a breakout board. I have both circuits but have not tested them yet.
/K
#34314 Audio Controller
Posted by kenNET on 28 August 2012 - 06:58 AM in Project Showcase
I should have asked earlier: did you base your design on the test circuit in the datasheet? Or did you have to get tricky to maximize the audio quality?
Thanks again!
Hi,
No trix, I just used the "TEST CIRCUIT" on page 2 in the PDF for design. Don't forget to add pull-up resistors for SCL and SDA. I used 2.2 kohm to 3.3V
/K
#34366 Audio Controller
Posted by kenNET on 29 August 2012 - 12:09 PM in Project Showcase
Hi kenNET,
Cool! Do you have a video of this in action, by any chance?
Chris
I can do a video soon, just want to move the project to "Netduino Go" that I got a few days ago.
/Ken
#34454 Shield Base Firmware v4.2.0.1 (beta 1)
Posted by kenNET on 30 August 2012 - 08:04 PM in Netduino Go
#34462 Shield Base Firmware v4.2.0.1 (beta 1)
Posted by kenNET on 30 August 2012 - 08:55 PM in Netduino Go
Hi Ken,
I2C will be the last feature implemented. We're wrapping up SPI right now, and UART will be next.
Chris
Ok, when do you think I2C will work Chris?
Now it feels like I got me a GO, Nwazet Go Tinker Kit and two sheilds that I can not use as I thought ;-)
/Ken
#35179 Audio Controller
Posted by kenNET on 14 September 2012 - 01:16 PM in Project Showcase
Really cool kenNet,!!
Are you using three different amps for front, rear and bass respectively - what amps are they and how do you power them?
Btw, the 7719 seems cool - you could have the Netduino sample the analogue level meter output from the chip and then have the Netduino do something cool with that information.
Hi,
I haven't much more on this project, I wait for I2C on Netduino Go. It's still in the "lab", just using an old iPod and a radiotuner as inputs and a regular stereo as output, nothing fancy here...
I have the TDA7719, but haven't got it working, the I2C protocol is more complex than on TDA7313.
/Ken
#35189 Audio Controller
Posted by kenNET on 14 September 2012 - 05:34 PM in Project Showcase
What you need the Go for?, no real need for muscle here I'd say. I use the mini for all my "shit", but then again I love the sport of it if all..
I know I got a tendancy to push things down other people's throats, but how'd like the IR remote idea? It's probably a good lot simpler than you might think.
And also, again, got amps? What are they and what you feedin em with?
I don't need Go! but I just got one with touch display and more modules, so why not build a nice control interface...
I was thinking of building a audiomixer with an TDA7313 (or 7719) on each channel, but since the I2C address is the same on all TDA chips' I need a multiplexer or one Netduino on each channel. It would be nice to have a "mini-mini" Netduino (just like a Mega328 chip on Arduino).
IR remote is a good idea. Amps haven't got to more than a headphone amp... but the amps that you used looks interesting.
- Netduino Forums
- → kenNET's Content
- Privacy Policy