Desenvolvido para sanar a dificuldade de fixação de pequenas câmeras em projetos de aeromodelismo e demais projetos robóticos, o Suporte Pan Tilt é um produto que controla através de micro servos motores o movimento horizontal e vertical de sua câmera ou sensor.
Em uma parceria com a WR Kits desenvolvemos um exclusivo projeto que visa proporcionar o livre movimento de um sensor com o intuito de realizar uma melhor qualidade na captação de informações de uma determinada área, movimentando-se tanto na horizontal, quanto na vertical.
Bastante utilizado em carrinhos para a captação de imagens, ele pode ser facilmente posicionado sobre plataformas robóticas e controlado de modo remoto para poder posicionar a câmera em determinado ângulo, ou seja, o seu carrinho pode estar andando livremente em uma feira, por exemplo, e ao mesmo tempo mandando imagens em tempo real para uma TV.
Produzido em plástico resistente e em dimensões reduzidas, o Suporte Pan Tilt não ocupa muito espaço em seu projeto e é facilmente montado através de dois micro servos motores, além de acompanhar todos os parafusos e buchas necessárias para a sua montagem.
Lembrando que para a utilização de sensores, o modo de instalação vai depender de uma possível prévia adaptação do sensor para então ser fixado de forma segura no suporte.
Teste Prático Projeto Arduino Suporte Pan Tilt
O sistema de controle foi definido através de dois sensores de luminosidade, ou seja, ele se movimenta de acordo com a luminosidade presente no ambiente. Um dos LDRs controla o movimento horizontal e o outro o movimento vertical, através da simples variação de luz do local em que se encontra.
Produtos Utilizados no Projeto de Controle do Suporte
- 1 Arduino UNO + Cabo USB AB;
- 1 Suporte PAN TILT SG90;
- 2 Micro Servo Motor SG90;
- 2 LDR Sensor de Luminosidade 5mm;
- 2 Resistores 10K;
- Jumpers.
Montagem Física (Hardware)
Para fazer a ligação correspondente, basta observar com atenção o esquema abaixo e reproduzir em seu projeto a pinagem utilizada.
Funcionamento do Programa (Software)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
/* Câmera que orienta-se pela luz Autor: Eng. Wagner Rambo Patrocínio: Usinainfo (www.usinainfo.com.br) */ // --- Bibliotecas Auxiliares --- #include <Servo.h> // --- Mapeamento de Hardware --- #define servo1 9 //servo1 ligado ao pino 9 #define servo2 10 //servo2 ligado ao pino 10 #define ldr1 A1 //sensor de luz 1 ligado em A1 #define ldr2 A2 //sensor de luz 2 ligado em A2 // --- Objetos do Software --- Servo sv1, sv2; //cria objetos para os servos // --- Protótipo das Funções --- void servoControl(); //função para controle dos servos a partir dos sensores // --- Variáveis Globais --- int adc1 = 0x00, adc2 = 0x00; //variáveis para armazenamento de adc unsigned short angulo1 = 90, angulo2 = 90; //angulo dos servos unsigned short anguloAtual1, anguloAtual2; //auxiliares para armazenar angulo atual // --- Configurações Iniciais --- void setup() { pinMode(ldr1, INPUT); //entrada A1 pinMode(ldr2, INPUT); //entrada A2 pinMode(servo1, OUTPUT); //saída servo1 pinMode(servo2, OUTPUT); //saída servo2 sv1.attach(servo1); //pino de sv1 sv2.attach(servo2); //pino de sv2 sv1.write(angulo1); //centraliza sv1 sv2.write(angulo2); //centraliza sv2 } //end setup // --- Loop Infinito --- void loop() { servoControl(); //chama função para controle do servo } //end loop // --- Funções Auxiliares --- void servoControl() { adc1 = analogRead(ldr1); adc2 = analogRead(ldr2); sv1.write(angulo1); //atualiza angulo do servo1 sv2.write(angulo2); //atualiza angulo do servo2 if(adc1 < 500) //luminosidade baixando? { angulo1++; //incrementa angulo1 delay(10); if(angulo1 > 180) angulo1 = 180; //fixa em 180 } //end if else if(adc1 > 524) //luminosidade subindo? { angulo1--; //decrementa angulo1 delay(10); if(angulo1 < 1) angulo1 = 1; //fixa em 1 } //end else if else angulo1 = 90; //luminosidade em meio termo, mantém em 90 graus if(adc2 < 500) //luminosidade baixando? { angulo2++; //incrementa angulo2 delay(10); if(angulo2 > 180) angulo2 = 180; //fixa em 180 } //end if else if(adc2 > 524) //luminosidade subindo? { angulo2--; //decrementa angulo1 delay(10); if(angulo2 < 1) angulo2 = 1; //fixa em 1 } //end else if else angulo2 = 90; //luminosidade em meio termo, mantém em 90 graus } //end servoControl |
Conclusão
O Projeto do Suporte Pan Tilt para Câmera Controlado com Arduino e Servo é uma excelente opção para quem esta desenvolvendo projetos, mostrando ótimos resultados e excelente controle de posicionamento quando integrado com o Arduíno e o servo motor sg90, por exemplo.
Conheça toda Linha de Produtos Arduino no Site da UsinaInfo.