https://github.com/teamaguarai/pampas
Librería para el control de pines GPIO en un vehículo autónomo con Raspberry Pi 3
https://github.com/teamaguarai/pampas
college cpp pid raspberrypi robotics students
Last synced: 2 months ago
JSON representation
Librería para el control de pines GPIO en un vehículo autónomo con Raspberry Pi 3
- Host: GitHub
- URL: https://github.com/teamaguarai/pampas
- Owner: TeamAguarai
- Created: 2024-12-07T15:03:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-22T21:14:28.000Z (10 months ago)
- Last Synced: 2025-09-22T22:25:22.228Z (10 months ago)
- Topics: college, cpp, pid, raspberrypi, robotics, students
- Language: C++
- Homepage:
- Size: 221 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
pampas
Controla un vehículo RC como el HYPER VS 1/8 BUGGY NITRO a través de un **Raspberry Pi 3** con *C++*
## ⚠️ Uso de header only
> El proyecto está diseñado únicamente para un vehículo con características idénticas al [HYPER VS 1/8 BUGGY NITRO](https://www.amazon.com/Hobao-HB-VS-C30BU-Hyper-Buggy-Engine/dp/B00MY3ROS2) y únicamente puede ser usado en un Raspberry Pi.
En cualquier carpeta de del Raspberry Pi, clona este repositorio y ejecuta el archivo create_header.py
```bash
git clone https://github.com/TeamAguarai/pampas
cd pampas
chmod +x install scripts/*
python3 create_header.py
```
Este comando creara el archivo header only necesario para usar la libreria.
## 🎮 Uso
Para poder poder compilar tus proyectos asegurate de incluir el archivo header only "pampas.hpp" en tu compilacion, asi como la bandera -lwiringPi
```bash
g++ main.cpp -o main -lwiringPi
```
## 🔎 Ejemplos rápidos
Utiliza un controlador PID para gestionar el movimiento del motor
```c
pampas::Drive drive;
drive.setPid(0.4369, 0.6735, 0, 0, 0, 7.4, -10, 10);
drive.setTransferFunction(polinomialRegression);
drive.setMotor(13, 1.57, 1.57, 2.0);
drive.setVelocimeter(17, 0.105);
drive.run(2.5);
```
Realiza mediciones de velocidad a traves de sensores de pulso (Efecto Hall, Infrarojo, etc.)
```c
pampas::Velocimeter velocimeter;
velocimeter.setPin(17);
velocimeter.setWheelDiameter(0.105);
while (running)
{
velocimeter.start();
velocimeter.waitForUpdate();
std::cout << velocimeter.getSpeed() << std::endl;
}
```
## 👨🔬Funcionamiento
> ejemplos con imágenes y código de la estructura y funcionamiento del proyecto ...
## ⭐ API
> descripción detallada de las clases y métodos