Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Aaron KC2NDA Arduino Enhanced Display & Control Thread

This discussion was created from comments split from: MPET Advanced Thread.
Not "Never Does Anything" anymore....
  1. Would anyone want more specific documentation on what Aaron is doing?4 votes
    1. Yes
      100.00%
    2. No
        0.00%
«1

Comments

  • edited April 2017

    Added a OLED for Arduino. This will be able to show frequency, channel, power levels, etc. I am working on a layout design at the moment. But I have the splash screen made already.. ;)

    This is a 128 x 64 pixel dot matrix display controlled by I2C interface and the Arduino.

  • Awesome!

    JLV

  • Looking sweet dude! That will really enhance the quality of the end product!

  • I love the idea of showing more than jus the Channel number and also learning more about Arduino...how much does an Arduino cost?

  • White OLED came in and I replaced the two toned color screen.

    Here is a screen shot:

    This is the first screen that will show the callsign.. Second will be the OMARC logo and third will be:

    Any suggestions would be appreciated. I was thinking about putting an S-Meter on it. Maybe I can get some help with this.. ;)

    A video will follow...

    KC2NDA

  • YES!!! AWESOME!

  • Lovely !
    I'm assuming this is under the control of an Arduino or Raspberry Pi.

  • edited April 2017

    I am using a rotary encoder module for the channel selection. This is what the clock and data signals look like on the oscilloscope when turning the knob in both directions. At the bottom of the scope window you can see things clearly:

    The DATA pin is clearly shifted out of phase. So with the code, you would check whether the DATA is delayed or not compared to the CLOCK signal. The DATA pin will either be a 1 or a 0 depending on which way the encoder is turned at the falling CLOCK edge.

    This is similar to the enocder I am using: Click Here

    This is the rotary encoder used with the arduino. If you want to order one for future, the part number is Keyes KY-040. You might be able to get the same part from ebay for around $2.

  • Yes... This is being powered by an Arduino MEGA 2560.

  • Great stuff Aaron! Awesome!

    JLV

  • So the channel and the frequencies are now changing based on the encoder ticks. This was a little tricky with the interrupts and not clearing the whole screen. There is a function I wrote to write "BLACK" pixels to the areas of the channel number and the frequency part of the display to clear them each time before re-writing the data back to the screen.

  • very sweet man... so your "BLACK" is basically acting like a clear screen?

  • edited March 2017

    Yup.. BLACK IS BACK BABY!

    The way the OLED works is it turns the pixels on when placing data. So when you place a "2" in the same spot where a "1" is, it will overlay it. You will see them both on top of each other. So to clear the "1" you could place a "black" "1" over the same spot or just create a square of black pixels. Without knowing what is in the spot prior, it is just easier to create a function that could be called for any size to black the area out.

    That is what I did.. ;) Less coding when you can just call a function and pass in the parameters to black out..

  • This is a bad video and will post a better one soon..

  • not so much bad... but very short.... but I get the idea... sweet!

  • Awesome work Aaron. Great stuff!

  • edited April 2017

    @AC2UQ said:
    I love the idea of showing more than jus the Channel number and also learning more about Arduino...how much does an Arduino cost?

    The Arduino's are cheap. You can buy them online or even at Radio Shack (If you can find one anymore)... Anywhere from $6 to $45. I would recommend a Mega 2560 if you are going to buy one. They have more programming space and more options.

    I also ordered one of these to be able to quickly disconnect or make the connections more permanent. Sometimes simple push in connectors can make bad connections and even create noise.

    Aaron

  • edited April 2017

    Aaron...I just found out on the repeater this morning that both KD2LIQ and I have independently begun to view the very well produced "Arduino for Absolute Beginner's" free Youtube series. So funny that he and I have begun this new learning project within a few days of one another.

    If anyone is interested in a good beginner's set of lessons, you can go on YouTube just search for "arduino tutorial for absolute beginners" it is published by the Programming Electronics Academy. (Beware of imitators...there are some pretty awful ones out there.)

    In my younger days I programmed in machine language and Fortran (all there was back then) and was involved in what are now called 'beta tests' for basic which was being developed by my math professor John Kemeny along with Thomas Kurtz.

    The Arduino programming language is quite user friendly and I'm enjoying the journey. Another nice outcome of the OMARC MPET initiative!

  • Here is the Arduino breakout board attached to the Ritron. I had to remove the female headers from the breakout board and turn over the ICSP port in order to get the two boards closer together. What wonders a little bit of desoldering braid will do.

    The VERY LARGE standoffs you see in the picture is only temporary while I replace them with the correct nuts.

    So the Arduino will fit right on top of this breakout board. All of the individual circuits (digital pots, etc.. will be mounted on this breakout board.

    More photos will follow as progress is made..

    KC2NDA

  • edited April 2017

    Package is working. Wiring has been done for the channels from the back side of the DB15 to the breakout board as well as the ICSP (In Circuit Serial Programming) port. Tested and confirmed to be working!

    Note: I had to remove the side ICSP port on the breakout board, it was too close to the USB port. I used pins on breakout for this instead. (Arduino has several sets of pins for these that are internally connected together).

Sign In or Register to comment.