Want to create interactive content? It’s easy in Genially!
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); }