Resistor Sorter
Hii! My name is Ishaan and I am 17 years old. In this instructable, I'm going to make a Resistor sorting device. This is based on a real-life problem. Also, this project is entirely made from trash.
Why do you want to Stop using multimeters since it is the tool used to check resistance? Well, it's all about the amount of energy, time, and human labor involved. In most of the electronics labs, there is a box full of resistors. Using a multimeter or color code to sort the required resistor was not an efficient idea. So I decided to use some technology to help myself and other students in the lab.
Supplies
Hardware
Empty shoebox(in proper condition)
A4 size sheet
Glue gun and Electronic tape
Wood or something hard for the base.
Thermocol sheet(2cm width)
Little pieces of pipe(basically a hollow cylinder) for the resistors to pass through it.
Aluminum foil (10cm * 10cm)
Electronics
Arduino Mega:
Resistor 100k Ohm
led 2 Red and Green
Jumper Wires 30 - 40
Bread Board
2 Standard Keypad 1 (4*3)
LCD Display 1 (16*2)
Mini Servo motor(180 degrees)
Led strip(optional)
NOTE - Except for Arduino Mega, all the hardware and electronics parts have been taken from waste materials/discarded items.
Example- LCD from discarded radio toy, servo from broken toys, led strip from a toy car.
The Idea
The main idea is that once the device will be switched on the user will have to enter the value of the required resistor. When the green light glows user will have to leave the resistor in the funnel.
The value of the resistor will be read and further transferred to a plate(let the name be the decision plate), which will rotate and sort resistors. If the resistor will be of the correct value, the decision plate will rotate to the right(clockwise) side. Else, the plate will rotate to the left side(anti-clockwise).
To keep it simple, I have used Ohm's law. We could have used color recognition sensors too, but using them was increasing the price significantly. Also, it was having low accuracy than physically touching the terminals of the resistor and calculating its resistance.
How It Works?
The resistor sorter is detecting the value of resistors using Ohm's law V = I * R.
- We store the value of the known resistor as R1. and let the unknown resistor be Rd.
- When we supply 5v to the series circuit some amount of voltage drops at R1 and we get the leftover voltage at v_out.
- Let the voltage drop = V2.
- Using V = IR, we calculate I = V2 / R1.
- We know current remains the same in series connection.
- Now we again use V = IR to calculate the value of Rd, Rd = V_out / I.
Do watch the video above to get a better idea.
Body and Mechanical Design
Firstly, grab an A4-sized sheet and make a funnel from it. The role of this funnel will be to send the resistors straight to the point where their values will be read.
Remove the refill from the pen and take the hollow body of the pen. Cut it into two pieces, both of 2 cm, and keep around 1cm of distance between both of them(Please take reference from the photos shown above).
Take the thermocol sheet and make a cuboid of dimensions (~2cm * 5cm). This cuboid piece will hold the servo motors and pipes in the correct order.
- Using electronic tape paste one of the pieces of the pipe on the bottom of the funnel.
- Now using a glue gun paste this piece on the surface of the cuboid.
- leaving approximately 1cm of distance paste the other piece of pipe, in such a way that when the resistor falls into the funnel, it passes smoothly through both the pipes.
- Taking reference from the pictures shown above paste the servo motors in the same arrangement. You can change their arrangement, but make sure they are able to read resistors' values.
- Tear 2 pieces of aluminum foil and wrap them around the top 2 motors' arms. Named M1 and M2.
- Now that you have pasted the aluminum foils on the servo motors. take 2 wires and connect/attach them to both the foils.
- Paste the third servo, M3 at the bottom of the thermocol cuboid. This servo motor will block the path of the pipe for few seconds and allow the system to read the value of the resistor.
- Use a small piece of cardboard to help the servo arm of servo M3 in blocking the path.
Now that you have built the core of this project, use the shoebox to make an external body for giving this project. The purpose of the external body is to cover the core, which is actually performing the task of sorting resistors. Also, it is working as the skeleton/frame.
9. Cut a small square in the external body to let the final servo motor, M4 get connected. The arm of this servo motor will rotate either clockwise or anti-clockwise to sort the resistors based on their values.
Electronics
- Connecting LCD display:
- LCD RS pin to analog pin A2.
- LCD Enable pin to analog pin A3.
- LCD D4 pin to analog pin A4.
- LCD D5 pin to analog pin A5.
- LCD D6 pin to analog pin A6.
- LCD D7 pin to analog pin A7.
- LCD R/W pin to GND.
- LCD VSS pin to GND.
- Connect Keypad Matrix:
- Keypad row pin 8 to digital pin 8.
- Keypad row pin 7 to digital pin 7.
- Keypad row pin 6 to digital pin 6.
- Keypad row pin 5 to digital pin 5.
- Keypad column pin 4 to digital pin 4.
- Keypad column pin 3 to digital pin 3.
- Keypad column pin 2 to digital pin 2.
- Servo motor M1: digital pin 9.
- Servo motor M2: digital pin 10.
- Servo motor M3: digital pin 11.
- Servo motor M4: digital pin 12.
- Two points P1 and P2 which are connected to both aluminum foils for reading the value of resistors are connected to analog pins A1 and A0 respectively.
- Green and red LEDs are connected to digital pins 52 and 53.
Circuit Board
After making the working model on a breadboard. Go ahead to build the circuit board.
The pc on which the circuit board for this project was designed has crashed. So I won't be able to add its documentation part. But surely you can refer to its pictures shown in the instructable. Eagle software has been used to build it.
Code
The logic is pretty straightforward. In a nutshell:
It loops to rotate servo motor M3 to block the path of the pipe. Meanwhile, the green light glows and the user drops a resistor into the funnel. This resistor goes straight through the funnel and gets stuck. Then both motors'(M1 and M2) arms will rotate inwards to read the value of the resistor. After reading, all three motors'(M1, M2, and M3) arms will rotate outwards, back to their original position. Also, the green LED will turn off and the red LED will light up.
Now that M3's arm has also moved back the path will get free and the resistor will fall on the 4th motor's(M4) arm. Based on the reading which was taken this motor will rotate either clockwise or anti-clockwise. If the value matches that entered by the user, it will rotate clockwise. Else, it will rotate anti-clockwise.
A couple of notes worth mentioning:
When both motors m1 and m2 rotate inwards, a considerable amount of delay has been given for proper reading. Do keep a tweezer. It will help to pull the resistor out, in case it gets stuck somewhere in the pipes. Don't dare to use your hands and fingers to pull out the resistor :)
I used the build-in libraries to program the LCD and servo motors. Talking about the library I used to program keypad has been documented here(Keypad by Mark Stanley, Alexander Brevig on platformio.org).
Downloads
Congrats!
I hope this project will inspire and help those students and people who were facing the same problem. You can easily build this project with a low budget.
If you have any questions or suggestions do let me know! Also, consider subscribing to my Youtube channel for more innovative projects which have the potential to solve real-life problems.