In: Computer Science
Arduino Project
Describe any real world engineering application your project
represents. Describe similarities and differences between your
project and the real world scenario.
Write algorithm and flow chart for the program.
Required equipment.
Objective is too great program design with algorithm and flowchart
for annany day engineering application.
A real world engineering application that can be made on Arduino platform is a CNC(Computer Numerical Control) colour sorting machine. The purpose of the machine in real life is to sort various beads of different colours in separate boxes each containing beads of similar colour. The process in Arduino would be as follows - several unsorted colored beads would be placed on the conveyor belt. The conveyor belt will take the beads to the color sensor place above and at the end of the conveyor belt. The color sensor would sense the color of the bead. At the end of the conveyor belt would be an inclined slide which is fixed on a servo motor. The servo motor can rotate the slide to any angle. At the end of the slide would be few boxes which boxes which will have the colors labelled on them and would be placed on certain angles from the conveyor belt. For example, A box which would contain all the red beads would be at an angle 45 degrees from the conveyor belt and if the sensor senses a red bead the end of the slide would be rotated till it reaches an angle of 45 degrees left from the conveyor belt. The conveyor belt would now move till the sensed bead drops on the slide and eventually on to the respective box. And the process continues. Here we have our CNC color sorting machine.
The similarities between the two instances is that the final outcome of the two machines is the same which is sorting the colored beads to their respected coloured labelled boxes. For example a green colored bead goes to a box which contains only green colored beads, The end outcome in both the instances is the same that is placing the beads in the respective boxes. Another similarity would be the kind of sensors and control unit would be the same. For example in Arduino you would use a color sensor TCS3200 for detecting the color of the beads and in the real life you would use a color sensor as well , but it would be more accurate than TCS3200 or would use a different logic(Electronically or Software-wise). To place the sorted beads in the respective boxes in both the cases would require a robotic hand , which in both the cases would use servo motors or stepper motors. Hence, The overall structural logic and the outcome is same in a practical engineering machine and an Arduino project.
Coming to the differences, first of all the huge difference in the accuracy. The color sensor TCS3200 is not at all accurate, it can decipher between just the primary colors , black and white, if it were to identify between two beads with different shades of red it would fail miserably. Whereas on the other hand in real world the machine would use a camera which would be backed by openCv which could accurately decipher between endless amounts of shades and is very accurate (openCv is not supported on Arduino microcontrollers such as UNO or MEGA openCv requires a computer or a microprocessor). Another difference is in an Arduino based project is that the microcontroller is repogrammable and not write protected whereas in real world application the microcontroller or the microprocessor would be dedicated for that purpose only and is write protected.
Algorithm for a color sorting machine:
1. Beads are placed on a conveyor belt and each bead stops below the TCS3200 .
2. The color sensor senses the color of the bead and gives the reading to the Arduino.
3. According to the reading received by the Adruino the robotic slide which is placed at the end of a conveyor belt moves and stops over the particular box which to hold the sensed colored bead.
4. The conveyor belt moves and the bead which color was sensed falls on the on the slide and then slides down the servo slide and falls in the box which it was desired to be in.
5. The bead next in line stops over the sensor and the process continues.
FLOWCHART
BEAD ---> SENSOR SENSES THE COLOR ---> SENDS THE SIGNAL TO ARDUINO ----> ARDUINO BASED ON THE DEFINED CONDITIONS MOVES THE SERVO TO THE PROGRAMMED PLACE -----> THE CONVEYER BELT MOVES TILL THE BEAD FALLS ON THE SLIDE AND EVENTUALLY IN THE BOX
REQUIRED EQUIPMENTS
Arduino UNO
Servo motor for the servo slide
TCS3200 color sensor
Two stepper motors for the conveyor belt
few boxes