Smart Pull-Up Bar

by Nikolaos Babetas in Circuits > Arduino

7951 Views, 59 Favorites, 0 Comments

Smart Pull-Up Bar

I made a Smart Pull-Up Bar that gives me Candy and plays Music while I exercise! - Arduino Tutorial
Untitled design (18).png
Untitled design (19).png
Untitled design (23).png

Hello friends! My name is Nikolas and I am 15 years old. Today in this Instructable I'll show you how to make a Smart Pull-Up Bar which, when you start doing Pull-Ups or Chin-Ups starts playing music in order to keep you motivated and after exercising for a certain period, a reward, a Tic Tac, in my instance gets dispensed! Make sure to watch the YouTube video above to see the Smart Pull-Up Bar in action and to follow the instructions from there if you prefer!

I originally thought of making this to motivate me to work out more, but it turns out I just wanted an excuse to eat more candy!

Supplies

These are the components you'll need:

If you decide to build a PCB as I did you'll also need:

You will also need:

(These links are Amazon Affiliate links which means that if you purchase the products using them I'll get a small commission of the sale at no extra cost for you! This way you can help me make more and cooler projects and I really appreciate it! Thank you!)

Understand How It Works

Untitled design (34).gif
Untitled design (84).gif

Basically I've made a Laser beam sensor by attaching a cheap Laser Diode and an LDR on the Pull-Up Bar. They are perfectly aligned which means that a lot of light reaches the LDR and thus the sensor outputs a high analog value. However once I place my hands on the bar to start working out I block the light beam, the value gets significantly lower and the sensor sends a signal to the Arduino Nano, which is mounted on the wall in an enclosure and then a song starts playing using a small speaker (In my case it was Take on me by A-ha). After around 30 seconds, when the song ends, if I still have my hands on the bar, a reward, a Tic Tac gets dispensed using a 3D printed mechanism that's rotated by a servo!

Now that you get how it works let's start making it!

3D Printing

Untitled design (31).gif
Untitled design (18).png

I designed all the parts in Fusion 360, sliced them in Cura and printed them with my Ender 3 V2 in PETG at 0.2mm layer height. You will need to print:

  • The "Base.stl"
  • The "RotatorDispenser.stl"
  • The "CoverBase.stl"
  • The "LaserClamp.stl"
  • And the "LdrClamp.stl"

You can find all the files Here

Circuit Part 1

CircuitDiagram_bb.png
1.png
1 (1).png

It's time to connect the electronics!!

1. Place the Arduino Nano on the breadboard

2. Connect 5V to Positive Rail (red) and GND to Negative Rail (blue)

Circuit Part 2

1 (2).png
1 (3).png
1 (4).png

3. Add the LDR and connect one of its leads to 5V and the other one to GND with the 1kΩ resistor (the order doesn't matter)

4.Connect the second lead to A0 as well

5.Add the MG90S Servo and connect its Brown Wire to GND and its Red Wire to 5V

Circuit Part 3

1 (5).png
1 (6).png
1 (7).png

6. Connect the Yellow Wire to D5

7. Add the small speaker and connect its Red Wire (+) to D11 and its Black Wire (-) to GND

8. Finally add the Laser Module and connect its Red Wire (+) to 5V and its Black Wire (-) to GND

Programming

Screenshot_3.png
Screenshot_4.png

Time to program the Arduino Nano! I have attached my code below for you to download if you want. Open Arduino IDE select the Arduino Nano Board, your COM Port, click Upload and you're done! The LightThreshold defines how sensitive the LDR is to light, keep this in mind as I'll go into it deeper in the next step.

Take a look at adithyalokesh17's work as well! He has turned a lot of popular songs (Like "Take on me" which I used) into light Arduino code which is easy to use with buzzers and speakers without needing any complicated SD card readers etc.

Downloads

Test/Troubleshooting

Untitled design (36).gif

When the code gets uploaded nothing happens. Then I cover the LDR with my finger so that I block the light from reaching it. Pretty much a simulation of what will happen during the workout when my hands will block the laser beam. In both cases the If statement gets triggered, music starts playing and then the servo rotates and dispenses a Tic Tac.

There are two common problems that can ocure here even if you did everything properly.

  1. The music doesn't start playing when you cover the sensor. You can easily solve this by increasing the "LightThreshold" value we talked in the previous step thus making it more sensitive.
  2. The music starts playing without even covering the sensor. You can solve this be decreasing the "LightThreshold" value thus making it less sensitive.

Tips:

  • A good tip to adjust the Threshold value just right would be to use the serial monitor and see the light values your sensor produces. (The can range anywhere between 0 (Absolute Darkness) to 1023 (Absolute Light)
  • To get accurate measurements I would suggest aiming the laser diode to the LDR and working with those values instead of the ones of the ambient light of your room.

Circuit Board

Untitled design (32).gif
20210324_130937.jpg
20210324_130947.jpg
ex5nnvcfrarxitsbeigd.png

Since everything works it's time to make a pcb to fit all the components in a more compact enclosure. The only difference the PCB has from the breadboard circuit we made earlier is that I've included a Power Input terminal which connects (+) to 5V and (-) to GND and I have added a 100μF capacitor (optional) in parallel to smooth out the current.

Attaching the Servo

Untitled design (41).gif
  • Screw the servo to the Base using 1 or 2 M2 screws.

Pushing the Laser Into the Clamp

Untitled design (45).gif
  • Push the Laser Diode into the LaserClamp.

Attaching the LDR to the Clamp

Untitled design (46).gif
  • Insert the LDR into the LdrClamp. (There are two small holes To pass the wires through)

(You should first solder some longer wires to both the LDR and the Laser)

Soldering

Untitled design (50).gif
Untitled design (48).gif
  • Solder a preferably red wire to the positive lead of the DC Jack.
  • Solder a black wire to the negative lead of the DC Jack.
  • Solder a new red wire to the slide switch.

Attaching the DC Jack

Untitled design (52).gif
  • Insert the DC Jack into its hole in the base. Secure it in place using the nut.

Soldering the Switch

Untitled design (53).gif
  • Solder the red wire of the DC Jack to the other lead of the switch.

Attaching the Switch

Untitled design (54).gif
  • Push the switch into place.

Connecting Power to PCB

Untitled design (55).gif
ex5nnvcfrarxitsbeigd.png
  • Connect the red wire to the positive power input of the pcb.
  • And the black wire to the negative power input.

Connecting Servo to PCB

Untitled design (56).gif
  • Connect the servo to the male headers.

Connecting Speaker to PCB

Untitled design (57).gif
  • Connect the speaker

Attaching PCB to Base

Untitled design (58).gif
Untitled design (59).gif
  • Fit the PCB into the Base
  • Secure it in place with 2-4 M2 screws

Cutting & Installing the Plastic Sheet

Untitled design (60).gif
Untitled design (61).gif
  • Cut the transparent plastic sheet into a rectangle of around 75mm x 17mm and trim its sides until it fits tightly into the base.

Installing the Laser to the Bar

Untitled design (65).gif
  • Attach the LaserClamp to one side of the Pull-Up Bar and tighten the clamp using an M4 screw and nut

Installing the LDR to the Bar

Untitled design (67).gif
  • Attach the LdrClamp to the other side of the Bar and tighten it again using an M4 screw and nut

Aligning the Laser and the LDR

Untitled design (39).gif
  • Turn on the Laser Module by connecting it to a ~5V power source (Arduino 5V pin, 3 x AA batteries, 1S Lipo, 18650 battery or whatever you prefer)
  • Rotate the Clamps until the Laser Beam hits the center of the LDR

Glueing the Enclosure to the Wall

Untitled design (74).gif
  • Take the Hot Glue Gun, possibly all of the makers' most favorite tool, and glue the Base to your wall.

Connecting the Laser and the LDR to the PCB

Untitled design (73).gif
20210327_153619.jpg
  • Wrap the cables of the Laser and the LDR around your door
  • Connect the two red wires to the central section of the triple screw terminal
  • Connect the black wire of the LDR to the upper section
  • And the black wire of the Laser to the other section

(Of course all these connections will differ based on how and if you make the PCB and mine can just be used as a concept refernce)

Installing the Dispenser

Untitled design (75).gif
Untitled design (81).gif
  • Connect the Power Supply to the DC Jack and turn the switch on

When the Arduino first gets powered on, the servo automatically goes to its 0 degree position and locks in place. When that happens, attach the RotatorDispenser to it. Make sure that the two holes for the Tic Tacs align properly.

Adding Cover

Untitled design (80).gif
Untitled design (79).gif
  • Fit the speaker into the Cover
  • Screw the cover to the Base using 2 - 4 x M3 screws

Adding Tic Tacs!

Untitled design (86).gif

Lastly add some Tic Tacs…

Congratulations the Project Is Now Complete!

Untitled design (88).gif

And the Smart Pull-Up Bar is finally complete!!

I hope you enjoyed this Instructable as much as I did making it! If you have any questions or suggestions let me know! Also consider subscribing to my YouTube Channel for more tutorials and cool builds and to support me throughout this journey. Have a great day!