Skill Development 4 Motors and Movement
Intention
The goal of this project was to explore controlling a servo motor using the Particle platform and gain hands-on experience with motor control and IoT interactions. This assignment aimed to deepen my understanding of servo motors, their integration with the Particle ecosystem, and their potential for creating dynamic, interactive systems. I wanted to experiment with precise motor movements triggered by code and tactile inputs.
The goal of this project was to explore controlling a servo motor using the Particle platform and gain hands-on experience with motor control and IoT interactions. This assignment aimed to deepen my understanding of servo motors, their integration with the Particle ecosystem, and their potential for creating dynamic, interactive systems. I wanted to experiment with precise motor movements triggered by code and tactile inputs.
Process
I began by connecting the servo motor to the Particle device. The servo's signal wire was connected to pin
In the code, I used the
I also registered a Particle variable (
Here is the code:
I began by connecting the servo motor to the Particle device. The servo's signal wire was connected to pin
A2
, the power wire to VIN
, and the ground wire to GND
. This setup ensured that the servo received a stable power supply and could be controlled using the Particle platform.In the code, I used the
Servo
library to create a Servo
object and defined A2
as the control pin. In the setup()
function, I attached the servo to the defined pin and registered a Particle cloud function (servoControl
) to enable remote control of the servo via the Particle cloud. This function accepts a string command, converts it to an integer representing the desired servo angle (0 to 180 degrees), and moves the servo accordingly. To ensure the angle remains within the valid range, I used the constrain()
function.I also registered a Particle variable (
servoPos
) to monitor the current position of the servo from the cloud. The loop()
function was left empty since the servo's movements are entirely controlled through cloud functions. This allowed me to interact with the servo by sending commands remotely, such as specifying a desired angle for the servo to move to.Here is the code:
Outcome
The final result was a functional servo motor system controlled by both pre-programmed sequences. The servo performed smooth, precise movements.
Reflection
This project allowed me to explore the potential of servo motors in interactive applications and further develop my skills in hardware control and integrating user input.
This project allowed me to explore the potential of servo motors in interactive applications and further develop my skills in hardware control and integrating user input.