{"id":19147196,"url":"https://github.com/albert-alvarez/roboticsub-imu","last_synced_at":"2026-05-16T09:32:55.420Z","repository":{"id":136732474,"uuid":"305394832","full_name":"Albert-Alvarez/roboticsub-imu","owner":"Albert-Alvarez","description":"Librería Arduino simplificada para la IMU MPU-9250","archived":false,"fork":false,"pushed_at":"2020-11-06T11:12:36.000Z","size":90,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-22T20:16:48.960Z","etag":null,"topics":["arduino","imu","library","mpu-9250"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Albert-Alvarez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-19T13:33:56.000Z","updated_at":"2023-01-16T07:59:55.000Z","dependencies_parsed_at":"2024-05-05T13:31:14.153Z","dependency_job_id":null,"html_url":"https://github.com/Albert-Alvarez/roboticsub-imu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Albert-Alvarez/roboticsub-imu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Albert-Alvarez%2Froboticsub-imu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Albert-Alvarez%2Froboticsub-imu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Albert-Alvarez%2Froboticsub-imu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Albert-Alvarez%2Froboticsub-imu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Albert-Alvarez","download_url":"https://codeload.github.com/Albert-Alvarez/roboticsub-imu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Albert-Alvarez%2Froboticsub-imu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33096878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","imu","library","mpu-9250"],"created_at":"2024-11-09T07:49:14.617Z","updated_at":"2026-05-16T09:32:55.404Z","avatar_url":"https://github.com/Albert-Alvarez.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Librería de Arduino para MPU-9250\n\nEsta librería encapsula la librería original de [Sparkfun](https://github.com/sparkfun/SparkFun_MPU-9250-DMP_Arduino_Library) con tal de ofrecer nuevos métodos que simplifiquen el desarrollo con la IMU MPU-9250 durante las clases de Robótica del Grado de Ingeniería Biomédica de la Universitat de Barcelona. De igual modo, siguen estando disponibles las funciones avanzadas que ofrece la librería original de [Sparkfun](https://github.com/sparkfun/SparkFun_MPU-9250-DMP_Arduino_Library).\n\n## Instalación\n\n###  Método 1\n\n- Descargar el repositorio en una carpeta local.\n- Descomprimir los contenidos del archivo descargado en una carpeta con el mismo nombre que el archivo principal del proyecto de Arduino. En este caso, `roboticsub-imu`.\n- Modificar el archivo `roboticsub-imu.ino` a conveniencia.\n\n### Método 2\n\n- Descargar el repositorio en una carpeta local.\n\n- Descomprimir los contenidos del archivo descargado.\n\n- Copiar la carpeta `src` en la carpeta que contiene nuestro proyecto de Arduino.\n\n- Hacer el *include* pertinente en el *sketch* principal de Arduino:\n\n  ```c++\n  #include \"src/RoboticsUB.h\"\n  ```\n\n## Uso\n\nA ser una expansión de la librería de Sparkfun, el uso es exactamente el mismo que el descrito en la [página oficial](https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide#using-the-mpu-9250-dmp-arduino-library). La única diferencia es que debemos de crear un objeto de tipo `IMU`.\n\n```c++\nIMU imu;\n```\n\nA continuación, se describen las funciones añadidas.\n\n#### Install()\n\nInicia la comunicación con la IMU y configura sus registros.\n\n```c++\nimu.Install();\n```\n\n#### ReadSensor()\n\nRealiza la lectura de los valores de la IMU.\n\n```c++\nimu.ReadSensor();\n```\n\n#### GetQuaternion()\n\nDevuelve un puntero a un vector con el cuaternión de la orientación de la IMU.  Los valores devueltos corresponden a los últimos obtenidos mediante la función `ReadSensor()`.\n\n```c++\nfloat * q;\nq = imu.GetQuaternion();\n```\n\nLos elementos `0`, `1`, `2` y `3` del vector corresponden a los componentes `w`, `x`, `y` y `z`, respectivamente, del cuaternión `q = w + xi + yj + zk`.\n\n#### GetRPY()\n\nDevuelve un puntero a un vector con el *roll*, *pitch* y *yaw* de la orientación de la IMU.  Los valores devueltos corresponden a los últimos obtenidos mediante la función `ReadSensor()`.\n\n```c++\nfloat * rpy;\nrpy = imu.GetRPY();\n```\n\nLos elementos `0`, `1` y `2` del vector corresponden a los componentes *roll*, *pitch* y *yaw*, respectivamente.\n\n#### Otros\n\nEl pin de interrupciones `INT` del MPU-9250 está activado para su uso.\n\n## Ejemplo\n\nEl ejemplo incluido para Arduino envía el RPY vía serie para interactuar con el simulador RoboDK. El repositorio también contiene el archivo python utilizado en el simulador RoboDK en `_roboDK/RoboticsUB-TCP_Endowrist_from_IMU.py`.\n\n## Licencia\n\nCopyright (c) Albert Álvarez Carulla. Todos los derechos reservados.\n\nLicenciado bajo licencia [GNU GPLv3](./LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbert-alvarez%2Froboticsub-imu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falbert-alvarez%2Froboticsub-imu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbert-alvarez%2Froboticsub-imu/lists"}