#include < Wire.h > //This is for i2C
#include < SSD1306Ascii.h > //i2C OLED
#include < SSD1306AsciiWire.h > //i2C OLED
// i2C OLED
#define I2C_ADDRESS 0x3C
#define RST_PIN - 1
SSD1306AsciiWire oled;
float OLEDTimer = 0; //Timer for the screen refresh
//I2C pins:
//STM32: SDA: PB7 SCL: PB6
//Arduino: SDA: A4 SCL: A5
//---------------------------------------------------------------------------
//Magnetic sensor things
int magnetStatus = 0; //value of the status register (MD, ML, MH)
int lowbyte; //raw angle 7:0
word highbyte; //raw angle 7:0 and 11:8
int rawAngle; //final raw angle
float degAngle; //raw angle in degrees (360/4096 * [value between 0-4095])
yeremival
copilot
-
Alimentación:
- Conecta U1 a una fuente de alimentación de 5V. Si prefieres usar una fuente de 3.3V, conecta U1 a 3.3V.
- Conecta U1 a tierra (GND).
-
Interfaz de Salida:
- Analog Output: Conecta U1 a un pin analógico de tu microcontrolador para leer el valor de salida analógica que representa la posición angular.
- I2C Interface: Para comunicación digital, conecta U1 al pin SDA de un bus I2C y U1 al pin SCL. Asegúrate de tener resistencias pull-up en estas líneas según lo requiere el estándar I2C.
-
Dirección de Rotación:
- Conecta U1 a GND o VCC para establecer la dirección de incremento (CW o CCW).
Consideraciones Adicionales: