Author Topic: What is good UI for frequency of a generator? I have pots, encoders and buttons.  (Read 1301 times)

0 Members and 1 Guest are viewing this topic.

Offline dusanTopic starter

  • Regular Contributor
  • *
  • Posts: 83
  • Country: sk
I want to build my first square wave generator, nothing fancy, arduino or stm32 blue pill, one level up from blinking demo, 0-99kHz. What is best user interface for setting frequency?

- single pot
- two pots (coarse and fine)
- multiturn pot
- pot for each decimal place (5 pots)
- two buttons (+1, -1)
- +/- buttons for each digit (99999 has 5 digits so 10 buttons)
- single encoder
- two encoders (coarse and fine)
- 1 encoder for each digit (5 encoders)
- something else?
 

Offline themadhippy

  • Super Contributor
  • ***
  • Posts: 2848
  • Country: gb
my preferred method  is a pot for frequency and a switch for range
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11597
  • Country: us
    • Personal site
My prefferred UI for setting values with really wide ranges like frequencies is the following. 4 buttons for navigation (up/down/left/right). Left/right select the current digit and up/down increment decrement the value. If the digit goes off range then the value to the left of the cursor changes.

So, you have good control over which order of magnitude you want to change and you have control over the whole range past that order of magnitude. The same muscle memory applies to adjustments in 1 Hz increment and in 1 MHz increments. And ability to directly select the digit lets you quickly dial in the initial value.
Alex
 
The following users thanked this post: pardo-bsso

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15070
  • Country: fr
Agreed, it''s a lot more effective than rotary encoders. But obviously rotary encoders are more flexible.


 

Offline schmitt trigger

  • Super Contributor
  • ***
  • Posts: 2297
  • Country: mx
My personal preference is to have my fingers rotate a button while making an adjustment of any parameters.
In the past this meant a potentiometer. However good quality potentiometers are becoming expensive, thus nowadays I would suggest an encoder.
But the nice thing about microcontrollers is that your could also do a hybrid, with encoders and push buttons for instance.
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6557
  • Country: ro
Rigol DG4000 series AWG has buttons to type the frequency number, and yet a few buttons, very useful, for 'Hz', 'kHz', 'MHz'.  Pressing the units act as an Enter.  Has a rotary encoder, too, but I find the encoder rather annoying in practice.

If I were to make an audio generator, I'll probably go for two potentiometers, coarse + fine.
As a second option, I might try buttons for digits and 2-3 more buttons 'Hz', 'kHz' as enter.

Whatever you will choose, try to have direct access to anything you need.  There's nothing more annoying than digging through menus and submenus.  Also, don't add unnecessary elements, like unwanted display animations or who knows what other glitter.  Unnecessary elements might seem fun or impressing at first, but they will grow old fast and turn into annoyances.

Offline dusanTopic starter

  • Regular Contributor
  • *
  • Posts: 83
  • Country: sk
I've tested 2 pots (fine and coarse) but it was too hard to use so I went for 5 encoders for frequency, one pot for pulse width and one pot for amplitude.
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 863
  • Country: ca
You could go with just one encoder that changes the frequency by 10s/100s/1000s when rotated quickly enough and by single hz when rotated slowly. You'll need a display for feedback though.  My HP 'scope does this.  And that's how I implemented the temperature adjustment on my DIY soldering station.
 

Offline TimFox

  • Super Contributor
  • ***
  • Posts: 8153
  • Country: us
  • Retired, now restoring antique test equipment
My prefferred UI for setting values with really wide ranges like frequencies is the following. 4 buttons for navigation (up/down/left/right). Left/right select the current digit and up/down increment decrement the value. If the digit goes off range then the value to the left of the cursor changes.

So, you have good control over which order of magnitude you want to change and you have control over the whole range past that order of magnitude. The same muscle memory applies to adjustments in 1 Hz increment and in 1 MHz increments. And ability to directly select the digit lets you quickly dial in the initial value.

My favorite UI for varying frequency uses the four buttons described above and a rotary encoder to increment/decrement the digit selected (along with the digit to its left as described) as well as the up/down button.
 
The following users thanked this post: Ian.M

Online Bud

  • Super Contributor
  • ***
  • Posts: 7041
  • Country: ca
A single encoder with a shaft momentary push button. Press the shaft to select a digit position, rotate the encoder to change the value. Simple, fast, convenient.
Facebook-free life and Rigol-free shack.
 

Offline H713

  • Regular Contributor
  • *
  • Posts: 176
  • Country: us
Well, my favorite way to change device parameters is with big rotary switches. Think 1960s HP or Tektronix equipment.

Since people won't accept that now, having a keypad where you enter a number, then buttons for Hz, kHz, MHz, GHz is pretty good. If you then add left/right and up/down buttons for incrementing frequency, it's even better. An encoder is an even better alternative to the up/down buttons.

In other words, I just described the HP 3314 and 3325 interface, which is about as good as it gets.


If the buttons / switches have a satisfying click and feel, that goes a long way to making the device "feel" nice to use. If it makes a really screechy beep with every button push, that is a huge turn-off and will make people hate it.
 

Offline MarkS

  • Supporter
  • ****
  • Posts: 833
  • Country: us
This is an interesting topic, as I'm thinking about building one myself. What do all of you think about forgoing the manual knobs and switches for a touch screen interface?
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11597
  • Country: us
    • Personal site
Bad idea, IMO. Touchscreens are tolerable if the UI is extremely well designed. And they are unusable otherwise.

Touchscreen is always a compromise. If you don't have enough real estate for the buttons, then you have very few options. But if you can afford the place for physical buttons - always do that.
Alex
 
The following users thanked this post: MarkS

Offline MarkS

  • Supporter
  • ****
  • Posts: 833
  • Country: us
Bad idea, IMO. Touchscreens are tolerable if the UI is extremely well designed. And they are unusable otherwise.

Touchscreen is always a compromise. If you don't have enough real estate for the buttons, then you have very few options. But if you can afford the place for physical buttons - always do that.

Fair enough!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf