tap tempo with LCD readout of bpm

Started by therealmarkjohn, December 03, 2010, 05:02:43 AM

Previous topic - Next topic

therealmarkjohn

Hi, I'm new here, and very very new to dsp and digital stuff. I would just like to know however if it's possible to make a tap tempo switch that can give a LCD readout of the bpm? I know I would probably have to use a micro controller and do some programming, and I would appreciate if someone could point me in the right direction. I use a mac by the way, so would anyone know any good programming softwares that I can use on a mac?

Thanks so much!

RonaldB

You can do that with the Arduino look at www.arduino.cc

I have written a simple tap tempo code allready in the arduino and a read out to LCD is very easy also. Just a simple line as lcd.print(BPM) and your done.
Also you need a calculation before that first to get BPM out of Milliseconds but that's not hard also.
If you need the code i'm willing to give it to you.

regards ROnald

JKowalski

#2
It's funny that you posted this. Two days ago I started working on a code for a PIC to go with Electric Druid's TAPLFO that interfaces the chip to an LCD screen and prints out all the LFO information: Tempo (BPM), Multiplier (quarter note, sixteenth note, etc.), Waveform Shape, Waveform duty cycle, and Waveform depth. This is a side project that stemmed off of a somewhat more involved project, I thought that some people might find this neat.

Basically you just hook this chip up to the same analog inputs of the TAPLFO chip and it reads and calculates the same info as the TAPLFO chip does. The tempo in BPM is calculated from the clock output of the TAPLFO.

It uses a 16x2 character LCD. I'll post the code when I am done, you are welcome to dig through it and extract the sections you need (it does calculate the tempo from pulses on the input, so it's not TAPLFO specific in this way)

It'll be a few weeks till I get it finished though, my finals are creeping up on me.

space_ryerson

Quote from: JKowalski on December 03, 2010, 10:26:08 AM
It's funny that you posted this. Two days ago I started working on a code for a PIC to go with Electric Druid's TAPLFO that interfaces the chip to an LCD screen and prints out all the LFO information: Tempo (BPM), Multiplier (quarter note, sixteenth note, etc.), Waveform Shape, Waveform duty cycle, and Waveform depth. This is a side project that stemmed off of a somewhat more involved project, I thought that some people might find this neat.

Basically you just hook this chip up to the same analog inputs of the TAPLFO chip and it reads and calculates the same info as the TAPLFO chip does. The tempo in BPM is calculated from the clock output of the TAPLFO.

It uses a 16x2 character LCD. I'll post the code when I am done, you are welcome to dig through it and extract the sections you need (it does calculate the tempo from pulses on the input, so it's not TAPLFO specific in this way)

It'll be a few weeks till I get it finished though, my finals are creeping up on me.
I'd be interested in seeing that when you are done. Which PIC are you using for this?

JKowalski

Quote from: space_ryerson on December 03, 2010, 11:05:29 AM
Quote from: JKowalski on December 03, 2010, 10:26:08 AM
It's funny that you posted this. Two days ago I started working on a code for a PIC to go with Electric Druid's TAPLFO that interfaces the chip to an LCD screen and prints out all the LFO information: Tempo (BPM), Multiplier (quarter note, sixteenth note, etc.), Waveform Shape, Waveform duty cycle, and Waveform depth. This is a side project that stemmed off of a somewhat more involved project, I thought that some people might find this neat.

Basically you just hook this chip up to the same analog inputs of the TAPLFO chip and it reads and calculates the same info as the TAPLFO chip does. The tempo in BPM is calculated from the clock output of the TAPLFO.

It uses a 16x2 character LCD. I'll post the code when I am done, you are welcome to dig through it and extract the sections you need (it does calculate the tempo from pulses on the input, so it's not TAPLFO specific in this way)

It'll be a few weeks till I get it finished though, my finals are creeping up on me.
I'd be interested in seeing that when you are done. Which PIC are you using for this?


I haven't actually decided yet. I am doing all the code testing on the PIC16f684 (Just enough pins to get all the data inputs and control the LCD). I may stick with that if just for the fact that it is the same chip as the TAPLFO and therefore if you have the materials to make a TAPLFO chip you can make one of these too.

space_ryerson

Using the PIC16f684 makes sense. Keep us posted!

JKowalski

I have it all set up at the moment, however the BPM counter is a little glitchy at high speeds (above 200BPM). I'll post a vid tomorrow with it running and see what you guys think of the LCD information layout I used. Then I need to optimize the code, it is a mess right now.

Ran out of pins, was hoping I could spare another for ON/OFF effect notification! Alas.

7 for LCD: 4 data bits, RS, R/W, EN
4 for ADC: Multiplier, Level, Waveform, Distort
1 for I/O: LFO Clock

Display example:

50% Ramp Down d.
|||||||||||||  124BPM

The d. is a note symbol - i.e. quarter note, dotted quarter, sixteenth, etc. that shows the multiplier setting. The bar graph is the wave depth. The percentage is the wave distort.

If you have any sggestions right now I can try to put them in before I make the vid tomorrow.

Finals are upon me, so don't hold me to all my promises!  :icon_rolleyes:

Beo

Hey Chris, did you ever take this project much further? I'd be curious to see how you approached this coding, even if the project was never matured.

Galego

You only need 6 pins for LCD. You don't need the R/W pin to be connected to the PIC unless you really need to Read data from the LCD...