self balancing robot arduino
Apresentação da pap
Projeto elaborado por Tiago Rodrigues 12ºM Nº17
Start
Motor Presentation
Inrodução
O presente trabalho fala sobre um robô elaborado com arduino capaz de se equilibrar autonomamente. Nesta apresentação, vamos entender como funciona o robô equilibrista Arduino, explorar os seus componentes e analisar o processo de programação necessário para alcançar o equilíbrio dinâmico.
Motor Presentation
montagem do projeto
Motor Presentation
montagem do projeto
Esquema do projeto
Motor Presentation
Materiais e componetes utilizados
Motor Presentation
placas de madeira
- 5 placas de madeira
- 16,5 por 6,5
Motor Presentation
Controladora de motores
- A controladora de motores L298N é uma placa eletrónica utilizada para controlar a velocidade e direção de motores, geralmente motores de corrente contínua (DC) ou motores de passo.
Motor Presentation
Placa de circuito impresso
Esta palca serve para soportar os componetes eletrónicos e as suas ligações . ,
Motor Presentation
Arduino nano
- O Arduino Nano é uma placa microcontroladora de código aberto projetada para facilitar a prototipagem de projetos eletrónicos. Ele é baseado no microcontrolador Atmel ATmega328P ou ATmega168, dependendo da versão, e possui uma série de pinos de entrada/saída, permitindo conectar sensores, atuadores e outros componentes eletrónicos.
Motor Presentation
JUmPERS
- Fêmea input/ Macho Output
Giroscopio/aselerometrompu-6050
- É o componente responsável por manter o equilíbrio do robô.
Ou seja, o Acelerômetro/Giroscópio é o componente capaz de medir a aceleração do objeto .
Motor Presentation
motor DC
- Motor de corrente continua
- Tem dois fios:
- O fio negativo o preto
- E o fio positivo o vermelho
Motor Presentation
ONDE PODEMOS ENCONTRAR O GIROSCOPIO
istórias.
Drones
Comandos de vedío jogos
Smart phone e tablets
aviação
Motor Presentation
código do projeto
#include <PID_v1.h>
#include <LMotorController.h>
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
#include "Wire.h"
#endif
- Nesta parte, são incluídas as bibliotecas necessárias para o funcionamento do código.
- PID_v1.h
Motor Presentation
código do projeto
#define MIN_ABS_SPEED 20
- Aqui esta defenida a constante "#define MIN_ABS_SPEED 20" com o valor 20
Motor Presentation
código do projeto
MPU6050 mpu;
// Variáveis de controlo/estado do MPU6050
bool dmpReady = false;
uint8_t mpuIntStatus;
uint8_t devStatus;
uint16_t packetSize;
uint16_t fifoCount;
uint8_t fifoBuffer[64];
// Variáveis de orientação/movimento
Quaternion q;
VectorFloat gravity;
float ypr[3];
- Essas variáveis são usadas para ler dados do sensor, como a orientação do dispositivo.
Motor Presentation
código do projeto
// Variáveis de configuração do PID
double originalSetpoint = 167;
double setpoint = originalSetpoint;
double movingAngleOffset = 0.1;
double input, output;
double Kp = 100;
double Kd = 8;
double Ki = 60;
PID pid(&input, &output, &setpoint, Kp, Ki, Kd, DIRECT);
double motorSpeedFactorLeft = 0.6;
double motorSpeedFactorRight = 0.6;
Motor Presentation
código do projeto
// Variáveis de controlo do motor
int ENA = 5;
int IN1 = 6;
int IN2 = 7;
int IN3 = 8;
int IN4 = 9;
int ENB = 10;
LMotorController motorController(ENA, IN1, IN2, ENB, IN3, IN4, motorSpeedFactorLeft, motorSpeedFactorRight);
Motor Presentation
código do projeto
void setup(){ // Configuração inicial do MPU6050 // ... }
- Aqui, é definida a função "setup()", que é chamada apenas uma vez no início do programa. Dentro dela, ocorre a inicialização do MPU6050 e o ajuste de configurações iniciais para o controle PID.
Motor Presentation
código do projeto
void loop()
{
// Loop principal
// ...
}
Esta é a função "loop()", que é executada continuamente após a função "setup()". Aqui, o código lê os dados do MPU6050, calcula o controle PID e ajusta a velocidade dos motores de acordo com os valores de saída do controlador
Motor Presentation
Leis de fízica presentes no projeto
- Lei do centro de gravidade
Motor Presentation
Estágio
Motor Presentation
conclusão
Motor Presentation
Bibliografia de imagens
https://ledistronica.pt/produto/microcontrolador-arduino-atmega328p-nano-v3/
https://docs.arduino.cc/resources/datasheets/ABX00028-datasheet.pdf
https://www.botnroll.com/12175-large_default/m-dulo-driver-motores-l298n.jpg
https://http2.mlstatic.com/D_NQ_NP_688916-MLA32229380472_092019-O.webp
https://i0.wp.com/androidgeek.pt/wp-content/uploads/2019/02/o-que-e-o-giroscopio-de-um-smartphone-e-como-saber-se-o-vosso-smartphone-tem-androidgeek-2019-02-14_09-43-08_222681.png?resize=1170%2C728&ssl=1
https://www.noticiasaominuto.com/economia/2345849/taag-vai-alugar-9-aeronaves-airbus-a220-com-cores-e-branding-nacional
Motor Presentation
fim
Motor Presentation
self balance robot arduino
trodrigues2909
Created on July 2, 2023
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Practical Presentation
View
Smart Presentation
View
Essential Presentation
View
Akihabara Presentation
View
Pastel Color Presentation
View
Nature Presentation
View
Higher Education Presentation
Explore all templates
Transcript
self balancing robot arduino
Apresentação da pap
Projeto elaborado por Tiago Rodrigues 12ºM Nº17
Start
Motor Presentation
Inrodução
O presente trabalho fala sobre um robô elaborado com arduino capaz de se equilibrar autonomamente. Nesta apresentação, vamos entender como funciona o robô equilibrista Arduino, explorar os seus componentes e analisar o processo de programação necessário para alcançar o equilíbrio dinâmico.
Motor Presentation
montagem do projeto
Motor Presentation
montagem do projeto
Esquema do projeto
Motor Presentation
Materiais e componetes utilizados
Motor Presentation
placas de madeira
Motor Presentation
Controladora de motores
Motor Presentation
Placa de circuito impresso
Esta palca serve para soportar os componetes eletrónicos e as suas ligações . ,
Motor Presentation
Arduino nano
Motor Presentation
JUmPERS
Giroscopio/aselerometrompu-6050
Motor Presentation
motor DC
Motor Presentation
ONDE PODEMOS ENCONTRAR O GIROSCOPIO
istórias.
Drones
Comandos de vedío jogos
Smart phone e tablets
aviação
Motor Presentation
código do projeto
#include <PID_v1.h> #include <LMotorController.h> #include "I2Cdev.h" #include "MPU6050_6Axis_MotionApps20.h" #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif
Motor Presentation
código do projeto
#define MIN_ABS_SPEED 20
Motor Presentation
código do projeto
MPU6050 mpu; // Variáveis de controlo/estado do MPU6050 bool dmpReady = false; uint8_t mpuIntStatus; uint8_t devStatus; uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer[64]; // Variáveis de orientação/movimento Quaternion q; VectorFloat gravity; float ypr[3];
Motor Presentation
código do projeto
// Variáveis de configuração do PID double originalSetpoint = 167; double setpoint = originalSetpoint; double movingAngleOffset = 0.1; double input, output; double Kp = 100; double Kd = 8; double Ki = 60; PID pid(&input, &output, &setpoint, Kp, Ki, Kd, DIRECT); double motorSpeedFactorLeft = 0.6; double motorSpeedFactorRight = 0.6;
Motor Presentation
código do projeto
// Variáveis de controlo do motor int ENA = 5; int IN1 = 6; int IN2 = 7; int IN3 = 8; int IN4 = 9; int ENB = 10; LMotorController motorController(ENA, IN1, IN2, ENB, IN3, IN4, motorSpeedFactorLeft, motorSpeedFactorRight);
Motor Presentation
código do projeto
void setup(){ // Configuração inicial do MPU6050 // ... }
Motor Presentation
código do projeto
void loop() { // Loop principal // ... }
Esta é a função "loop()", que é executada continuamente após a função "setup()". Aqui, o código lê os dados do MPU6050, calcula o controle PID e ajusta a velocidade dos motores de acordo com os valores de saída do controlador
Motor Presentation
Leis de fízica presentes no projeto
Motor Presentation
Estágio
Motor Presentation
conclusão
Motor Presentation
Bibliografia de imagens
https://ledistronica.pt/produto/microcontrolador-arduino-atmega328p-nano-v3/ https://docs.arduino.cc/resources/datasheets/ABX00028-datasheet.pdf https://www.botnroll.com/12175-large_default/m-dulo-driver-motores-l298n.jpg https://http2.mlstatic.com/D_NQ_NP_688916-MLA32229380472_092019-O.webp https://i0.wp.com/androidgeek.pt/wp-content/uploads/2019/02/o-que-e-o-giroscopio-de-um-smartphone-e-como-saber-se-o-vosso-smartphone-tem-androidgeek-2019-02-14_09-43-08_222681.png?resize=1170%2C728&ssl=1 https://www.noticiasaominuto.com/economia/2345849/taag-vai-alugar-9-aeronaves-airbus-a220-com-cores-e-branding-nacional
Motor Presentation
fim
Motor Presentation