Iphone Automated Study-Timer Dock
by limh0265 in Design > 3D Design
5 Views, 0 Favorites, 0 Comments
Iphone Automated Study-Timer Dock
The intended project is designed to aid poor studying habits. Using a stepper motor and touch sensor as key pieces of hardware, the dock initializes a sequence that ejects an Iphone from the dock once a set time is accomplished. This action is executed through a 3D printed linear actuator that acts according to the rotations of the stepper motor. By attaching a rod to the replicate linear actuator, the stepper motor acts as the instrument to release the iphone from the dock. These actions are initialized through the touch sensor.
Supplies
The Bill of Materials include:
- Arduino Uno (1)
- Male-to-Female Cables (3)
- Male-to-Male Cables (3)
- Touch Sensor (1)
- 3D-Printer (+filament)
- 10mm screw nuts (2)
Primary Hardware Description
The miniature linear actuator has three main parts. First, a spur gear is mounted onto the servo motor to utilize the servo’s circular motion. Next, a rod with teeth that aligned with the spur gear was aligned to take the motion of the gear and convert it into linear movement to serve as the ‘push’ function during the ejection. Finally, both the servo motor and rod are mounted onto a separate casing that ensures the teeth of the spur gear and rod remain aligned.
Additionally, the TTP223 touch sensor is also an integral component of the project as it initiates the timer and sequence that follows thereafter. The project is coded so that a prerequisite amount of time is selected beforehand. Afterwards, the touch sensor tells the arduino to launch a countdown that, once hitting zero, communicates with the servo motor to begin the next part of the sequence. The touch sensor is also connected to an internal LED that indicates whether the timer is currently active.
3D-Modeling
Create a model of the 3D dock (The dock was inspired an open-source website) and of the substitute linear actuator.
Circuit Diagram
The circuit diagram illustrates a touch sensor access control system that uses the touch sensor, servo motor, and LED as the primary components.
The touch sensor is connected to the Arduino’s power, ground, and communication pins, allowing it to detect and read signals. After receiving the signal, it then communicates with the Arduino. The servo motor is connected to the Arduino Uno’s 5V, ground, and digital output pin that provides a pulse-width modulation (PWM) signal. Once the Arduino receives an authorized signal, it communicates with the servo motor, causing it to rotate at its predetermined angle. Overall, the circuit includes multiple components that create a simple automated access-control system. The touch sensor provides identification, then the Arduino processes information, the servo motor performs the physical action, and finally, the LED provides the visual feedback to the user.
Technical Understanding of Code (Part 1)
The Servo.h library is imported to allow the Arduino to control the servo motor. A servo object named myServo is then created, which will later be used to send rotational commands to the servo motor connected to the Arduino.
Technical Understanding of Code (Part 2)
This section of the code declares all of the variables needed throughout the program. These variables allow the Arduino to monitor user input, track elapsed time, and control the system’s outputs.
Technical Understanding of Code (Part 3)
The setup() function runs only once when the Arduino is powered on. The Serial.begin(9600) initializes serial communication for displaying messages in the Serial Monitor. The pinMode(LEDPin, Output) and pinMode(LEDPin, Input) code configures the LED and touch sensor to specific pins as either an output or input. The myServo.attach(9) also connects the servo to a specific pin, while the .write(0) sets the servo’s initial position to 0 degrees.
Technical Understanding of Code (Part 4)
This section continuously monitors the touch sensor. When the sensor changes from a low (0) state to a high (1) state, the Arduino recognizes it as a touch. Once a touch is detected, the Arduino follows these specific steps.
- The LED turns on to indicate that the process has started
- A 20-second timer is initiated using the millis() function.
- The system flags are updated to indicate that the timer is active and the servo has not yet been activated.
- A message is displayed on the Serial Monitor
Technical Understanding of Code (Part 5)
This last section of the code checks whether the 20-second timer has finished. When the 20-seconds has elapsed:
- The message is displayed on the Serial Monitor
- The servo motor rotates 180 degrees, where it will then remain for 1 second.
- The servo will then return to its original position (0 degrees)
- The timer is stopped and the servo is marked as ‘activated’
- Afterwards, the current touch sensor reading is saved as the previous state for the next cycle
Conclusion
In conclusion, the Automated timer iPhone Dock demonstrates how design thinking principles can be applied to address a common issue faced by many students: poor study habits and excessive phone usage. By utilizing hardware components this project creates a simple visual demonstration of how one could combat this common issue. Rather than relying solely on self-discipline, the device creates an external system that holds the user accountable, only releasing the phone from the dock after the allocated time has elapsed.
However it is important to note that there are a multitude of improvements that could be made. To preface, the design of the dock itself needs improvements, like the replica linear actuator being set firmly to the dock itself. However, implementations like a closing lid and the addition of a secondary servo motor to aid in creating a smoother experience whilst also amplifying phone security while in the dock.