Added: 1 year ago
From: simoninns
Views: 25,575
Sort by time | Sort by thread (beta)

Link to this comment:

Share to:

All Comments (20)

Sign In or Sign Up now to post a comment!
  • Yay FantomenK!

  • Just built a couple of these, fantastic project!! Thanks for taking the time to document it and making it so easy to follow.

  • Nice work! thanks!

  • Hey,

    looks nice do you use a kind of an AGC circuit or anything like that, to be "independent" from the inputsignal value???

    greetings

  • @lolerus - There is no AGC, the circuit is designed to work from a standard 1-1V Peak-to-peak signal such as a standard line-out or mp3 player headphone output.

  • Wooww

    Nice job simoninns!

    I saw you website 1 month ago and find a project I liked. It is the RGB VU. I download the source and I am studing it to try to made a version of the TLC5940 library in PCW CCS, because I do not know very much about C18. Maybe I can do this....

    About this video, hum...

    I can not beleave that a simple PIC can do a FFT with quality like this one.

    You coment early that the original ideia was do the FFT in C#. Do you have any materials that can help us in this way?

    Bye

  • @zinkws - The C code for this project should be very portable and easy to move to a compiler other than Hitech picc 18. The code was originally developed in C# to make it easy to debug. You simply use the maths library to create a sine wave which can be fed to the FFT routine to test the output. Once it's working you can then move the FFT routine to any compiler you like; although you should be able to port directly between the two PIC compilers without too much trouble.

  • You did awesome job Simon thanks

    can i ask about the name of MP3 music that you used in your demonstration?

  • @abidibrahim - It's by FantomenK, you can find the link at the end of the video.

  • Nice. Ideas for improvement: Maybe try to do moving average of 3-4 frame or a software lowpass filter for softer bar movements, or using something like Hamming window for the input samples.

  • @frankbuss - My original prototype had a USB interface allowing the PIC to upload the sampling information to a PC so I could develop the FFT code on the PC (much easier to debug on Visual Studio C#). Using the same technique it should be possible to develop more complex maths, although (unless you wanted to recode in assembler) the update rate would suffer. The demo board has a 'logarithmic' display mode too which results in a less 'lively' display.

  • @simoninns Using a hardware interface and developing on PC is a good idea. I do this, too, but usually I write a hardware layer and simulate all the hardware on PC, too, so I don't need any hardware. Then just implementing the hardware layer for the target microcontroller and usually it works :-)

    BTW: see my latest video for a nice and easy to use OLED.

  • Great work! The attention to detail in the project and write-up really show.

  • Very nice.

  • @jeriellsworth - from you... quite an accolade :)

  • I'm going to be boring and ignore the actual project and ask about those screw-looking posts in brass on the PCB. What are those, test points?

  • @treborrrrr - Yes they are test points. If you read the project description on my website you will see what they are for :)

  • cool! you do make some very interesting things, Simon!

  • Now that is cool! How can you do an FFT on an 18F PIC? Is it overclocked in any way?

  • @ubuntututorials - it is a standard PIC18F4550 with a 20Mhz resonator, no tricks or overclocking. It relies on optimisations which take advantage of the PIC18F's silicon 8x8 multiplication hardware built into the ALU of the processor. It doesn't even have any hand-built assembler, it's all done in C.

    Details will be on my website shortly :)

Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more