[Site Oficial]
[Objetivos]
[Período Letivo e Local]
[Ementa]
[Conteúdo Programático]
[Calendário de Atividades]
[Auxiliares Didáticos]
[Critério de Avaliação]
[Referências Técnicas]
[Moodle]
Objetivos
A disciplina EA801, de 4 créditos, capacita os alunos a desenvolver
projetos completos de sistemas digitais baseados em
microcontroladores, desde a concepção até a prototipagem. Com o
conhecimento prévio de desenvolvimento de firmware em C para comunicação serial
e tarefas concorrentes, adquirido em EA701 (Introdução aos Sistemas Embarcados), o foco aqui
é no projeto de hardware e sua integração com o firmware, abrangendo o
desenho de esquemáticos, montagem em protoboards, desenvolvimento de
placas de circuito impresso (PCBs) e a integração final de software
e hardware para resolver um problema específico.
Período Letivo e Local
- Período Letivo: 04/08/2025 a 29/11/2025
- Local: LE-14
O acesso ao LE-14 é permitido para os alunos fora dos horários de
aula, mediante identificação na entrada do Bloco E. Antes de sair do
laboratório, favor desliguem TODOS os
equipamentos sobre as bancadas e arrumem a bancada utilizada. Se forem
os últimos, fechem as janelas, desliguem o ar condicionado, e apaguem
as luzes.
Seguem-se algumas boas
práticas para uso compartilhado das bancadas:
- Trabalhar apenas na sua sub-pasta (workspace), localizada em
C:\Users\ea801\RA1-RA2, onde RA1 e RA2 correspondem aos registros acadêmicos da sua dupla.
Não deixar os arquivos espalhados em outras pastas, especialmente na Área de Trabalho.
- Ao abrir um ambiente de desenvolvimento integrado, certificar se está
entrando mesmo na sua área de trabalho (workspace).
- Fazer sempre uma cópia do conteúdo
importante da sua sub-pasta para evitar perda de dados.
Haverá manuntenção periódica das máquinas que será avisada
previamente. Arquivos podem ser
removidos.
Ajude-nos manter as bancadas operantes em 24
horas. Quando identificar algum problema nas bancadas, avise o almoxarifado.
Metodologia de projeto. Especificação, desenvolvimento e implementação de projetos de sistemas embarcados.
Protocolos de comunicação. Revisão de circuitos eletrônicos para interface com atuadores e sensores.
Concorrência entre tarefas. Expansão de memoria. Princípios de SO em tempo real.
Conteúdo Programático
- Metodologia de projetos em sistemas embarcados: abordagem de co-projeto hardware/software; definição e análise de requisitos; seleção tecnológica e análise de trade-offs; técnicas de desenvolvimento e metodologias aplicadas; ferramentas de versionamento e integração contínua; técnicas de testes e validação; aspectos de segurança, eficiência energética e confiabilidade; documentação.
Apresentação de plataformas de desenvolvimento disponíveis e avaliação de recursos de interação/comunicação através de um projeto proposto pelos alunos.
-
Circuitos de interface com sensores e atuadores: fundamentos de conexão entre microcontroladores e dispositivos externos; alocação de pinos; condicionamento de sinais analógicos e digitais; acionamento e controle de cargas de baixa e alta potência; proteção de entradas e saídas; isolamento elétrico; uso de drivers de potência; compatibilidade de níveis lógicos; separação e aterramento de domínios analógico e digital.
Desenvolvimento e integração de circuitos de interface sensor–microcontrolador–atuador em projetos práticos concebidos pelos alunos. Montagem em protoboard.
-
Projeto de circuitos de interface em placas de circuito impresso (PCB): princípios de layout e roteamento; planos de terra e alimentação; proteção de sinais; integração de sensores e atuadores; dissipação térmica; dimensionamento de trilhas e pads; conectores e testabilidade; software de design de PCB (como KiCAD); geração de arquivos para fabricação.
Desenvolvimento e integração de circuitos de interface sensor–microcontrolador–atuador em projetos práticos concebidos pelos alunos. Montagem em placas de circuitos impressos.
-
Introdução a Sistemas Operacionais de Tempo Real (RTOS): definição, características e requisitos de sistemas operacionais em tempo real; comparação entre RTOS e sistemas operacionais convencionais; escalonamento de tarefas, prioridades, temporização e deadlines; gerenciamento de tarefas, semáforos, filas, mutexes e timers; criação e sincronização de múltiplas tarefas.
Exercícios com softwares implementadoe em RTOS.
Dinâmica do Curso
A dinâmica deste curso é focada na proatividade e no pensamento crítico dos alunos. Espera-se que os alunos conduzam os projetos propostos de forma autônoma, identificando um problema interessante, buscando as alternativas de soluções, tomando as rédeas das decisões e da execução. Os professores atuarão como consultores, intervindo pontualmente para auxiliar em problemas específicos, guiando vocês no aprimoramento de suas soluções.
Suporte extra-classe: As atividades práticas contam com suporte de um PED C em plantões de dúvidas.
Entrega: O prazo para entrega do projeto é de 48 horas antes da próxima aula.
Calendário de Atividades
Tópico |
Aula |
Segundas (14:00 - 16:00h) |
Segundas (16:00 - 18:00h) |
Quartas (8:00 - 10:00h) |
Quartas (10:00 - 12:00h) |
Roteiro |
Firmware em Python
|
0 |
04/08 (A) |
04/08 (B) |
06/08 (C) |
06/08 (D) |
roteiro 1
|
1 |
11/08 (A) |
13/08 (C) |
18/08 (B) |
20/08 (D) |
Firmware em C e Hardware em protoboard
|
2 |
25/08 (A) |
27/08 (C) |
roteiro 2
|
01/09 (B) |
03/09 (D) |
3 |
08/09 (A) |
10/09 (C) |
15/09 (B) |
17/09 (D) |
Firmware em C e Hardware em PCB
|
4 |
22/09 (A) |
24/09 (C) |
roteiro 3
|
29/09 (B) |
01/10 (D) |
5 |
06/10 (A) |
08/10 (C) |
20/10 (B) |
22/10 (D) |
RTOS
|
6 |
03/11 (A) |
05/11 (C) |
roteiro 4
|
10/11 (B) |
12/11 (D) |
7 |
24/11 (A) |
26/11 (C) |
01/12 (B) |
03/12 (D) |
Auxiliar Didático
Neste semestre, contaremos com o suporte de um PED C. Os horários das monitorias presenciais estão listados abaixo. Caso tenha alguma dúvida fora desses horários, você também pode entrar em contato pelo grupo de Whatsapp.
|
Segunda |
Terça |
Quarta |
Quinta |
Sexta |
8:00 - 9:00 |
|
|
EA801 (turmas C/D) |
|
|
9:00 - 10:00 |
|
|
EA801 (turmas C/D) |
|
|
10:00 - 11:00 |
|
|
EA801 (turmas C/D) |
|
|
11:00 - 12:00 |
|
|
EA801 (turmas C/D) |
|
|
12:00 - 13:00 |
|
|
|
|
|
13:00 - 14:00 |
|
|
|
|
|
14:00 - 14:00 |
|
|
|
|
|
14:00 - 15:00 |
EA801 (turmas A/B) |
|
|
|
|
15:00 - 16:00 |
EA801 (turmas A/B) |
|
|
|
|
16:00 - 17:00 |
EA801 (turmas A/B) |
|
|
|
|
17:00 - 18:00 |
EA801 (turmas A/B) |
|
|
|
|
18:00 - 18:30 |
|
|
|
|
|
18:30 - 19:00 |
|
|
|
|
|
19:00 - 19:30 |
|
|
|
|
|
19:30 - 20:30 |
|
|
|
|
|
20:30 - 21:00 |
|
|
|
|
|
21:00 - 22:00 |
|
|
|
|
|
22:00 - 23:00 |
|
|
|
|
|
Critério de Avaliação
A média final é calculada da seguinte forma
M = 2P1 + 3P2 + 4P3 + 1P4,
onde Pn representa a nota do projeto n, n = {1,2,3,4}. Os projetos são atividades em grupos de até 2 pessoas. Para cada um dos quatro projetos, Pn, a nota do projeto inclui um exercício complementar com peso 1, a proposta de projeto com peso 1, o relatório do projeto com peso 6, e a apresentação do projeto com peso 2. Todas as atividades devem ser entregues através do Moodle.
É imprescindível a entrega dos relatórios dos projetos no prazo e a sua apresentação nas aulas previstas.
Serão aprovados os alunos que satisfizerem as duas condições:
-
M > = 5.0 .
- as notas finais dos questionários superiores a 3.0.
- as notas finais dos projetos superiores a 3.0.
A média final, Mfinal, destes alunos é igual a M.
Exame Final
Não haverá o exame final.
Referências Técnicas
- Roteiros das aulas
- Metodologia de Projetos de Sistemas Embarcados
- Projeto de Sistemas Embarcados, Carlos Eduardo Cugnasca,
- A PBL-Based Methodology for IoT Teaching, L.C.B.C.Ferreira et al.
- Microcontroladores
- RP2040: Chip,
Datasheet.
- RP2350: Chip,
Datasheet,
Projeto de hardware baseado em RP2350.
- STM32F411xC/E: Datasheet,
Manual de referência.
- STM32F103x8/STM32F103xB: Datasheet,
Manual de referência.
- Placas de desenvolvimento
- Raspberry Pi Pico RP2040, incluindo
Datasheet,
Esquemático,
MicroPython: MicroPython Wiki,
Documentação oficial de MicroPython,
Quick Reference.
C/C++ SDK: C/C++ Documentation,
Hardware APIs.
- Raspberry Pi Pico RP2040 apresentado pelo Embarcados (em Português)
- Black Pill:
Esquemático,
Documentação técnica,
CircuitPython,
STM32 Cube HAL (Hardware API).
- Blue Pill:
Esquemático,
Programação com a placa Blue Pill,
STM32 Cube HAL (Hardware API).
- BitDogLab:
Apresentação da placa,
Esquemático,
Curso de Introdução prática à BitDogLab,
Repositório no GitHub,
Artigo publicado no IEEE Transactions on Education.
- Ambientes de desenvolvimento integrados
- IDE Thonny: Instalação e configuração, Tutorial,
Como gravar MicroPython,
Programando com o IDE Thonny,
Programação da Raspberry Pi Pico em Python,
Introdução ao MicroPython no Raspberry Pi Pico,
MicroPython: Quick reference for RP2.
- Visual Studio Code: Instalação e configuração, Funcionalidades,
Programação de Raspberry Pi Pico,
Depuração de códigos.
Extensões: Raspberry Pi Pico, Cortex-Debug, Doxygen Documentation Generator, GitLab Workflow.
Dicas e macetes.
- STM32CubeIDE: Instalação e configuração (resumo),
STM32CubeMX,
Guia para inicialização rápida,
Manual do usuário,
Tutorial de STM32IDE,
Plugins (Extensões)
Plugins: Eclox (Doxygen),
EGit,
TM Terminal Serial.
- Programador de códigos binários (Blue e Black Pills): STM32CubeProgrammer.
- Suite de automação de projeto eletrônico (EDA)
- KiCAD: Getting started in KiCAD, Tutorial, Tutorial (em Português).
- Documentação de códigos-fonte
- Doxygen: Instalador de Doxygen e instaladores de dois aplicativos complementares: Graphviz e mscgen
C: Linhas de comando,
Documentação de código,
Comandos,
Grafos de dependência e diagramas
Quick Reference
Python: Documenting Python Programs with Doxygen
- Versionamento de projetos
- Git: Os primeiros passos, Documentações, Referência rápida, KiCAD: Git Integration.
- Plataforma de gerenciamento de versões
- GitLab:
Integração com VSCode,
Integração com STM32CubeIDE,
Referência rápida.
- GitHub: Integração com VSCode, Integração com STM32CubeIDE, Referência rápida.
Última modificação: seg 21 jul 2025 20:29:47 -03
"Esta página, assim como todas as páginas sob esta
mesma árvore, não é uma publicação oficial da UNICAMP, seu conteúdo
não foi examinado e/ou editado por esta instituição. A
responsabilidade por seu conteúdo é exclusivamente do
autor."
"This page, as well as all pages
under this same tree, is not an official publication from UNICAMP;
its content has not been verified and/or edited by this
institution. The author is solely responsible by its
contents."