Taula de continguts:

Servo brúixola extremadament bàsica i sense calibrar: 7 passos
Servo brúixola extremadament bàsica i sense calibrar: 7 passos

Vídeo: Servo brúixola extremadament bàsica i sense calibrar: 7 passos

Vídeo: Servo brúixola extremadament bàsica i sense calibrar: 7 passos
Vídeo: Home Is Where the Heart Is | Critical Role | Campaign 2, Episode 92 2024, Juliol
Anonim
Servo brúixola extremadament bàsica i sense calibrar
Servo brúixola extremadament bàsica i sense calibrar

Això és només una instrucció bàsica per a un projecte en què estic treballant. Això no està calibrat i és un prototip bàsic per a classe. En una instrucció posterior, mostraré com calibrar-lo.

No m'esperaria molta grandesa si fos tu, és més documentador del procés.

Subministraments

  • Micro servo (he utilitzat el micro servo HXT900 de Hobby King)
  • Arduino (he utilitzat Uno)
  • LSM303DLHC és el sensor
  • Cables, soldadura, etc.
  • Taula de pa

Pas 1: muntar-ho tot

Muntar-ho tot
Muntar-ho tot
Muntar-ho tot
Muntar-ho tot

Assegureu-vos que les capçaleres estiguin soldades correctament al sensor i que tingueu filferros i taulers.

Pas 2: biblioteques de codis

Biblioteques de codis
Biblioteques de codis
Biblioteques de codis
Biblioteques de codis

Voleu assegurar-vos que els teniu descarregats.

Les altres biblioteques que utilitzeu, wire.h i servo.h, ja haurien d’estar instal·lades per defecte.

Pas 3: Codi

Obriu la biblioteca d'esbossos "Brúixola" del que acabeu de descarregar. Per utilitzar el servo, voleu posar el codi servo en aquest codi. El vaig combinar amb el codi de Hanie Kiana d’aquí. L’original és d’Hanie Kiani, no jo. Hauria de ser així.

#incloure

#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Servo Servo1; configuració de buit (buit) {Serial.begin (9600); Wire.begin (); Servo1.attach (servoPin); Serial.println ("Prova del magnetòmetre"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Vaja, no s'ha detectat LSM303 … Comproveu el cablejat!"); mentre que (1); }} void loop (void) {/ * Obteniu un nou esdeveniment del sensor * / esdeveniment sensors_event_t; mag.getEvent (& event); flotador Pi = 3,14159; // Calculeu l'angle del vector y, x capçal flotant = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normalitzar a 0-360 si (encapçalament <0) {encapçalament = 360 + encapçalament; } Serial.print ("Capçalera brúixola:"); Serial.println (encapçalament); Servo1.write (180 capçaleres); retard (10); }

Pas 4: connecteu-lo junts

Connecteu-lo junts
Connecteu-lo junts

Voleu que el pin més esquerre, SCL, estigui connectat a l'entrada de dades A5

El que hi ha al costat, SDA, està connectat al port A4.

Terra va a terra.

VIN va al port de 5v.

Pas 5: afegiu Servo al cablejat

Afegiu Servo al cablejat
Afegiu Servo al cablejat

La terra i el voltatge parlen per si sols, però voleu que el pin de dades sigui ~ 3.

Pas 6: proveu el codi

Proveu el codi
Proveu el codi

Si moveu el magnetòmetre lentament, el servo hauria de moure’s amb ell. Probablement no sigui variat amb precisió, però com a mínim funciona amb el codi, de manera que la primera part està completa. Encara no està calibrat, però funciona.

Recomanat: