No projeto final a desenvolver pelos estudantes, pretende-se tirar partido das funcionalidades do ESP32 estudadas nas aulas, ligando-as a componentes externos disponíveis no laboratório ou outros que possam arranjar. O projeto deverá ser desenvolvido em MicroPython no ambiente integrado de desenvolvimento Visual Studio Code apresentado nas aulas.
Lista de projetos
São vários os projetos passíveis de serem escolhidos por cada grupo de estudantes, não se pretendendo contudo que haja grupos com o mesmo projeto. As propostas de trabalhos são as seguintes:
- Controlo dum display c/ 4 digitos de 7 segmentos através dum “rotary encoder”
- Interface com um LED RGB e micro joystick
- Emissor e/ou recetor de sinais infravermelhos dum comando remoto duma TV
- Controlo dum motor passo-a-passo 35L048B-2U
- Interface por I2C com o DAC MCP4728
- Interface por I2C com o DAC DAC8574
- Interface por I2C com o ADC MCP3424
- Interface por I2C com o ADC ADS1115
- Interface por I2C com um sensor de pressão BMP085 presente na IMU GY-80
- Interface por I2C com um sensor de cor RGB TCS3200
- Interface por I2C com o magnetómetro MAG3110
- Interface por I2C com o magnetómetro HMC5883L
- Interface por I2C com o sensor de temperatura TMP175
- Interface por I2C com o sensor de temperatura ADT7410
- Interface 1-Wire com o sensor de temperatura DS18B20
- Comunicação sem fios com os módulos NRF24L01
- Comunicação sem fios com módulos 433MHz
- Comunicação WiFi recorrendo ao módulo ESP-01
- Comunicação Bluetooth usando o módulo HC-05
- Interface com o leitor de RFID RC522
- Interface por I2C com um módulo ZS-042 (RTC DS3231 + EEPROM AT24C32)
- Interface com um módulo de som DFPlayer Mini
- Interface com o sensor de distâncias por IR GP2Y0A21YK0
- Interface por I2C com o sensor de distâncias por ultrassons SRF08/SRF10
- Interface com LEDs RGB PL9823
- Implementação de uma API REST
- Implementação de um servidor WEB simples
- Uso do protocolo MQTT
Uma procura na Internet pelo nome dos dispositivos acima mencionados dará uma rápida ideia das suas funcionalidades.
Escolha do projeto
Os estudantes deverão comunicar ao docente a sua escolha de entre a lista acima indicada ou um projeto próprio caso ele cumpra os objetivos pretendidos. Esta escolha será realizada preenchendo um formulário até ao final do dia 21 de maio.
Uma vez conciliadas todas as escolhas será atribuído na aula seguinte a cada grupo um projeto juntamente com o material necessário à sua realização.
Repositório GitHub
O projeto deverá ser nomeado como T0XBYY (onde X indica-se o número da turma e YY o número da bancada do grupo) e colocado no GitHub em modo Privado mas partilhado com os docentes (joao-pedro-feup e hsm-feup).
Relatório
O relatório sobre o projeto deverá ser incluído no repositório GitHub no formato Markdown a designar por README.md, usando o seguinte template:
# [T0XBYY] : [Título do Trabalho] - Nome do aluno 1: - Nome do aluno 2: ## Sumário * [Secção 1](#tag_sec_um) * [Secção X](#tag_sec_x) * [Secção Y](#tag_sec_y) ## <a name="tag_sec_um"></a> Secção 1 ## <a name="tag_sec_x"></a> Secção X ## <a name="tag_sec_y"></a> Secção Y
Uma breve referência sobre a escrita de ficheiros no formato Markdown pode ser vista aqui, existindo também um bom tutorial sobre o assunto aqui. O VSCode possui várias extensões para facilitar a edição deste tipo de ficheiros, nomeadamente:
- Markdown Preview Enhanced
- Markdown All in One
- markdownlint
IMPORTANTE: Uma vez realizada a apresentação não é possível efetuar alterações no repositório GitHub. Se tal se verificar será aplicada uma penalização na classificação.
Sessões de apresentação
As sessões de apresentação dos projetos decorrerão no dia 23 de Junho e terão uma duração de 15 minutos a começar às seguintes horas:
Grupo T01B01 – 09h00
Ricardo Moura Costa Pinto
Nuno Raimundo Pinto Barbosa
Emissor e/ou recetor de sinais infravermelhos dum comando remoto duma TV
Grupo T01B02 – 09h15
Joana Magalhães Baptista Teixeira
Mariana Silva Barbosa Castro Ramos
Interface por I2C com um sensor de cor RGB TCS3200
Grupo T01B03 – 09h30
André Beleza
Dénise Narciso
Interface por I2C com um sensor de pressão BMP085 presente na IMU GY-80
Grupo T01B04 – 09h45
Ana Carina Linhares da Costa
João Luís Magalhães Ilhão
Interface com um LED RGB e micro joystick
Grupo T01B05 – 10h00
Mafalda Silva
Cristina Cunha
Interface com um módulo de som DFPlayer Mini
Grupo T01B06 – 10h15
Juan Silva
Francisco Salgado
Interface por I2C com o magnetómetro MAG3110
Grupo T01B07 – 10h30
Francisco Santos de Vilhena Costa
José Carlos da Rocha Pacheco
Controlo dum display c/ 4 digitos de 7 segmentos através dum “rotary encoder”
Grupo T01B08 – 11h00
Bernardo Teixeira Pires
Jorge Luís Mota Fernandes
Controlo dum display c/ 4 digitos de 7 segmentos através dum “rotary encoder”
Grupo T01B12 – 11h15
Luís Afonseca
Patrícia Soares
Interface por I2C com o sensor de temperatura ADT7410
Grupo T01B10 – 11h30
José Francisco Ribeiro
Moutinho André da Costa Miranda
Interface por I2C com o magnetómetro HMC5883L
Grupo T01B11 – 11h45
Ana Francisca Assunção
José Miguel Pereira
Comunicação WiFi recorrendo ao módulo ESP-01
Grupo T01B09 – 12h00
Juliana Pinto Costa
Beatriz Moura Gomes
Implementação de um servidor WEB simples
Grupo T02B01 – 12h15
Nuno Miguel Ferreira Vivas
Mateus Gonçalves Marta
Interface com um LED RGB e micro joystick
Grupo T02B02 – 14h30
Tomás Lopes
Brigitte Ritter
Interface por I2C com o sensor de distâncias por ultrassons SRF08 / SRF10
Grupo T02B03 – 14h45
Nuno Miguel Ferreira Capitão
João Coelho Lima Folhadela
Implementação de uma API REST
Grupo T02B04 – 15h00
Mariana Marques Peixoto
Rita Fresco Ferreira Tabau
Interface por I2C com um sensor de cor RGB TCS3200
Grupo T02B05 – 15h15
Francisco Denis de Aguiar Steinmaier
João Luís Cardoso Morais Bessa
Emissor e/ou recetor de sinais infravermelhos dum comando remoto duma TV
Grupo T02B06 – 15h30
Diogo Alexandre Rodrigues dos Santos
José Luís Santo Silva Lino
Interface por I2C com o sensor de distâncias por ultrassons SRF08 / SRF10
Grupo T02B07 – 15h45
Hugo Bernardo Santos Lebre
João Pedro da Silva Brito
Interface 1-Wire com o sensor de temperatura DS18B20
Grupo T02B08 – 16h00
Rafael Tavares Moreira
Vasco Rocha Bartolomeu
Interface com o leitor de RFID RC522
Grupo T02B10 – 16h15
Sara Barros
Eduardo Marim Rodrigues
Controlo dum motor passo-a-passo 35L048B-2U
Grupo T02B11 – 16h30
José Miguel Trovao
Alexandre Correia
Implementação de uma API REST