The Cowardly Creature_Vicdan, Olaya & Ross
by olaya_bb in Circuits > Arduino
211 Views, 2 Favorites, 0 Comments
The Cowardly Creature_Vicdan, Olaya & Ross
This idea of the “Useless Machine” is not so much about creating a machine that does not do anything, but rather which performs a variety of tasks via sensors and actuators that are not exploitable by a human. Ours is a machine that we have infused with anthropomorphic qualities to hint at the idea that we have created a robotic “creature” that fears humans. As you approach it, the robotic conglomerate begins to act excited via a wavelike movement of rods that indicates that your proximity is upsetting its natural equilibrium. While this could be a metaphor for how humans upset the natural order of things as they attempt to meddle with nature, ours was the much simpler premise of creating a machine that was sensitive to the proximity of a human, and that was intriguing. This, therefore, creates a paradox. The more you approach this intriguing item, the more you are unable to observe its natural beauty and equilibrium.
The Cowardly Creature
Circuit Ingredients
1. Arduino UNO
2. 12V Double-sided DC motor (preferably from an old neck massager)
3. Dual motor driver, L298N
4. Ultrasonic sensor
5. Jumper wires
What Is a Dual Motor Driver?
We know what most of these components do, but what might be new is the Dual motor driver (number 4).
Well, this part allows for us to control the speed and direction of two DC motors (even though for this machine we will only be using one motor).
Mechanical Ingredients
Mechanical ingredients for one side of the creature:
- Gears (preferably recycled)
- Caps (to stop the fins and gears from flying away)
- Fins (each side is comprised of 115 fins which diminish in size and curvature, test it out with your own design!)
- Coils (3D coil which can have any amplitude or frequency depending on the wave you are trying to achieve, again, test it out!)
- Rods (to hold the fins in place, make sure the caps have the exact same hole as the size of the rods)
The Ultrasonic Sensor
The first task was to understand the Ultrasonic sensor.
- The sensor works off the principle of sending waves into a space and then reading a bounce-back of those waves.
- To simplify the process of writing code for the sensor we used the “Ultrasonic” library found in Arduino libraries.
- The library has a simple setup and allows us to call a simple function that reads the distance of an object from the ultrasonic sensor. By receiving a specified distance, we have a numeric value that can be easily remapped to another range of use.
Remapping Values
Remapping the values of the Ultrasonic sensor
- We choose that this remapping of distance to a DC motor speed would allow us to achieve the goal of a kinetic object that responded to the distance of an individual.
- Simply put, we take the distance read by the sensor and use the remap() function to control a DC motor’s speed via PWM and the analogueWrite() function. The closer you are to the sensor (0 being the closest), the faster the speed.
Accounting for a 12V Motor
The setup requires important modifications due to the fact they are using a 12V DC motor.
We used the L298N Dual Motor driver to relay the information from a sensor as well as a 12V power source to the DC motor.
We also made sure that common ground was used to complete the circuit (make sure your wires are connected the right way, otherwise you could end up losing a lot of time troubleshooting a simple mistake!). These actions all allowed us to prevent burnout of our Arduino as well as proper channelling of power.
How to Set Up Your Circuit?
Setting Up the Mechanical Parts of the Creature
Now that we have the circuit done, we have to build a body for this cowardly creature. With the 3D printed parts, the resused ones and the laser cut pieces we assembled it accordigon the images above.
The Mechanical System
Once we had a setup of the software and hardware, it was pertinent that we set up the proper mechanical system. Using previously fabricated gears, we were able to transfer the kinetic energy potential of a dual-ended motor to a clockwise rotating gear. It was at this point that we attached a 3D printed helical shape that when rotated, would allow for the mimicry of a wave-like movement.
Depending on the amplitude and frequency you model, the wave created by the creature will differ. Make sure when you are creating the wave make sure it is also in 3D, meaning it has the shape of a coil.
The Placement of the Fins
Numerous fins were placed on a 3D print rod that allowed for rotation about that rod’s axis. The smaller end of our attached rods was then placed under the helical shape that exploited gravity to create a wave-like movement when it was rotated.
The image portrayed is from a sketch model where you can see the main rod to which the fins are attached. Gravity will pull the longer side downwards, which as mentioned before can be used to create a frictionless model.
Finishing Touches
The rest of our setup was an assembly of 3D print plugs, pins, etc. and laser cut material that set up our machine to a proper height and width to support the transfer of kinetic energy through the system.
Note that we attempted to reduce vibration and friction as much as we could, due to the fact that these are the biggest killers of any mechanical system. It should also be noted that we wanted to use gravity and not work against it with our motor setup, as well as the rods placed under the helix.
The Code
Downloads
Conclusion
There were many things learned within our process. Though in principle our machine is quite straightforward, its execution was not! We had a lot of issues with proper mounting of the gears, rods, and dealing with vibration within the system. This caused a lot of impromptu changes in the design of the mechanical system and a lot of reprinting of machine parts. We also realized that a kinetic model requires a lot of preparatory work, exact measurements and that though we may have a completed CAD model, mathematical framework, and running code, problems will undoubtedly occur. We hope to refine how our rods interact with our helical geometry. There seem to be some rods that are not effortlessly following the wave-like movement that we had hoped for due to friction, poor placement, or unknown reasons. We, therefore, look upon our work as a first prototype that we will continue to refine and produce better results.