Tripé para câmera bluetooth
Um breve resumo de como cheguei nesse projeto. Desde criança sempre gostei de desmontar carrinhos para ver o que tinha dentro, sempre desmontava e fazia alguns hacks para melhorar algumas coisas, tipo adicionar farol de milha, colocar mais potência na bateria para correr mais, adicionar buzina e etc. Isso era nos tempos de criança, já na adolescência tive meu primeiro contato com a programação através de um livro de Delphi que comprei por 5 reais em uma bilioteca do tipo Sebo, e vi como era feito as telas de programas Windows e tinha os códigos e tal, estudei aquele livro mas sem computador, que na época eu ainda não tinha... Depois de uns 2 anos consegui um Windows 95 e a prática veio a tona e consegui fazer algumas coisas legais nesse velho pc.
Abaixo, revista Bê-A-Bá da Eletrônica, que inspirava muitos jovens dos anos 80/90.
Mas porque estou falando isso? Bem para quem é novato no mundo da programação, pelo menos eu, não entendia como as coisas funcionavam, queria ver algo físico funcionando com programação e que eu mesmo tivesse programado. Alguns anos se passaram, e um dia estava na casa do meu primo e ele me mostrou um kit de Arduino, eu vi os leds piscando em sequência, e aquilo foi genial, tudo o que eu havia imaginado estava ali na minha frente e tudo fez sentido. Criar loops para fazer a sequência para acender os leds, criar sirene da policia, usar buzzer para toques polifônicos (música do Mário) e etc, realmente bem legal.
Hoje em dia está tudo bem acessível, para quem quiser aprender a programar, temos o Google, Stackoverflow, ChatGPT, cursos, YouTube e etc. Só que às vezes ligamos o modo automático e esquecemos do quão legal é programar e criar coisas novas e este projeto é para incentivar o pessoal, que acha que é necessário ser um mestre na programação para criar coisas legais e funcionais.
O projeto surgiu da necessidade de controlar o tripé da câmera a distância ,para poder virar a câmera em 90, 180, 360 graus.
Exemplo de video, usando o trípe de camera a distância:
Video Filmado utilizando o tripé
Componentes:
- Arduino Uno
- Módulo Bluetooth HC06
- Motor De Passo 28byj-48 com Driver Uln2003
- Fios
- Case (Pode ser uma lata)
- Suporte para GoPro
- Cola quente, para fixar os componentes.
Software:
- Arduino IDE (Para programar o Arduino, compilar e enviar para o microcontrolador)
- Arduino bluetooth controller (Aplicativo para controlar o Arduino via Bluetooth)
Esquema de ligação:
Não irei mostrar a montagem inteira por aqui, mas é bem simples, indico ligar o motor de passo no Arduino, o módulo bluetooth, baixar o aplicativo Arduino Bluetooth Controller e parear com o módulo bluetooth, e depois configurar com os valores que estão no Switch do código abaixo e ligar tudo e testar para verificar se o motor está virando.
Código:
#include <Stepper.h>
#define STEPS 200
bool isWait = false;
int speed = 40;
char inChar=-1; // Where to store the character read
SoftwareSerial bluetooth(4, 5); // RX, TX
Stepper myStepper(STEPS, 8, 9, 10, 11); // initialize the stepper library on pins 8 through 11:
void setup() {
Serial.begin(9600);
bluetooth.begin(57600);
Serial.println("Loading System...");
myStepper.setSpeed(speed);
}
void SetSpeedLow() {
if(speed >= 15){
speed = speed - 5;
Serial.println(speed);
myStepper.setSpeed(speed);
}
}
void SetSpeedHigh() {
if(speed <= 80){
speed = speed + 5;
Serial.println(speed);
myStepper.setSpeed(speed);
}
}
void ToggleWait() {
isWait = !isWait;
Serial.println("Toggle Wait");
}
void LookAtRightLittle() {
if(isWait) {
delay(5000);
}
myStepper.step(-10);
Serial.println("LookAtRightLittle");
}
void LookAtLeftLittle() {
if(isWait) {
delay(5000);
}
myStepper.step(10);
Serial.println("LookAtLeftLittle");
}
void LookAtRight() {
if(isWait) {
delay(5000);
}
myStepper.step(-1050);
Serial.println("LookAtRight");
}
void ResetSpeed() {
myStepper.setSpeed(40);
Serial.println("ResetSpeed");
}
void LookAtLeft() {
if(isWait) {
delay(5000);
}
myStepper.step(1050);
Serial.println("LookAtLeft");
}
void LookAround() {
if(isWait) {
delay(5000);
}
myStepper.step(2100);
Serial.println("LookAround");
}
// To configure the Android controller, you can use this app:
// https://play.google.com/store/apps/details?id=com.giumig.apps.bluetoothserialmonitor&hl=pt_BR&gl=US
// and define the command with the letters below
// After that, just connect the app to the bluetooth module and send these commands
void loop() {
if(bluetooth.available() > 0) {
inChar = bluetooth.read();
switch(inChar) {
case 'W':
ToggleWait();
break;
case 'U':
SetSpeedHigh();
break;
case 'D':
SetSpeedLow();
break;
case 'R':
LookAtRight();
break;
case 'L':
LookAtLeft();
break;
case '+':
LookAtRightLittle();
break;
case '-':
LookAtLeftLittle();
break;
case 'A':
LookAround();
break;
case 'S':
ResetSpeed();
break;
}
bluetooth.flush();
Serial.flush();
}
}