Tabla de contenido:

Soporte giratorio para teléfono: 7 pasos
Soporte giratorio para teléfono: 7 pasos

Video: Soporte giratorio para teléfono: 7 pasos

Video: Soporte giratorio para teléfono: 7 pasos
Video: Armando EL MEJOR soporte giratorio para celular | tutorial corte y grabado laser 2024, Mes de julio
Anonim
Soporte giratorio para teléfono
Soporte giratorio para teléfono

Este instructable fue creado en cumplimiento del requisito del proyecto de Makecourse en la Universidad del Sur de Florida (www.makecourse.com).

¿Quiere hacer un soporte de teléfono giratorio para que pueda ver el contenido de su teléfono en orientación vertical u horizontal sin tener que sostenerlo? Entonces, no busques más.

Para crear este proyecto, necesitará:

- Microcontrolador Arduino e IDE

- Cable USB para cargar código

- Tablero de pruebas

- Cables de puente

- Pantalla LCD

- Servo

- Columna que se puede unir al servo.

- Control remoto por infrarrojos

- Receptor IR

- Resistencia de 10k ohmios

- Kenu Airframe + Clip para teléfono (o algo para sostener el teléfono en su lugar)

- Batería de 9 V para energía portátil o simplemente Arduino alimentado por USB

Paso 1: construya el circuito del receptor de infrarrojos

Construya el circuito del receptor de infrarrojos
Construya el circuito del receptor de infrarrojos
Construya el circuito del receptor de infrarrojos
Construya el circuito del receptor de infrarrojos

Primero, salte GND y + 5V desde el Arduino a los rieles de alimentación en su tablero. Luego, salte su resistencia de 10k ohmios del riel de alimentación de + 5V al pin de salida de su fototransistor del receptor de infrarrojos. A continuación, use un cable de puente para conectar el pin 11 en el Arduino desde el pin de salida del receptor de infrarrojos. Luego, use dos cables de puente para enviar tierra y + 5V a los pines respectivos en el receptor de infrarrojos. El filtro RC que se muestra en el esquema anterior no es necesario. Por último, no hice el esquema que se muestra en este paso, y la fuente está presente en la imagen.

Paso 2: conecte el servo, la columna y el soporte del teléfono

Conecte el servo, la columna y el soporte del teléfono
Conecte el servo, la columna y el soporte del teléfono
Conecte el servo, la columna y el soporte del teléfono
Conecte el servo, la columna y el soporte del teléfono
Conecte el servo, la columna y el soporte del teléfono
Conecte el servo, la columna y el soporte del teléfono

Ahora, use dos cables de puente para saltar desde el suelo y + 5V de los rieles de alimentación de la placa de pruebas a los cables marrón y rojo del servo, respectivamente. Luego, use un cable de puente para conectar el pin 9 del Arduino al cable naranja del servo.

Luego, coloque una columna en la cabeza del servo como se muestra en la segunda imagen.

Finalmente, coloque algo para sujetar el teléfono a la columna, como el Kenu Airframe +, como se muestra en la tercera imagen.

Paso 3: conecte la pantalla LCD para la lectura del servo

Conecte la pantalla LCD para lectura de servo
Conecte la pantalla LCD para lectura de servo

Salte a tierra y + 5V desde los rieles de alimentación de la placa de pruebas a los pines respectivos en la pantalla LCD. Además, salte los pines SDA y SCL de la pantalla LCD al Ardiuno. Los pines SDA y SCL de Arduino se pueden identificar desde la parte posterior de la placa Arduino y son los dos pines sobre AREF y Ground sobre el pin 13. El pin SCL es el más alto. Esto permite que la pantalla LCD lea la posición actual del servo.

Paso 4: use el código y las bibliotecas adjuntas para programar el Arduino

Utilice el código y las bibliotecas adjuntas para programar el Arduino
Utilice el código y las bibliotecas adjuntas para programar el Arduino

Descargue el archivo RotatingMountCode.zip. Instale el IDE de Arduino y descomprima el archivo descargado en Documentos / Arduino. Asegúrese de copiar el contenido de mi carpeta de bocetos y bibliotecas en su carpeta de bocetos y bibliotecas. Abra el boceto de ServoIRandLCD y cárguelo en su Arduino.

Consulte los pasos posteriores para obtener una explicación del código.

Paso 5: conecte la fuente de alimentación deseada a Arduino y use el control remoto para girar el soporte

¡Conecte la fuente de alimentación deseada a Arduino y use el control remoto para girar el soporte!
¡Conecte la fuente de alimentación deseada a Arduino y use el control remoto para girar el soporte!
¡Conecte la fuente de alimentación deseada a Arduino y use el control remoto para girar el soporte!
¡Conecte la fuente de alimentación deseada a Arduino y use el control remoto para girar el soporte!

Deje el Arduino enchufado a su computadora o desconéctelo de su computadora y use una batería de 9V para proporcionar alimentación de CC al Arduino. Finalmente, use un control remoto IR barato para controlar el servo y, por lo tanto, la orientación del soporte del teléfono.

El número 1 en el control remoto debe establecer la posición del servo en 0 grados, el número 2 en 90 grados y el número 3 en 180 grados. Mientras tanto, los botones + y - del control remoto deben aumentar o disminuir el ángulo del servo en 1 grado, respectivamente.

Nota: Si utiliza un mando a distancia por infrarrojos diferente al que se muestra aquí, es posible que cambien los códigos de infrarrojos correspondientes a varios botones. Si es así, modifique el esquema de ServoIRandLCD para usar esos códigos IR en su lugar.

Paso 6: lea esto para obtener una explicación del código fuente

Lea esto para obtener una explicación del código fuente
Lea esto para obtener una explicación del código fuente
Lea esto para obtener una explicación del código fuente
Lea esto para obtener una explicación del código fuente

El código fuente del boceto de Arduino se puede encontrar a continuación o en el archivo.zip adjunto anteriormente. Las bibliotecas necesarias solo se pueden encontrar en el archivo.zip adjunto anteriormente en el paso 4.

Lo primero que hace el código es incluir las bibliotecas necesarias para ejecutar todas las funciones en el boceto. A continuación, declara que el pin 9 del Arduino es el pin de señal habilitado para PWM para el servo. También hace que el pin 11 del Arduino sea el pin utilizado para el receptor de infrarrojos. A continuación, declara una variable entera utilizada para realizar un seguimiento de la posición del servo en grados y la establece en 0 grados, inicialmente. Luego, crea una instancia de los objetos requeridos para un objeto IRrecv, un objeto servo y un objeto LCD myDisplay (que también está configurado en la misma línea) para que estos objetos se puedan usar más adelante.

A continuación, en la función de configuración, el puerto en serie se inicia a 9600 bits / seg, por lo que el monitor en serie se puede utilizar para realizar un seguimiento de la posición del servo si se desea. También conecta el objeto myservo al pin 9, inicia el receptor de infrarrojos e inicializa la pantalla LCD.

En la función de bucle principal, cuyo cuerpo solo se ejecuta si se recibe una transmisión de infrarrojos desde el receptor de infrarrojos, el receptor de infrarrojos decodifica la señal enviada desde el control remoto de infrarrojos utilizando la función de decodificación (y resultados) y luego las declaraciones if determinan qué para configurar el servo en función del valor de IR recibido. La función de escritura se usa para configurar el servo en sus grados apropiados, y la función de lectura se usa para encontrar el ángulo actual del servo e incrementarlo o disminuirlo según sea necesario.

Finalmente, el ángulo actual del servo se envía tanto al monitor en serie como a la pantalla LCD mediante la función myservo.read (), y los bucles principales se repiten indefinidamente.

Código fuente:

#include // Biblioteca estándar de Arduino # incluye // Biblioteca de IR #incluye "Wire.h" //Wire.h para LCD (a veces es necesario) #include "LiquidCrystal_I2C.h" // Biblioteca de LCD

#define servopin 9 // esto define el pin 9 como el pin utilizado para el cable de control del servo (naranja)

int RECV_PIN = 11; // El fototransistor IR envía la salida al pin 11

int currentAngle = 0; // declara la variable entera currentAngle y la establece en 0

IRrecv irrecv (RECV_PIN); // instanciar un objeto receptor de infrarrojos decode_results results; // crea una instancia de un objeto decode_results. Este objeto está separado del receptor de infrarrojos.

Servo myservo; // instanciar un objeto Servo llamado 'myservo' // se puede crear un máximo de ocho objetos servo

LiquidCrystal_I2C myDisplay (0x27, 16, 2); // crear una instancia del objeto LCD y configurar la configuración

configuración vacía () {

Serial.begin (9600); // iniciar puerto serie

myservo.attach (servopin); // conecta el servo en el pin 9 al objeto servo

irrecv.enableIRIn (); // inicia el receptor

myDisplay.init (); // inicializar LCD

myDisplay.backlight (); // enciende la luz de fondo de la pantalla LCD

}

bucle vacío () {

if (irrecv.decode (& results)) // si se recibió la transmisión…

{Serial.print ("Valor de IR recibido:");

Serial.println (valor.resultados); // mostrar valor recibido

// interpreta los comandos recibidos… if (results.value == 16724175) // 1 {// left myservo.write (0); }

if (results.value == 16718055) // 2 {// middle myservo.write (90); }

if (results.value == 16743045) // 3 {// right myservo.write (180); }

if (results.value == 16754775) // + {// incremento currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) // - {// decrementar currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}

irrecv.resume (); // Recibe el siguiente valor

// Serial monitor print Serial.print ("Posición actual del servo:");

Serial.println (myservo.read ()); // esto recupera la posición del servo y la envía al monitor serial

// Impresión LCD myDisplay.clear ();

myDisplay.print ("Grados de servo:");

myDisplay.print (myservo.read ());

retraso (200); // retraso para estabilizar la actuación del servo

}

Paso 7: vea mi video de Youtube para obtener ayuda

¡Vea mi video de YouTube no listado que analiza y demuestra completamente el proyecto si tiene alguna pregunta!

Recomendado: