Looks like a really great tool for displaying noise. If you really wanted to see if it actually works, you would use a tone generator rather than music that sounds like noise.
@firmkillernate4 жыл бұрын
It's awesome learning about the mathematical theory of a Fourier transform, and then seeing a recreational application for it. Math and science are beautiful!
@joicejewerly5579Ай бұрын
Fourier transformation 😅😅😅I failed my test😂😂😂
@casholsen58487 жыл бұрын
In the late 60's HP had a billboard done to advertise a new spectrum analyzer product. In the old days the billboards were done with paper panels that were applied like wall paper. The guys didn't realize they had got the panels in the wrong order and the sign read anal spectromizer. Soon doctors started inquiring as to what this new device was used for. The sign got corrected quite quickly, butt not before lots of laughter.
@mickd69426 жыл бұрын
I know someone who has a big heavy old one and he calls it a rectum paraliser
@yorganyog4 жыл бұрын
The backward joke still fresh nowadays. Thanks for the story. Amazing.
@gyuftycfytc3 жыл бұрын
Line 54 is getting the complex magnitude at each frequency not "filtering out noise and hum".
@michaelgraff69787 жыл бұрын
I'm pretty sure the "black magic" is just finding the magnitude for the complex data points returned. It doesn't filter anything, it's just a part of how the FFT returns data and how you need to convert it for display.
@thomasschattat132 жыл бұрын
Fully acknowledged, that is exactly what I also thought. The author has actually no clue what he is doing. It shows some bars moving up and down, looks nice, but there is no understanding of the details. How do we know which frequency each bar stands for? Typical Arduino crap, all is sooo easy. Just import a library that someone else made and feel like a code guru. Horrible.
@GeorgeC1andonly4 жыл бұрын
Thanks Paul for your Learnelectronics videos. I enjoy watching these and improving my electronics skills. I was in the process of making a 'volume meter' with LEDs with an Electret microphone and got a little stuck with the analogue output - didn't figure to sample and then calculate the peak to peak - makes sense! Keep up the good work
@SheepSlayer4 жыл бұрын
I think you need to add some pull-down resistors to remove some of the noise, especially since you are using an analog input on the Arduino.
@georgechambers31977 жыл бұрын
Congrats on the Banggood swag! I buy a lot of stuff from them for my projects. Usually really good stuff for a very good price. Keep the video's coming I really enjoy them!
@learnelectronics7 жыл бұрын
George Chambers thanks! new videos every day
@80fumanchu5 жыл бұрын
Hello, it seem that the library fix_fft.h doesn't exist anymore in the GitHub link. Instead it seems to be another library called arduinofft.h, but the fuctions seems to use slightly different variables.
@nathanas645 жыл бұрын
Great little project .. amazing the arduino has enough power to do an fft
@wichvasinpraparus92864 жыл бұрын
ทท
@michaelpadovani95667 жыл бұрын
That's pretty cool. Congrats on your sponsorship from Banggood! I got some products by them and have been satisfied thus far.
@mikelee19065 жыл бұрын
Obviously not working. Picking up interference/hum.
@hund29554 жыл бұрын
I thought this joke in the beginning is gonne be discriminating but - as a german - i can say you only speak the truth
@rich10514147 жыл бұрын
You have 60 hz hum on the line.
@mikestckl69394 жыл бұрын
50hz in europe
@grahampayne72853 жыл бұрын
@@mikestckl6939 Right, and I thought USA was the ONLY country in the world, they do
@NavodKiriwaththuduwa4 жыл бұрын
Heyy, I'm doing a project for detecting high frequency. Were you able to find a method to detect higher frequencies? What is the maximum frequency that we can detect using Arduino?
@antipainK4 жыл бұрын
Do you know if the microphone analog output behaves the same as audio from headphone jack in our phones? Would be nice to see "clearer" spectrum from the cable
@alexjwinkle954 жыл бұрын
non-commercial audio signals [i.e. your phone's headphone jack] do not have a well-standardized line level, but typically operate on the order of 1V. As the analog input range of most arduinos is 0-5V, an amplification stage before the input would help maximize your resolution, but direct input would likely produce a measurable result.
7 жыл бұрын
hey, good video
@zkljaja4 жыл бұрын
Hello, is there a simple rudimentary way to show the value of the dominant frequency? Ive tried to put 64 values in an array, then find the biggest magnitude and the biggest next to it, then applied (Fs/64) * ( N1 * Mag1 + N2 * Mag2) / ( Mag1+ Mag2) but i get random numbers from a random range
@projetos_leotronico7 жыл бұрын
unhappily for me it did not work. The words ->Spectrum Analizer
@Amina98716 жыл бұрын
What happened to me was that the microphone's voltage output was too low. It actually might work with a single-frequency tone generator, for example, www.szynalski.com/tone-generator/ Just choose a square wave, bring the microphone as close to the speakers as possible(or even better, put it on headphones and bring one of them to the microphone), turn up the volume to the maximum and hopefully it will work :)
@trajanonerd4 жыл бұрын
Would it be possible to add to this code something to detect a specific frequency in a specific volume and then use an "if" argument to make Arduino do something? Thanks
@luisvillamar7087 Жыл бұрын
Of all the projects you have in your drop box, which one is this?
@DonutQueen-ud3ir4 ай бұрын
Hey i got a question, what were the names of the hardware components you used?
@ranjiyimuri94025 жыл бұрын
this project is pretty amazing. i just want to ask if i can replace the microphone to a 3.5 mm female jack and connect my phone on it? i want to get the output spectrum of music coming from my phone. Thanks in advance sir. I already subscribed :)
@learnelectronics5 жыл бұрын
Yep, that will work
@ranjiyimuri94025 жыл бұрын
@@learnelectronics oh thank you very much sir!!! . the purpose of what i ask is for music scoring of out final project thank you very much it will help a lot :D
@HazbTv7 жыл бұрын
Hi, any idea about how to save data in a .txt file? I need to save it and not to display :/ I'm using a leonardo ETH board, and I need to apply a FFT to accelerometer datas, but I'm not able to do it. Thanks for answers ! :)
@roccorid4 жыл бұрын
If you did a filter sweep on that signal we could see the freqs moving around? ;)
@donaldhenke27504 жыл бұрын
question? do you have mike gain turned all the way up? i built this with all that you have there and the display you have to talk really loud.
@RobsTechy2 жыл бұрын
cool. what is the bandwidth?
@joicejewerly5579Ай бұрын
Band good😅😅😅sponsorship 🎉🎉🎉I have less money to play with toys 😂😂😂many thanks for the detailed video😅😅😅I can save a hundred instead of buying😂😂😂
@qzorn44403 жыл бұрын
sweet project, i would like make a 3 phase voltage/current harmonic spectrum analyzer for the smart-grid to test for dirty power. a cheap-o fluke-41 single-phase.. thanks ..:) esp32?? i would be interesting to play some audio tones like 400, 2000, 5000 hz to see the vertical bar graph results 🤔
@razasmd5 жыл бұрын
Hello, I really like the idea. I was wondering is there a way that this setup can be implemented on 32x64 RGB led Matrix board?
@hershjoshi35495 жыл бұрын
yeah you could prob just use a bunch of decoders/demultiplexers
@chrisn.67607 жыл бұрын
netter Witz, ich hätte gesagt 3. Einer der die DIN Norm des Leuchtmittels überprüft, einer der drauf achte, dass es gesetzlich konform ist und ein Hilfsarbeiter, der die Lampe wechselt.
@learnelectronics7 жыл бұрын
+Chris N. Danke mein Freund
@rabbitpiet71825 жыл бұрын
Habe daran gelacht
@b9robot017 жыл бұрын
Hi there, this is a really cool video, thanks for posting it. I was wondering if I wanted to build this and also wanted to use a 1.3 in oled how would I change the code to run the larger display?
@learnelectronics7 жыл бұрын
No change in code to use a larger OLED. They have the same resolution. You will just get a bigger display.
@laflaf3d4 жыл бұрын
Thanks for your vidéo and your clear explaination
@sergiopalazzi60335 жыл бұрын
Great tutorial! I was looking for it!
@sergiopalazzi60335 жыл бұрын
I need to filter in a noisy hambient a specific sound and to "set On" an alarm: any suggestion? Thanks in advance, Sergio
@stifishpilot095 жыл бұрын
You could do fft on your audio signal, target the desired frequency and set your alarm off when a peak of a certain amplitude at your target frequency is detected
@joseluisarenasperez38557 жыл бұрын
Excellent work I have to order one off this oled displays and try this project 👍👍
@joseluisarenasperez38557 жыл бұрын
Maybe with a tft display spi interface ?
@learnelectronics7 жыл бұрын
jose luis arenas perez most of the TFT displays I've seen use way more than the 5-7 pins of SPI. but it would be cool in color
@fredlllll7 жыл бұрын
while you will probably not get access to such a display, the library with the oscilloscope(oszi.ino) is for a 16 bit color tft display that can be up to 15" at 1024x768. all controllable by an arduino via simple UART(Serial or SoftwareSerial). they were available on aliexpress once, but not anymore. they are made by Stone HMI somewhere in china /edit: what im trying to say: displays like that do exist, probably from other manufacturers too, but they are hard to come by
@timbeaulieu24116 жыл бұрын
+learnelectronics Did you do anything to get the refresh rate high? I have my setup working, but the refresh rate is about 3 Hz
@learnelectronics6 жыл бұрын
+Tim Beaulieu No I didn't change anything
@zemoderno5 жыл бұрын
Is it possible to get the spectrum data? I would like to plot some graphics. Thanks.
@ismailtan7 жыл бұрын
I'm looking into your code and I was wondering. Is it possible to printout the data into integers instead of displaying it on a LCD? It's my first time I'm going to make use of FFT and it's a lot to take. Could you perhaps help me by pushing me in the right direction?
@learnelectronics7 жыл бұрын
Yes, all the graphics are doing is talking a value held in a variable and printing it
@StephenBieda4 жыл бұрын
How can I create a UVC light spectrum analyzer with Arduino UNO R3? I have a Waveshare UV Sensor GUVA-S12SD already. I am new to Arduino and need instructions on how to assemble. I want to be to output the wavelength on a display or some sort.
@omoivo65257 жыл бұрын
I have error Message fix_fft was Not declared in this scope "fix_fft(Data,im,7,0); please Help. Thanks
@learnelectronics7 жыл бұрын
Omo Ivo That's probably an error due to a "}" or ";"
@omoivo65257 жыл бұрын
learnelectronics Thanx!!!
@javierpallalorden7 жыл бұрын
Nice video! I think you can just leave out the OLED_RESET it works fine without it.
@learnelectronics7 жыл бұрын
Javier Palla Lorden thanks, I'll have to try it
@ke4est7 жыл бұрын
Did you remove your Spectrum Analyzer code from your dropbox?
@learnelectronics7 жыл бұрын
No I haven't.
@ke4est7 жыл бұрын
Okay, I must have over looked it, I will look again! :)
@martinwestermeyergondonnea846 жыл бұрын
could this work with a camera module? :o at least for visible light spectrum
@AlienWacker5 жыл бұрын
Ummmm... I didn't see any real difference between your voice, the music, and "no" sound... Are we even sure it's working?
@stevenowen14204 жыл бұрын
There was some difference particularly on the music, but the system was so "noisy" that it mostly masked the mic input. Good for proof of concept but really needs filtering.
@cuneytozur13296 жыл бұрын
Are specrum lines depend on sound DESIBEL or sound frequance?
@tzq33tdq5 жыл бұрын
It shows the db levels in a range of frequencies
@earlowens9983 жыл бұрын
I could not get the OLED to show the graph. So I hooked the build to my oscilloscope and whistled. I got sine wave changing with my pitch.
@maccheese30067 жыл бұрын
Arduino Spectrum "Analizer" :D
@et.sachin6 жыл бұрын
how can i make arduino listen to a particular frequency so that it can trigger a task when the frequency is recieved
@JD-jl4yy6 жыл бұрын
Was wondering that as well... did you find it out?
@tzq33tdq5 жыл бұрын
Check the level, if it's above the noise level, it's probably a signal
@hamster60394 жыл бұрын
Can i use input from aux and not from mic?
@abdeselemgouaidia570 Жыл бұрын
can i do this in serial ploter without LCD
@fredlllll7 жыл бұрын
well now we will see who read the description :P very interesting that an arduino is able to do this computation. that microphone could use a little preamplification :P
@learnelectronics7 жыл бұрын
fredlllll it was turned all the way up
@fredlllll7 жыл бұрын
i meant an aditional opamp. at least the graph didnt look like the microphone picked up much
@learnelectronics7 жыл бұрын
fredlllll ahh, ok. yeah it didn't pick up too much
@joseluisarenasperez38557 жыл бұрын
What about a led matrix display ?
@learnelectronics7 жыл бұрын
jose luis arenas perez yes, that would work. make sure you check out tomorrow's video...
@MandArtian7 жыл бұрын
thank your very much for the video. I am an arduino rookie and I would really like to do this build, but I do not have an OLED but a LCD (a000096) screen. So i am using quite a few more pins. Maybe you got an idea or can help me out with the code to receive the same result?
@learnelectronics7 жыл бұрын
Herrclueless most lcd's are character driven not pixel driven. So I'm not sure it could work. Sorry.
@MandArtian7 жыл бұрын
learnelectronics ah I see, that's too bad. Thank you
@venuvenkat76765 жыл бұрын
Can an accelerometer be used instead of microphone ....we are working on vibrational analysis ..need some suggestions
@stifishpilot095 жыл бұрын
Sure ! I did an experiment like that at work not too long ago ! FFT of your vibrations data over time will give you the amplitude of the vibration over each frequency.
@cbm80amiga3 жыл бұрын
The code from this video is stolen from my channel (6y old video). Not nice ...
@learnelectronics3 жыл бұрын
I said where the code came from, I did not steal it. You want to split the $2.25 I made off this? Email me your PayPal at arduino0169@gmail.com. I'm happy to split it with you.
@cbm80amiga3 жыл бұрын
@@learnelectronics I don't need money. Just mention the source in the description and will be ok :)
@orange_tweleve Жыл бұрын
@cbm80amiga he still didn't mention you. That's the thing about giving out open source codes
@vishnuhareesh2813 жыл бұрын
0:09 i yelled “nein!” 😐
@startobytes3 жыл бұрын
neeeeeeeeeeein
@marianoelia97937 жыл бұрын
Awesome video, you've been pumping out tons of content which is awesome! With time, subscribers and views will come, btw the fluke giveaway is great. I tried this one out but I'm not getting great results. I'm just looking at the 64 values in the serial monitor that would be displayed, and I don't see a visible change when clapping or talking. If I turn the pot on the microphone up, the leftmost values will go from around 8 to 60, (as well as a couple values next to it) but the rest of the spectrum is static. Any ideas?
@learnelectronics7 жыл бұрын
Mariano Elia my best guess would be an amplitude issue with your mic, have you tried it with a line-in signal?
@belectroart3 жыл бұрын
I don't get the +im[i] * im[i] in the noise filter equation since im[i] = 0;
@prasanna291119676 жыл бұрын
Thank You for amazing video and sharing information; can we have full audio spectrum display? i.e 20 Hz to 20kHz?
@massimookissed10236 жыл бұрын
Prasanna Gunasinhe That's really pushing the limits of the Arduino's analog sampling rate, even with the ADC prescaler set for fast sampling.
@anonaustria98675 жыл бұрын
There's two aspects making that quite a challlenge: Speed and memory. Speed: With 'analogRead' you can only get a maximum sampling rate of 9.1kHz, which - at the absolute max - allows for 4.5kHz signals to be sampled. The sampling rate can be increased drastically by using direct register manipulation, tho. Memory: You need at least two full waves (ts > 2T) for FFT to work reliably. This means that for a 20Hz signal to be sampled at the necessary sampling frequency for 20kHz will take 8000 samples, so at absolute minimum (uint8_t) 8kB of SRAM, which is just not available, not even in the Arduino MEGA. We could work around these by performing two or more FFTs for different frequency ranges, but we would be shooting out of the Arduino's comfort zone there. It's simply not built for such tasks.
@baltazar00076 жыл бұрын
ihey coool video. would it be posibel to make a tutorial where a arduino recieving and information on a specific frequenzy. just so we can get an idea about how radio signals are decoded.
@der_wahre_waldi3 жыл бұрын
Does not work, error message when compiling.
@Attilator4 жыл бұрын
Very nice project, it inspired me to build it, too. I changed the OLED display & corrected the word ANALIZER, and left the rest as it is. I ran a frequency test, showing that the maximum frequency is 4400Hz. Is there any chance to increas the frequency to some 18kHz? Even if we have to limit the number of channels/filters? Here is the link to the video: kzbin.info/www/bejne/p2TCqaGcpbifipI
@titangamers71114 жыл бұрын
Can we use led strips with this arduino instead of this display panel.
@hagoopeeshoo1233 жыл бұрын
That’s actually what I’m working on right now, although instead of using a microphone it’ll take in audio input from a standard 3.5 mm aux input
@jacekf7 жыл бұрын
Where did you get the fix_fft library? you should post links to libs or include them with code. I found one from TJC no go, copied one from:forum.arduino.cc/index.php?topic=353495.0 errors.... error: 'prog_int8_t' does not name a type const prog_int8_t Sinewave[N_WAVE-N_WAVE/4] PROGMEM = {
@learnelectronics7 жыл бұрын
If I could remember where I found it, I would have posted the link. It seems to be randomly floating around.
@jacekf7 жыл бұрын
Could You add it to the dropbox? pls...
@learnelectronics7 жыл бұрын
Done!
@jacekf7 жыл бұрын
Danke!
@learnelectronics7 жыл бұрын
jacekf Gern geschehen
@tejasarlimatti84207 жыл бұрын
hey I'd really appreciate it if you could tell me how one can land such a gig with banggood! (or other retailers, too). thanks in advance
@learnelectronics7 жыл бұрын
+Tejas Arlimatti work hard 12 hours a day, put out quality videos and they will notice you and contact you
@anmolyadav27006 жыл бұрын
hey!! sir instead of OLED !! how can i use 8X8 LED's ? please rply fast THANK YOU :)
@jasonlee32474 жыл бұрын
Anmol yadav fast
@MPElectronique7 жыл бұрын
Hi. i didnt find the file spectrum in your source code :-(
@learnelectronics7 жыл бұрын
It's there now, sorry about that
@grillpig38607 жыл бұрын
0:06 thanks for that compliment ^^
@JuanRodriguez-wt3vc3 жыл бұрын
Can you record the data?
@gokulamaanickam13676 жыл бұрын
worked brilliantly thanks
@kf6czh7 жыл бұрын
The Fix_FFT is not at the URL in the video, but I managed to find the Fix_FFT close by. I having problems compiling. how do you implement the Fix_FFT files (.h and cpp)? I tried to include the Fix_FFT files in the sketch library as well. "Arduino: 1.6.13 (Windows 10), Board: "Arduino/Genuino Uno" Here is the Error messages that I get C:\Users\John\AppData\Local\Temp\ccmvj0ye.ltrans0.ltrans.o: In function `main': sketch/main.c:17: undefined reference to `fopen' sketch/main.c:22: undefined reference to `fseek' sketch/main.c:23: undefined reference to `ftell' sketch/main.c:24: undefined reference to `rewind' sketch/main.c:32: undefined reference to `fopen' collect2.exe: error: ld returned 1 exit status exit status 1 Error compiling for board Arduino/Genuino Uno. This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences. " Thanks John
@tubical716 жыл бұрын
A simple solution is, go to the libaray manager and add search for fft....and there is a fix_fft, simply add this and the arduino IDE now knows where the lib is.
@debojyotilahiri68774 жыл бұрын
There is no frequency in the code. Samples are read in a for loop. What is the sampling rate ? How one can do FFT without knowing the sampling rate ? So nobody will see anything except unknown frequencies with unknown sampling rate. Very funny.
@peterpaulsen29314 жыл бұрын
Ok, this is already kinda old, I just discovered it, still ... What the hell is your sampling rate (frequency)? You do nothing in your source to do a controlled sampling. The 128 samples are taken as fast as the A/D would do it - that ist useless. You need to determine a sampling freuqency, otherwise the results are just a funny display of funny jumping lines.
@karelysjazminlopezpinargot212 жыл бұрын
good job
@JWH35 жыл бұрын
Amusing joke and true, except I've German blood too so it might be a genetic bias :)
@jerzyszczepanski97923 жыл бұрын
Hi. Could anybody please post a build of Arduino decibel meter for an Airgun with shown Max last reading. Small size would be preferable, possibly Arduino Nano and Oled screen. Most Android Phone Apps don't work correctly as the phone kills the Microphone sensitivity automatically and sampling isn't fast enough. Thanks in advance. Good Video BTW.
@muhammadhanifghulamhussain5635 жыл бұрын
Circuit Diagram??
@erikhoffman6 жыл бұрын
Nice, but didn't pick up your voice at all!!!!!!!
@chrishye3 жыл бұрын
Awesome!!!
@videshx8183 жыл бұрын
Is sound & noise considered as spectrum, I thought radio signals are considered as spectrum !! hah
@19oscarmartinez656 жыл бұрын
PARECE QUE LA RESPUESTA NO TIENE NADA QUE VER con la realidad, solo simula el espectro porque ¿como una bocina de cel va mover frecuencias bajas al extremo de la grafica?
@vbrwqjw493 жыл бұрын
The code is sloppy. Mistakes riddled throughout the file.
@joedempseysr.33767 жыл бұрын
Nice video. Now how's about some links to the code. Thanks!
@learnelectronics7 жыл бұрын
Joe Dempsey, Sr. It was in the description...www.dropbox.com/sh/m6c40pu99fqxb5b/AABAQTv67pbYOl6gNozWwDNLa/spectrum?dl=0
@casey.white.4 жыл бұрын
thanks !
@iamasgroup3 жыл бұрын
Correction, how many Germans need to change a scrap engineering Philips German bulb? Please avoid monologue, Gebels is a dead man. Leave us to answer those kinds of questions.
@saurabhjha54014 жыл бұрын
Plss answer that how can I find frequency of sound using microphone and this whole set up of
@sungilcho78214 жыл бұрын
i tried and found out that is not working also this video does not explain with detail just find another video.
@donaldhenke27504 жыл бұрын
cool. iam german to.
@aberrantcurse85516 жыл бұрын
an amazing joke.
@whoo06643 жыл бұрын
Thanks, but no more accurate with "arduinoFFT"
@chuck_norris5 жыл бұрын
0:05 *speech 0*
@Rainbow__cookie5 жыл бұрын
Hahaha Not funny
@adiis20094 жыл бұрын
that's not wrong OM, may be some litle QSB.... cause propagation. best 73 from YB land
@felixcenteno20034 жыл бұрын
this only take DC Offset data[i] = val / 4 - 128 BLACK MAGIC !! it just calculate the magnitude of the Bins is the same as PITAGORAS !!!! magnitud = SQRT( REAL**2 + IMG**2) int dat = sqrt(data(i)*data(i) + im(i)*im(i)) FFT function: fix_fft(int8_t fr[], int8_t fi[], int16_t m, int16_t inverse) where : fr[] = real array fi[] = imaginary array m = 2 elevated at m Bins, 7 in your case is 128 bins inverse: 0 = FFT and 1 = inverse FFT
@yurahandy7 жыл бұрын
Not good. On this analizer you can see only the low frequency.
@learnelectronics7 жыл бұрын
+Jurij Lang adjust the code for the frequency you want
@massimookissed10236 жыл бұрын
If the sampling frequency is low, it'll never detect high frequencies anyway. Also, you'll get no meaningful info of any freqs whose period is longer than the sampling window.
@JohnMorProds7 жыл бұрын
NINE!
@PatchworxStudios Жыл бұрын
The joke is you need 0 germans... we have enough migrants to do it for us. Thats not even a joke.
@hawo19975 жыл бұрын
Nice joke but it's true. So go on working no time for talking.....
@gflinch7 жыл бұрын
Yinzer ;)
@learnelectronics7 жыл бұрын
How'd yinz guess? Yinz see me dahntahn on da south side n'at?
@veisystems2675 жыл бұрын
LOL at your explanation of the FFT code... you should really read/understand it... it's not that difficult.
@learnelectronics5 жыл бұрын
Not a programmer...but if you dont like my videos feel free to not watch them.
@antipainK4 жыл бұрын
Why do you care? For my Computer Science class we had to write our own FFT from scratch. And after that the professor said "You're never gonna use it, you should use libraries and documentation for specific use case"