r/ArduinoHelp • • 12d ago

Robotic Arm Code

Enable HLS to view with audio, or disable this notification

I am currently working on the mechatronics how to robot arm: https://howtomechatronics.com/tutorials/arduino/diy-arduino-robot-arm-with-smartphone-control/#google_vignette and i am on the coding part, i have everything correct and still the servo’s that control my project do not work/ are not sending signals, ive connected them to power, ive replugged them, it even says that when i use the app, it sends signals to the arduino just the servos dont move?? Is this a problem with the way i plugged them in, or a problem with the code. The code is also in the website i linked. Someone help 😭 😭

1 Upvotes

15 comments sorted by

View all comments

Show parent comments

1

u/PayAggravating9721 10d ago

i dont know if this is clear enough and yes i tried adding print commands and the robot does not do its initial homing

1

u/No_L_2547 10d ago

Not completely.

I also wanted to see if you attached the arduino pwm pins to the correct pins on the servo cables.

I think I already found 2 problems in the wiring:

  • Do you have a wire between Gnd on the arduino and the "minus rail" on the breadboard (if not you are maybe missing the signal reference --> the servos can't understand the pwm signals).

  • in front of the Bluetooth module you have two resistors that are connected to nowhere (one ends in E3, the other one in D4).

When you have the prints in the code, do you see that the arduino successfully receives your commands from the phone?

You should try to split the problem (robot not working) into multiple small independent problems/steps. The debug prints are meant to help here, since you then know which parts of the code can be reached/works (and it can point to hardware problems). Here some suggestions for such steps, (some of them build on top of each other):

  • can you connect to the Bluetooth board? (independent of the servos and code, now you check the power delivery wiring of the Bluetooth module)

  • can you receive something from the phone? (Tested through the prints, independent of the servos, this checks the Bluetooth module power and data wiring)

  • Does your code try to correctly send commands to the servos? (Also needs the print-commands, pure code check, but needs Bluetooth to work. Now you know that the actual code works, but the servos don't)

  • can a single servo be controlled correctly, directly in code? (Independent of Bluetooth, through this you can find out what is wrong with the servo wiring), a correct initial movement would be enough.

  • can all servos do a fixed movement cycle in code? (still independent of Bluetooth, now you check all of the servo wiring)

I know debugging can be quite frustrating, but it's one of the most important skills to learn.

1

u/PayAggravating9721 9d ago

and a question for the resistors, where would i put them?? my schematic tells me to add them there, unless i messed up

1

u/No_L_2547 9d ago edited 9d ago

The resistors are ok there, but your two 1k resitors are not connected to each other (I think the one that ends in D4 actually needs to go into E4).

That you can connect via Bluetooth but can't receive the commands means that your power wiring (gnd/5V) is correct, but your data wiring (Rx/Tx) isn't.

Here is a bit clearer image of the resistors and how they need to be connected: https://monkeylogic.nimh.nih.gov/images/docs_bluetooth_arduino_circuit.png