Programação
-
Neste módulo, vamos trabalhar com o design e implementação de máquinas de ciclo. Como diz o nome, este tipo de sistema opera em ciclo. São exemplos: vending machine, alarme eletrõnico, portões automáticos, semáforos, máquinas de café tipo nesspresso, etc.
Para tanto, vamos desenvolver dois projetos. Em sala, vamos trabalhar no design de um alarme residencial. Em casa, individualmente, vocês vão trabalhar no design e implementação de uma vending machine.
A metodologia de design será baseada em:
1.Especificação de requisitos, com uso do Diagrama de Casos de Uso.
2.Detalhamento do comportamento com uso de Diagramas de Maquinas de Estado.
3.Concepção da implementação, com Diagramas de Componentes.
4.Análise da implementação e timing, com Diagramas de Sequência.
Em cada semana, dois alunos serão chamados a apresentar a evolução do projeto da Vending Machine, para discussão com a classe. Além disso, todos deverão realizar a entrega da etapa do projeto.
-
Neste tópico, serão desenvolvidas atividades voltadas à familiarização com o LPC.
Visite o site do FreeRTOS (www.freertos.org).
A documentação de referência está em:
https://freertos.org/Documentation/RTOS_book.html
-
Exemplos de provas.
-
-
Desta vez, sua missão é projetar uma máquina eficiente, energética e operacionalmente, para fritar batata frita em lanchonetes. A máquina terá 4 panelas de fritura, aonde ficará o óleo. Em cada panela, capacidade para até 2 cestinhas, cada uma com capacidade para uma porção de batatas fritas. Por simplicidade, haverá apenas um tamanho de porção. Cada cestinha será acionada por um mecanismo independente, que mergulhará a cestinha no óleo, quando este estiver na temperatura correta. E suspenderá a cestinha, quando o tempo de fritura estiver correto. A colocação e retirada das batatas (crua e frita) será feita manualmente, pelo operador, e portanto está fora da descrição do sistema.
O sistema deverá permitir configurar a temperatura do óleo, tempo de fritura e o tempo de inatividade, em que o sistema de aquecimento de óleo para uma determinada panela será desativado, para economia de energia.
O sistema conterá:
-um display de 1 linha x 20 caracteres, para a configuração e monitoração (ver a seguir)
-um botão de fritura para cada mecanismo de cestinha, para iniciar o ciclo (pode ser necessário esperar o óleo aquecer)
-dois botões, UP & DOWN, para selecionar a opção de configuração (temperatura, tempo de fritura, tempo de inatividade)
-dois botões, PLUS & MINUS, para variar o parâmetro sendo configurado
O sistema terá o modo automático, no qual os botões de fritura estão ativos e os demais botões, inativos. E o modo de configuração, que será acionado através de uma chave física, que desativará os botões de fritura e ativará os botões de configuração. No modo automático, o display mostrará a temperatura em cada panela, alternadamente. No modo de configuração, o display mostrará o parâmetro sendo configurado e o valor atual do parâmetro.
Pede-se:
(0,5)a.Lista de requisitos do sistema
(1,0)b.Diagrama de casos de uso
(1,0)c.Diagrama de estados
(1,0)d.Descrição de cada ação a ser executada em cada transição de estados
(1,0)e.Diagrama de componentes, com identificação de cada interface de cada componente
(1,0)f.Descrição de cada função de cada componente, mostrando parâmetros de entrada e valores de retorno, bem como uma descrição sucinta do comportamento da função (pseudo-código por exemplo)
(4,5)g.Codificação de um simulador do sistema, usando uma tecla para representar cada botão e mostrando na tela o que seria mostrado no display. Esta codificação deverá seguir os princípios de implementação de máquinas de estado, discutidos na disciplina. Devem ser entregues todo o código utilizado e printscreens do funcionamento.