GithubHelp home page GithubHelp logo

pavelmc / yatuli Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 0.0 36 KB

Yet another tune lib: Linear volume control instead a rotary encoder, from the bitx40 idea.

License: GNU General Public License v3.0

C++ 100.00%
arduino bitx encoder bitx40 tune linear volume control hamradio radio

yatuli's Introduction

Yatuli Arduino Library

Yatuli = Yet another Tune Lib, go cheap: use a linear volume control instead a rotary encoder.

Inspiration

This work is based on the previous work of these people:

Features

This is a kind of linear tuning and in the center with big steps on the edges:

  • Selectable Analog pin.
  • Range set on initialization (Start-End).
  • Step selection on initialization, down to 10 Hz (real minimum).
  • Edge jumps on initialization.
  • Set a start point in the passed range.
  • Flutter fix from Jerry KE7ER.
  • Direction finding for Option selection (useful in menu selections).
  • You can dynamically reset the range and start value while running (useful in setups).
  • Negative values are supported in all the range (start, end & value)
  • Range is handled by 32 bit signed values, so it will work from -/+ 2.4G values.
  • Lock feature, you can lock in the lib when in TX (or wherever you case it).

See the examples bundled with the lib for use cases.

Hardware

We use a linear volume resistor with extremes connected to GND and +Vcc of the Arduino, for stability you must put a 1uF polarized capacitor across GND and +Vcc at the variable resistor legs, then a 1nF (102) capacitor across GND and the wiper.

Beware!: don't use a cap bigger than 1nf (102) in the wiper as it must be sufficient enough to block RF in the ADC, but we do need some LF noise to the oversampling work to avoid flutter on the readings.

Then the wiper is connected to an Analog input of the Arduino, see the examples bundled with this lib.

Author & contributors

The only author is Pavel Milanes, CO7WT, a cuban amateur radio operator; reachable at [email protected], Until now I have no contributors or sponsors.

Where to download the latest version?

Always download the latest version from the official github repository

See ChangeLog.md & version files on this repository to know what is your version and what are the latest changes to it.

If you like to give thanks...

No payment of whatsoever is required to use this code: this is Free/Libre Software, nevertheless donations are very welcomed and needed.

I live in Cuba island and the Internet/Cell is very expensive here (USD $1.50/hour), you can donate anonymously internet time or cell phone air time to me via Ding Topups to keep me connected and developing for the homebrew community.

If you like to do so, please go to Ding, select Cuba, select Cubacel (for phone top up) or Nauta (for Internet time)

  • For phone topup use this number (My cell, feel free to call me if you like): +53 538-478-19
  • For internet time use this user: [email protected] (that's not an email but an user account name)

Thanks!

yatuli's People

Contributors

per1234 avatar stdevpavelmc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

yatuli's Issues

Add a "lock" flag.

From users comments:

Add a lock flag (kind of yt.lock = true/false) to avoid frequency movements while on TX, as it's so easy for the RF or simple voltage variations due to high current flows to affect the ADC and frequency causing FM modulation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.