Go Down

Topic: Analog VU Meter - I2C OLED SH1106 - OLEDMeter Animation (Read 20058 times) previous topic - next topic

choze

Hello, RALPH
Please ino file OLED meter version u8glig thank Choze.

masterice

Superb bit of code!
Just what  I was looking for.

I have changed the 'VU' to read "S units" and the display will be used as an S meter on the front panel of my BITX40 transceiver.
I have another identical display as the operating frequency and step rate display for a modified Adafruit si5351 oscillator.
Each display is running from its own Arduino Nano simply because they're so cheap.
Thanks again for the code (and the link to the Image3GLCD conversion software)

:)
MasterIce


stievenart

Superb bit of code!
Just what  I was looking for.

I have changed the 'VU' to read "S units" and the display will be used as an S meter on the front panel of my BITX40 transceiver.
I have another identical display as the operating frequency and step rate display for a modified Adafruit si5351 oscillator.

:)
MasterIce
Thanks for the "Superb" comment... So, you are using it for signal strength on a HAM radio?

~stievenart

masterice

Hi Stievenart
Yes the S meter project is exactly as you say. It won't be too accurate as it's using an audio derived signal from prior to the main audio amplifier but it's more to make the front panel of the final rig look that bit more professional LOL  :)

Masterice

choze

Hello stievenart

Please yaks type OLED display size using 0.96 or 1.3 I2C

THANK YOU  CHOZE

ric_xcer

Loved it. I really enjoyed the project. Thanks for sharing. I'm waiting for Oled to arrive (Aliexpress) to do it. Congratulations Stivienart.

ric_xcer

I used the Project Sketch in the Arduino IDE, however the following error appears:


C:\Program Files (x86)\Arduino\libraries\Adafruit_SH1106-master\Adafruit_SH1106.cpp: In member function 'virtual void Adafruit_SH1106::drawPixel(int16_t, int16_t, uint16_t)':

C:\Program Files (x86)\Arduino\libraries\Adafruit_SH1106-master\Adafruit_SH1106.cpp:123:14: error: 'swap' was not declared in this scope

     swap(x, y);

              ^

C:\Program Files (x86)\Arduino\libraries\Adafruit_SH1106-master\Adafruit_SH1106.cpp: In member function 'virtual void Adafruit_SH1106::drawFastHLine(int16_t, int16_t, int16_t, uint16_t)':

C:\Program Files (x86)\Arduino\libraries\Adafruit_SH1106-master\Adafruit_SH1106.cpp:673:16: error: 'swap' was not declared in this scope

       swap(x, y);

                ^

C:\Program Files (x86)\Arduino\libraries\Adafruit_SH1106-master\Adafruit_SH1106.cpp: In member function 'virtual void Adafruit_SH1106::drawFastVLine(int16_t, int16_t, int16_t, uint16_t)':

C:\Program Files (x86)\Arduino\libraries\Adafruit_SH1106-master\Adafruit_SH1106.cpp:741:16: error: 'swap' was not declared in this scope

       swap(x, y);

                ^

exit status 1

Erro compilando para a placa Arduino/Genuino Uno


Does anyone know the reason?

Thanks!

stievenart

#22
Jan 05, 2017, 03:39 am Last Edit: Jan 05, 2017, 03:45 am by stievenart
Loved it. I really enjoyed the project. Thanks for sharing. I'm waiting for Oled to arrive (Aliexpress) to do it. Congratulations Stivienart.
Thanks for the congrats Ric_xcer!

Try to (re)load latest libraries with links inside sketch highlighted:




ric_xcer

It only loaded with the SSD1306 library (not SH1106). When I get the OLEDs I post the results. Thanks again.

ric_xcer

Now it worked! I changed .cpp file from SH1106.


Follow these steps: https://github.com/wonho-maker/Adafruit_SH1106/issues/2


Thanks!

illumation

Very nice work dude! Done mine though with SSD1306, some minor changes on code, and viola! Looks very pretty, sexy!

I don't have the mic amplifier but (see some movements when I touch the analog pins) was busy with a serial VU meter with a Delphi (Windows) program that works fine with the Arduino Nano. Got digital already and now I want to modify the code to communicate with my Windows program. My Windows program communicate with percentages so I have to change that.

One thing though, the VU doesn't move that natural (too fast to my taste). There is a simple tweak, don't allow fast changes below the peak and decrease the peak with two degree above 50% and decrease below that with one degree until a new peak detected. Simple tweak and looks much more natural because of the smooth fall in value.

Did this with a flash VU meter in the past, did the same trick in my Delphi program so I don't have to change the arduino code.

Very nice job, many thanks. Maybe I post my code some day on instructables. Some work to do right now but want you to know that your work is awesome. Many thanks! Maybe I rewrite the Adafruit code to OLED_I2C because it is a much lighter library so you are able to use it with lower amount of memory.

 

illumation

If you want to download the image program without the need to login:
http://www.ablab.in/uploads/files/Image2GLCD_Software.zip

stievenart

Very nice work dude! Done mine though with SSD1306, some minor changes on code, and viola! Looks very pretty, sexy!
Thank you... I appreciate the nice comments and I appreciate your customization. Post some pics/video, if you get a chance.

~stievenart

mrbambix

Nice,

Actually planning on doing the exact same thing ;-) An extra Arduino in my Bitx40 as well to drive the display and this oled as well. Got the .96 SPI oled going yesterday with some slight modifications and also had to use a different  library to get the SPI version going. Otherwise works great ;-) Mine still uses the VU graphic though hehehe Will have to change that though.

Regards
Leo
PD1LDB

Superb bit of code!
Just what  I was looking for.

I have changed the 'VU' to read "S units" and the display will be used as an S meter on the front panel of my BITX40 transceiver.
I have another identical display as the operating frequency and step rate display for a modified Adafruit si5351 oscillator.
Each display is running from its own Arduino Nano simply because they're so cheap.
Thanks again for the code (and the link to the Image3GLCD conversion software)

:)
MasterIce



mrbambix

Hi,

Tried a few different SMeter images but all seem to get garbled up on my tiny .96 Oled display. Any ideas or pointers greatly apreciated ;-) Maybe its the 4bit depth ?

Actually getting the same result if I load our original bmp file into Image2GLCD and paste the generated hexcode into the const...?

Never mind ;-) in the Image2GLCD tool just don't forget to set the custom size of your display and all is well.

thanks,
Leo

Here is a link to the original bitmap (BMP file) to this post and the original bitmap:



The code for the bitmap is in the link'ed .ino file on the first post.


Go Up