Índice:

Suporte giratório para telefone: 7 etapas
Suporte giratório para telefone: 7 etapas

Vídeo: Suporte giratório para telefone: 7 etapas

Vídeo: Suporte giratório para telefone: 7 etapas
Vídeo: COLOCAR SUPORTE DE CELULAR PARA NÃO CAIR- Como colocar suporte veicular para não soltar e cair mais. 2024, Novembro
Anonim
Suporte giratório para telefone
Suporte giratório para telefone

Este instrutível foi criado em cumprimento ao requisito do projeto do Makecourse na University of South Florida (www.makecourse.com).

Deseja fazer um suporte giratório para telefone para que você possa ver o conteúdo do telefone na orientação retrato ou paisagem sem ter que segurá-lo? Então não procure mais.

Para criar este projeto, você precisará de:

- Microcontrolador Arduino e IDE

- Cabo USB para fazer upload do código

- breadboard

- Jumper Wires

- Tela de LCD

- Servo

- Coluna que pode ser anexada ao servo

- Remoto IR

- Receptor IR

- resistor de 10k ohm

- Kenu Airframe + clipe de telefone (ou algo para segurar o telefone no lugar)

- Bateria de 9 V para alimentação portátil ou apenas Arduino alimentado por USB

Etapa 1: construir o circuito receptor de infravermelho

Construir o circuito receptor IR
Construir o circuito receptor IR
Construir o circuito receptor IR
Construir o circuito receptor IR

Primeiro, pule GND e + 5V do Arduino para os trilhos de alimentação em sua placa de ensaio. Em seguida, pule seu resistor de 10k ohm do barramento de alimentação de + 5V para o pino de saída do fototransistor receptor de IV. Em seguida, use um fio jumper para conectar ao pino 11 no Arduino a partir do pino de saída do receptor IR. Em seguida, use dois fios de jumper para enviar o aterramento e + 5 V aos respectivos pinos no receptor IR. O filtro RC mostrado no esquema acima não é necessário. Por último, não fiz o esquema mostrado nesta etapa, e a fonte dele está presente na imagem.

Etapa 2: conectar o servo, a coluna e o suporte do telefone

Conecte o servo, a coluna e o suporte do telefone
Conecte o servo, a coluna e o suporte do telefone
Conecte o servo, a coluna e o suporte do telefone
Conecte o servo, a coluna e o suporte do telefone
Conecte o servo, a coluna e o suporte do telefone
Conecte o servo, a coluna e o suporte do telefone

Agora, use dois fios de jumper para pular do aterramento e + 5 V dos trilhos de alimentação da placa de ensaio para os fios marrom e vermelho do servo, respectivamente. Em seguida, use um fio jumper para conectar o pino 9 no Arduino ao fio laranja do servo.

Em seguida, anexe uma coluna à cabeça do servo como mostrado na segunda imagem.

Por fim, prenda algo para segurar o telefone na coluna, como o Kenu Airframe +, conforme mostrado na terceira foto.

Etapa 3: Conecte o display LCD para leitura do servo

Conecte o display LCD para leitura do servo
Conecte o display LCD para leitura do servo

Pule para o solo e + 5V dos trilhos de alimentação da placa de ensaio para os respectivos pinos no visor LCD. Além disso, pule os pinos SDA e SCL do LCD para o Ardiuno. Os pinos SDA e SCL do Arduino podem ser identificados na parte traseira da placa Arduino e são os dois pinos acima de AREF e aterramento acima do pino 13. O pino SCL é o mais alto. Isso permite que o display LCD leia a posição atual do servo.

Etapa 4: use o código e as bibliotecas anexadas para programar o Arduino

Use o código e as bibliotecas anexadas para programar o Arduino
Use o código e as bibliotecas anexadas para programar o Arduino

Baixe o arquivo RotatingMountCode.zip. Instale o Arduino IDE e descompacte o arquivo baixado em Documents / Arduino. Certifique-se de copiar o conteúdo da minha pasta de esboços e bibliotecas para a pasta de esboços e bibliotecas. Abra o esboço ServoIRandLCD e carregue-o no seu Arduino.

Veja as etapas posteriores para a explicação do código.

Etapa 5: Conecte a fonte de alimentação desejada ao Arduino e use o controle remoto para girar a montagem

Conecte a fonte de alimentação desejada ao Arduino e use o controle remoto para girar a montagem!
Conecte a fonte de alimentação desejada ao Arduino e use o controle remoto para girar a montagem!
Conecte a fonte de alimentação desejada ao Arduino e use o controle remoto para girar a montagem!
Conecte a fonte de alimentação desejada ao Arduino e use o controle remoto para girar a montagem!

Deixe o Arduino conectado ao computador ou desconecte-o do computador e use uma bateria de 9 V para fornecer energia CC ao Arduino. Finalmente, use um remoto infravermelho barato para controlar o servo e, portanto, a orientação da montagem do telefone!

O número 1 no controle remoto deve definir a posição do servo em 0 graus, o número 2 a 90 graus e o número 3 a 180 graus. Enquanto isso, os botões + e - no controle remoto devem aumentar ou diminuir o ângulo do servo em 1 grau, respectivamente.

Nota: Se você usar um controle remoto infravermelho diferente do ilustrado aqui, é possível que os códigos infravermelhos correspondentes a vários botões tenham mudado. Em caso afirmativo, modifique o esboço ServoIRandLCD para usar esses códigos IV.

Etapa 6: Leia isto para obter a explicação do código-fonte

Leia isto para obter a explicação do código-fonte
Leia isto para obter a explicação do código-fonte
Leia isto para obter a explicação do código-fonte
Leia isto para obter a explicação do código-fonte

O código-fonte para o esboço do Arduino pode ser encontrado abaixo ou no arquivo.zip anexado anteriormente. As bibliotecas necessárias só podem ser encontradas no arquivo.zip anexado anteriormente na etapa 4.

A primeira coisa que o código faz é incluir as bibliotecas necessárias para executar todas as funções no esboço. Em seguida, ele declara o pino 9 no Arduino como o pino de sinal habilitado para PWM para o servo. Ele também torna o pino 11 no Arduino o pino usado para o receptor IR. Em seguida, ele declara uma variável inteira usada para rastrear a posição do servo em graus e a define como 0 graus, inicialmente. Em seguida, ele instancia os objetos necessários para um objeto IRrecv, um objeto servo e um objeto LCD myDisplay (que também é configurado na mesma linha) para que esses objetos possam ser usados posteriormente.

Em seguida, na função de configuração, a porta serial é iniciada em 9600 bits / seg, de forma que o monitor serial pode ser usado para rastrear a posição do servo, se desejado. Ele também conecta o objeto myservo ao pino 9, inicia o receptor IR e inicializa o display LCD.

Na função de loop principal, cujo corpo só é executado se uma transmissão IR for recebida do receptor IR, o receptor IR decodifica o sinal enviado a ele do remoto IR usando a função de decodificação (e resultados) e, em seguida, se as declarações determinam o que para definir o servo dependendo do valor de IR recebido. A função de gravação é usada para definir o servo em seus graus apropriados, e a função de leitura é usada para encontrar o ângulo atual do servo e incrementá-lo ou diminuí-lo conforme necessário.

Finalmente, o ângulo atual do servo é enviado ao monitor serial e ao display LCD usando a função myservo.read (), e os loops principais iteram indefinidamente.

Código fonte:

#include // Biblioteca padrão do Arduino # include // Biblioteca IR #include "Wire.h" //Wire.h para LCD (às vezes necessário) #include "LiquidCrystal_I2C.h" // Biblioteca LCD

# define servopin 9 // define o pino 9 como o pino usado para o cabo de controle do servo (laranja)

int RECV_PIN = 11; // Foto-transistor IR envia saída para o pino 11

int currentAngle = 0; // declara a variável inteira currentAngle e define como 0

IRrecv irrecv (RECV_PIN); // instanciar um objeto receptor IR decode_results results; // instancia um objeto decode_results. Este objeto é separado do receptor IR.

Servo myservo; // instanciar um objeto Servo chamado 'myservo' // um máximo de oito objetos servo podem ser criados

LiquidCrystal_I2C myDisplay (0x27, 16, 2); // instanciar o objeto LCD e definir a configuração

void setup () {

Serial.begin (9600); // inicia a porta serial

myservo.attach (servopin); // anexa o servo no pino 9 ao objeto servo

irrecv.enableIRIn (); // inicia o receptor

myDisplay.init (); // inicializar LCD

myDisplay.backlight (); // liga a luz de fundo do LCD

}

void loop () {

if (irrecv.decode (& results)) // se a transmissão foi recebida…

{Serial.print ("valor IR recebido:");

Serial.println (resultados.valor); // exibir valor recebido

// interpretar os comandos recebidos… 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) // + {// incrementar currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) // - {// decrementar currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}

irrecv.resume (); // Receba o próximo valor

// Monitor serial print Serial.print ("Posição atual do servo:");

Serial.println (myservo.read ()); // recupera a posição do servo e a envia para o monitor serial

// LCD print myDisplay.clear ();

myDisplay.print ("Servo deg.:");

myDisplay.print (myservo.read ());

atraso (200); // demora para tornar a atuação do servo estável

}

Etapa 7: Assistir ao meu vídeo no Youtube para obter ajuda

Veja meu vídeo não listado no YouTube, que discute e demonstra totalmente o projeto, se você tiver alguma dúvida!

Recomendado: