Want to create interactive content? It’s easy in Genially!
self balance robot arduino
trodrigues2909
Created on July 2, 2023
Start designing with a free template
Discover more than 1500 professional designs like these:
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
- 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
- LMotorController.h
- I2Cdev.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
- Lei do centro de massa
- Inercia
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