Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
Gabriel Inojosa
Published © GPL3+

Remote Control Robotic Mic Stand

Control the position of a microphone stand remotely through Blynk.

IntermediateWork in progress8 hours611
Remote Control Robotic Mic Stand

Things used in this project

Hardware components

SG90 Micro-servo motor
SG90 Micro-servo motor
×1
TowerPro MG995R High Torque Servo
×1
Jumper wires (generic)
Jumper wires (generic)
×1
Argon
Particle Argon
×1
Breadboard (generic)
Breadboard (generic)
×1

Software apps and online services

Blynk
Blynk
Particle Build Web IDE
Particle Build Web IDE
Onshape
**Optional if you want to modify any of the 3D modeled files.

Hand tools and fabrication machines

Multitool, Screwdriver
Multitool, Screwdriver
To fix the fins on the servo if you are working with crafts. The torque produced by the weight of the crafts can cause the fins to fall off if they aren't fixed with the given screw.
3D Printer (generic)
3D Printer (generic)
**Optional for 3D printing components, STP files will be handed.

Story

Read more

Custom parts and enclosures

C Clamp STL File

This is the first base to fix the MG995R Servo on your desk.

*Currently I am getting it 3D printed so its function is not entirely recommended and is still a work in progress.

Horizontal Rotation Servo Bar

This is the custom fin that connects the MG995R servo to the SG90 Microservo

*Refer to the same marked notice above.

Custom SG90 Servo Hub

This is the custom hub for the SG90 Microservo that connects the microphone in place

*Refer to the same marked annotation above

**Additionally, the dimensions to fit the microphone in place varies according to the microphone. It is recommended to use OnShape or another CAD to change the dimensions as deemed appropriately.

Schematics

Wiring Setup

Code

servoblynkcontrols.ino

C/C++
This is the code that pushes the data from Blynk's UI to the Argon to control both of the servo motors.

**Note that the Blynk library cannot be simply copied and pasted into the IDE. It first has to be selected in libraries and referenced for this program.
/* 
*    Copyright (C) Gabriel Inojosa 2021
*
*    This program is free software: you can redistribute it and/or modify
*    it under the terms of the GNU General Public License as published by
*    the Free Software Foundation, either version 3 of the License, or
*    (at your option) any later version.
*
*    This program is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*    GNU General Public License for more details.
*
*    You should have received a copy of the GNU General Public License
*    along with this program.  If not, see <https://www.gnu.org/licenses></https:>.
*/

// This #include statement was automatically added by the Particle IDE.
#include <blynk.h>


// Authorization code is sent from Blynk to your email
// after creating a new project in the app.
char auth[] = " "; //INSERT AUTHENTICATION KEY FROM BLYNK HERE

Servo horizontalServo;
Servo vertServo;

void setup()
{
    pinMode(D3, OUTPUT);
    Blynk.begin(auth);  // Connects Argon to Blynk Cloud
    
    horizontalServo.attach(6);
    horizontalServo.write(10); // I always choose a starting pos for my servo
    
    vertServo.attach(2);
    vertServo.write(10);
    delay(25);
    
}

BLYNK_WRITE(V0)
{
    horizontalServo.write( param.asInt() );
}

BLYNK_WRITE(V1)
{
    vertServo.write( 170 - param.asInt() );
}

void loop()
{
    digitalWrite(D3, HIGH);
    Blynk.run();
}

Credits

Gabriel Inojosa
3 projects • 3 followers
Contact

Comments

Please log in or sign up to comment.