Programação de Microcontroladores
-
Conhecimentos de Base Recomendados
Teoria de circuitos/electricidade introdutória.
Sistemas digitais a nível introdutório.
Programação em C/C++. -
Objetivos
A UC visa que os alunos:
1 - desenvolvam capacidades de projeto, realização e implementação de sistemas de hardware e software baseados em microcontroladores, de modo a obter uma funcionalidade específica dentro da área do curso.
Dado o âmbito do curso, a UC apresenta maior pendor na componente de desenvolvimento de software;
2 - desenvolvam as capacidades de programação que permitam ao microcontrolador comunicar com componentes satélite, vulgo E/S (ou I/O), nas formas analógica e digital;
3 - desenvolvam as capacidades de programação que permitam implementar as técnicas de polling e Interrupções com vista ao controlo de hardware satélite, nas formas de comunicação, E/S e temporização;
4 - desenvolvam capacidades específicas de como colocar o sistema baseado em microcontrolador a comunicar (porta série, Wi-Fi) com outros sistemas equivalentes;
5 - desenvolvam as capacidades de processamento de strings que permitam que duas máquinas possam trocar informação de estado e comando.
A UC baseia-se no uso da plataforma Arduino (e/ou equivalentes).
A realização de pequenos projetos práticos e de um projeto interdisciplinar permite que os alunos utilizem praticamente todos os recursos do microcontrolador, bem como fornece as necessidades para que as diversas estruturas da linguagem (em particular as bibliotecas) sejam utilizadas.
A UC, inserindo-se na metodologia de ensino PBL (Project Based Learning), tem forte pendor prático. Praticamente, todos os objetivos de aprendizagem são realizados na prática, através projetos (trabalhos laboratoriais e projeto interdisciplinar) de âmbito alargado. -
Métodos de Ensino
Poucas aulas são utilizadas para apresentar matéria.
O que leva a que a maior parte do tempo seja usado para o desenvolvimento do projeto interdisciplinar. -
Estágio(s)
Não
-
Programa
Arquitetura de um sistema genérico baseado em microcontrolador.
I/O digital e analógico (conversão analógica-digital, e digital-analógica).
Temporizadores.
Comunicação entre máquinas (Série/RS232, Wi-Fi).
Interrupções (internas e externas, mascaramento) e callbacks.
Strings (operações, parsing, conversões de/para numérico)
Organização de programas: polled super loop e Interrupt-based. -
Demonstração de conteúdos
-
-
Demonstração da metodologia
-
-
Docente(s) responsável(eis)
António Paulo Duarte Gomes de Abreu - 3.º Trimestre
-
Bibliografia
António Abreu; Arduino - course notes
Detalhes do curso
-
Código
PWDAM15
-
Modo de Ensino
PRESENCIAL
-
ECTS
3.0
-
Duração
Trimestral
-
Horas
30h Teórico-Práticas
