Índice:

Extremamente básico, bússola servo não calibrada: 7 etapas
Extremamente básico, bússola servo não calibrada: 7 etapas

Vídeo: Extremamente básico, bússola servo não calibrada: 7 etapas

Vídeo: Extremamente básico, bússola servo não calibrada: 7 etapas
Vídeo: RECRUTA PEDINDO PRA IR EMBORA, NÃO AGUENTOU A PRESSÃO @CANCOESDETFM 2024, Julho
Anonim
Bússola Servo Extremamente Básica e Não Calibrada
Bússola Servo Extremamente Básica e Não Calibrada

Este é apenas um instrutor básico para um projeto no qual estou trabalhando. Este não está calibrado e é um protótipo básico feito para a aula. Em um instrutível posterior, mostrarei como calibrá-lo.

Eu não esperaria muita grandeza disso se fosse você, é mais documentar o processo.

Suprimentos

  • Micro servo (usei o Micro Servo HXT900 da Hobby King)
  • Arduino (usei Uno)
  • LSM303DLHC é o sensor
  • Cabos, solda, etc
  • Tábua de pão

Etapa 1: monte tudo

Monte tudo
Monte tudo
Monte tudo
Monte tudo

Certifique-se de que seus conectores estejam soldados ao sensor corretamente e de que você tenha os fios e a placa de ensaio.

Etapa 2: Bibliotecas de código

Bibliotecas de código
Bibliotecas de código
Bibliotecas de código
Bibliotecas de código

Você vai querer ter certeza de que fez o download deles.

As outras bibliotecas que você usará, wire.h e servo.h, já devem estar instaladas por padrão.

Etapa 3: Código

Abra a biblioteca de esboço 'Compass' do que você acabou de baixar. Para usar o servo, você deseja colocar o código do servo neste código. Eu combinei com o código de Hanie Kiana daqui. O original é de Hanie Kiani, não de mim. Deve ser assim.

#incluir

#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Servo Servo1; configuração de vazio (vazio) {Serial.begin (9600); Wire.begin (); Servo1.attach (servoPin); Serial.println ("Teste de magnetômetro"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Opa, nenhum LSM303 detectado … Verifique sua fiação!"); enquanto (1); }} void loop (void) {/ * Obter um novo evento de sensor * / sensores_event_t event; mag.getEvent (& event); float Pi = 3,14159; // Calcula o ângulo do vetor y, x rumo flutuante = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normaliza para 0-360 if (cabeçalho <0) {cabeçalho = 360 + cabeçalho; } Serial.print ("Título da bússola:"); Serial.println (cabeçalho); Servo1.write (cabeçalho 180); atraso (10); }

Etapa 4: conecte-os juntos

Faça a conexão
Faça a conexão

Você quer o pino mais à esquerda- SCL- conectado à entrada de dados A5

Aquele ao lado dele - SDA - conectado à porta A4.

O solo vai para o solo.

VIN vai para a porta 5v.

Etapa 5: Adicionar Servo à Fiação

Adicionar servo à fiação
Adicionar servo à fiação

O aterramento e a voltagem falam por si, mas você deseja que o pino de dados seja ~ 3.

Etapa 6: teste o código

Teste o código
Teste o código

Se você mover o magnetômetro lentamente, o servo deve se mover com ele. Provavelmente não é preciso variar, mas pelo menos está funcionando com o código, então a primeira parte está completa. Ainda não está calibrado, mas funciona.

Recomendado: