Want to create interactive content? It’s easy in Genially!

Get started free

DYNAMIC UNIVERSITY THESIS

Luis Carvalho

Created on July 13, 2023

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

CARRO ROBOT REMOTO

Projeto de Aptidão Profissional

José Luís

Prof Paulo MoraisProf João Candeias Prof Rui Rodrigues

20 de Julho de 2023

Escola Secundária de Amarante

Índice

Diagrama Elétrico

Motivação

Aplicação

Resultados

Comunicação

Desenvolviementos Futuros

Fluxograma

Vídeo Demonstrativo

Motivação da realização do Projeto

Projeto de Aptidão Profissional

Desenvolver competências a nivel prático e técnico Linguagem de programação Contacto direto com todos os componentes

20 de Julho de 2023

Prof Paulo MoraisProf João Candeias Prof Rui Rodrigues

José Luís

Escola Secundária de Amarante

Aplicação

Projeto de Aptidão Profissional

20 de Julho de 2023

Prof Paulo MoraisProf João Candeias

José Luís

Escola Secundária de Amarante

Comunicação

Projeto de Aptidão Profissional

20 de Julho de 2023

Prof Paulo MoraisProf João Candeias

José Luís

Escola Secundária de Amarante

Fluxograma

Início

Variáveis

Projeto de Aptidão Profissional

distância

NÃO

BLE

SIM

NÃO

NÃO

NÃO

NÃO

NÃO

'T'

'F'

'P'

'D'

'E'

SIM

SIM

SIM

SIM

SIM

SIM

tra

esq

dir

para

para

dist<30

NÃO

frente

'STP'

'↓'

'→'

'←'

'STP'

'↑'

Prof Paulo MoraisProf João Candeias Prof Rui Rodrigues

Escola Secundária de Amarante

DIAGRAMA ELÉTRICO

Projeto de Aptidão Profissional

20 de Julho de 2023

Prof Paulo MoraisProf João Candeias Prof Rui Rodrigues

José Luís

Escola Secundária de Amarante

Resultados

Projeto de Aptidão Profissional

Controlo total do robot com uma aplicação;Fluidez e rapidez na comunicação;O sensor ultrassónico permite dar alguma autonomia ao robot;Ilustração dos movimentos e estados do robot através do Display

20 de Julho de 2023

Prof Paulo MoraisProf João Candeias Prof Rui Rodrigues

José Luís

Escola Secundária de Amarante

Desenvolvimentos Futuros

Projeto de Aptidão Profissional

Controlar a velocidade ; Criação de uma aplicação única para controlo do carro; Definir o tempo de autonomia; Utilização de outros sensores para torná-lo 100% autónomo ; Implementar uma câmera fotográfica ou de vídeo , por exemplo, para culto turístico e investigações policiais;

Prof Paulo MoraisProf João Candeias Prof Rui Rodrigues

20 de Julho de 2023

José Luís

Escola Secundária de Amarante

Vídeo Demonstrativo

Projeto de Aptidão Profissional

Prof Paulo MoraisProf João Candeias Prof Rui Rodrigues

20 de Julho de 2023

José Luís

Escola Secundária de Amarante

para(); unsigned char dis_para[1][16] = { 0x4e, 0x4a, 0x7a, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x7e, 0x42, 0x7e, 0x00, 0x7e, 0x0a, 0x0a, 0x0e }; if (valor == 'P') { para(); estado = 5; } if (estado==1){ if (distancia<=30.0){ para(); estado=5; } if (estado == 5) IIC_send(dis_para[data_line][i]); void para() { analogWrite(5, 0); analogWrite(6, 0); }

Serial.begin(9600); if (Serial.available()) { char valor = Serial.read() if (valor == 'F') { frente(); estado = 1; } if (valor == 'T') { tra(); estado = 2; } if (valor == 'E') { esq(); estado = 3; } if (valor == 'D') { dir(); estado = 4; } if (valor == 'P') { para(); estado = 5; } }

void tra() { vel(); digitalWrite(2, HIGH); digitalWrite(4, HIGH); }

#define IIC_SCL A5 #define IIC_SDA A4 #include <afstandssensor.h> AfstandsSensor afstandssensor(A0, 10); //(triggerPin, echoPin) double distancia=0.0; char valor; unsigned char data_line = 0; unsigned char delay_count = 0; unsigned char data_display1 = 0; unsigned char data_display2 = 0; unsigned char data_display3 = 0; unsigned char data_display4 = 0; unsigned char data_display5 = 0; unsigned char data_display6 = 0; unsigned char data_display7 = 0; unsigned char data_display8 = 0; unsigned char data_display9 = 0; unsigned char data_display10 = 0; unsigned char data_display11 = 0; unsigned char data_display12 = 0; unsigned char data_display13 = 0; unsigned char data_display14 = 0; unsigned char data_display15 = 0; unsigned char data_display16 = 0; unsigned char dis_inicio[1][16] = { 0x00, 0x4e, 0x4a, 0x7a, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x7e, 0x1a, 0x6e, 0x00, 0x02, 0x7e, 0x02 }; unsigned char dis_frente[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x7e, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_direita[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x54, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_esquerda[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x54, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_tras[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x7e, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_para[1][16] = { 0x4e, 0x4a, 0x7a, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x7e, 0x42, 0x7e, 0x00, 0x7e, 0x0a, 0x0a, 0x0e }; int estado=5; pinMode(IIC_SCL, OUTPUT); pinMode(IIC_SDA, OUTPUT); digitalWrite(IIC_SCL, LOW); digitalWrite(IIC_SDA, LOW); pinMode(2, INPUT); //esqueda-frente, direita-tras pinMode(3, INPUT); //esqueda-frente, direita-frent pinMode(4, INPUT); //esqueda-tra, direita-frtent analogWrite(5, 100); analogWrite(6, 100);

unsigned char dis_direita[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x54, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00 }; Serial.begin(9600); if (Serial.available()) { if (valor == 'D') { dir(); estado = 4; } if (estado == 4) IIC_send(dis_direita[data_line][i]); void dir() { vel(); digitalWrite(4, LOW); digitalWrite(2, HIGH); }

if (Serial.available()) { char valor = Serial.read(); if (valor == 'F') { frente(); estado = 1; } if (valor == 'T') { tra(); estado = 2; } if (valor == 'E') { esq(); estado = 3; } if (valor == 'D') { dir(); estado = 4; } if (valor == 'P') { para(); estado = 5; } }

void para() { analogWrite(5, 0); analogWrite(6, 0); }

if (estado==1){ if (distancia<=30.0){ para(); estado=5; }

unsigned char dis_frente[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x7e, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 }; Serial.begin(9600); if (Serial.available()) { char valor = Serial.read(); if (valor == 'F') { frente(); estado = 1; } } if (estado == 1) IIC_send(dis_frente[data_line][i]); if (estado==1){ if (distancia<=30.0){ para(); estado=5; } void frente() { vel(); digitalWrite(3, HIGH); digitalWrite(2, LOW); digitalWrite(4, LOW); }

#define IIC_SCL A5 #define IIC_SDA A4 #include <afstandssensor.h> AfstandsSensor afstandssensor(A0, 10); //(triggerPin, echoPin) double distancia = 0.0; char valor; unsigned char data_line = 0; unsigned char delay_count = 0; unsigned char data_display1 = 0; unsigned char data_display2 = 0; unsigned char data_display3 = 0; unsigned char data_display4 = 0; unsigned char data_display5 = 0; unsigned char data_display6 = 0; unsigned char data_display7 = 0; unsigned char data_display8 = 0; unsigned char data_display9 = 0; unsigned char data_display10 = 0; unsigned char data_display11 = 0; unsigned char data_display12 = 0; unsigned char data_display13 = 0; unsigned char data_display14 = 0; unsigned char data_display15 = 0; unsigned char data_display16 = 0; unsigned char dis_inicio[1][16] = { 0x00, 0x4e, 0x4a, 0x7a, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x7e, 0x1a, 0x6e, 0x00, 0x02, 0x7e, 0x02 }; unsigned char dis_frente[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x7e, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_direita[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x54, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_esquerda[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x54, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_tras[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x7e, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_para[1][16] = { 0x4e, 0x4a, 0x7a, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x7e, 0x42, 0x7e, 0x00, 0x7e, 0x0a, 0x0a, 0x0e }; int estado = 5; pinMode(IIC_SCL, OUTPUT);

void tra() { vel(); digitalWrite(2, HIGH); digitalWrite(4, HIGH); }

void esq() { vel(); digitalWrite(4, HIGH); digitalWrite(2, LOW); }

unsigned char dis_tras[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x7e, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 };//display if (valor == 'T') { tra(); estado = 2; }//bluetooth if (estado == 2) IIC_send(dis_tras[data_line][i]);//display void tra() { vel(); digitalWrite(2, HIGH); digitalWrite(4, HIGH); } //motores

void para() { analogWrite(5, 0); analogWrite(6, 0); }

void dir() { vel(); digitalWrite(4, LOW); digitalWrite(2, HIGH); }

void frente() { vel(); digitalWrite(3, HIGH); digitalWrite(2, LOW); digitalWrite(4, LOW); }

unsigned char dis_esquerda[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x54, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00 }; Serial.begin(9600); if (Serial.available()) { if (valor == 'E') { esq(); estado = 3; } } if (estado == 3) IIC_send(dis_esquerda[data_line][i]); void esq() { vel(); digitalWrite(4, HIGH); digitalWrite(2, LOW); }