Índice:
- Etapa 1: construir o circuito receptor de infravermelho
- Etapa 2: conectar o servo, a coluna e o suporte do telefone
- Etapa 3: Conecte o display LCD para leitura do servo
- Etapa 4: use o código e as bibliotecas anexadas para programar o Arduino
- Etapa 5: Conecte a fonte de alimentação desejada ao Arduino e use o controle remoto para girar a montagem
- Etapa 6: Leia isto para obter a explicação do código-fonte
- Etapa 7: Assistir ao meu vídeo no Youtube para obter ajuda
Vídeo: Suporte giratório para telefone: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
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
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
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
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
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
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
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:
Suporte para Ipad para suporte de microfone em PVC: 4 etapas
Suporte para Ipad para suporte de microfone em PVC: muitos músicos agora usam iPads como folhas de letras / gráficos de acordes. Detentores comerciais, como o iKlip, podem custar US $ 30 ou mais. Fiz este por $ 5. Quero dar crédito a replayerreb cujo suporte para iPad para uso durante o acampamento foi a inspiração
Suporte e suporte para Kindle: 12 etapas
Suporte e suporte para Kindle: Siga estas etapas para criar um suporte para kindle 3D com uma base de papelão
Suporte de telefone para carro de madeira para carregamento sem fio do Google Home: 7 etapas (com imagens)
Suporte para telefone automotivo de madeira de carregamento sem fio do Google Home: Bem-vindo! Você já quis fazer uma pergunta ao Google enquanto dirigia sem abrir o telefone? O Google Assistente é um ótimo aplicativo com recursos interessantes, mas requer que você desbloqueie o telefone e abra o aplicativo ou mantenha pressionado o botão home para
Diy Zune, IPod, IPhone, PDA, suporte / base / suporte para telefone celular ou dispositivo gratuito: 6 etapas
Free Diy Zune, IPod, IPhone, PDA, Celular ou Gadget Holder / dock / stand: Já foi dito que a necessidade é a mãe da invenção. Eu descobri que isso é verdade muitas vezes. A semana passada não foi exceção. Tenho passado uma quantidade excessiva de tempo no meu PC à procura de emprego. Como recentemente substituí meu pc por um servidor, o
Suporte de papel para laptop, o suporte para laptop mais barato possível: 4 etapas
Suporte de papel para laptop, o suporte para laptop mais barato possível .: Acontece que adoro o quake3 e estou bastante preocupado com a durabilidade do meu MacBook. Nunca tive a ideia de comprar aquele suporte para laptop com ventoinhas, porque os MacBooks não têm nenhum buraco na parte inferior. Eu estava pensando que aquelas meias-bolas talvez dobrassem meu laptop c