Skip to main content

Push-Ups counter

            Couple of days ago, I was at the gym. I was doing push-ups and I lost my count. So I wondered whether I can make a device to count the number of push-ups I do. couple of days later, I had totally forgot about this idea, until recently I saw a project my friend had made at his office. It was a 7-Segment clock. So I got motivation to start my push-ups counter.
         The push-ups counter consists of 3 main blocks. Namely,
  1.  IR proximity detection block
  2. BCD counter
  3. BCD to seven segment encoder
Push-ups counter
         First IC from the left is the quad op-amp LM324, the second is the BCD counter CD4510 and the 3rd is the BCD to seven segment encoder CD4511

I constructed the IR proximity detection by connecting an IR receiver to the non-inverting terminal of LM324 (I prefer LM358. I did not use it because I had none at home) and connecting a 10k potentiometer to the inverting terminal. varying the potentiometer will change the sensitivity of the IR proximity detection. Note: Both IR transmitter and receiver are facing in the same dierection. not towards each other. i.e the transmitter and receiver face towards the sky. The light refelects to the IR receiver when you go down, this will generate a HIGH at the OP-Amp output.
         The output of the OP-Amp is connected to a BCD counter,in my case its CD4510. you can go through the datasheet online for pin configuration and wiring. connect the output of the OP-Amp to the clock of the CD4510. Make sure carry in  and preset enable and up/down counter is all connected to gnd.Since the connections are straight forward, I havent provided any circuits for this projects.if you have any queries you can leave as comment below.
        The output of the BCD counter is 4 Bit wide. The output of the BCD counter is provided as input to CD4511, which is a BCD to 7-Segment encoder. As before, refer for the datasheets for circuit configurations/diagrams/connection. Note: Use only a common cathode 7-Segment display
      adjust the sesitivity to the desired level by varying the pot after providing a 5V supply. I hope this post was of use.

Comments

Popular posts from this blog

Switch debouncer using SR Latch

We use switch in our day to day life to switch ON/OFF a bulb or a fan or  any electrical devices. But when we use switches in digital circuits, we observe a phenomenon called bouncing. This occurs because, when we turn the switch, the mechanical parts vibrate. i.e It toggles between ON and OFF state for some time until the mechanical contact attain equilibrium. this vibrations are minute and are not at all noticeable in electrical circuit. where as in digital circuits, these vibrations create pulses. which are detected by circuits which results in an error.               In the above circuit, there is a switch connected to VCC. You can toggle it between terminal 'a' and terminal 'b'. which as a voltage drop of 'Va' and 'Vb' respectively. In digital circuits if you can observe, it takes a finite amount of time to toggle between terminal 'a' and 'b'. which might approximately take 15ns. Now let us consider the terminal is at 'a'. we

PIC 18F452 Programming: LED blinking using assembly

Here is the basic program you need to start off with when you learn to use a microcontroller. We are using the microchip family PIC microcontroller. Which stands for Peripheral Interface Controller, PIC 18F452 is a 40 pin 8-bit microcontroller with 32 KBytes flash, 1536 Bytes of RAM and 256 Bytes EEPROM. It also boasts 4 timers, and three external interrupt pins. Coming to our first program, We will be using MPLAB for Building this project. Create a new project and select MPASM Suite for compiling. After writing the program, Dont forget to add the linker file and the source file in the source window. The linker file for the PIC 18F452 can be found in the  C:\Program Files\Microchip\MPASM Suite\LKR. search for 18f452. In this program, the Bit RB0, toggles continuously with some delay. Connect an LED to The RB0 Pin, i.e Pin 33.connect a 330E resistor in series with the LED. PROGRAM #INCLUDE p18f452.INC; CONFIG WDT=OFF; disabling the watchdog timer ORG 0; Specifing the st

PIC Programming: making a port bits toggle using assembly

CIRCUIT: Program: #INCLUDE p18f452.INC ORG 0 CLRF TRISD  L1 SETF PORTD CALL DELAY CLRF PORTD CALL DELAY GOTO L1 DELAY MOVLW 0xff MOVWF 0x10 L2 DECF 0x10,F BNZ L2 RETURN END