Giter VIP home page Giter VIP logo

2020a-av1-embarcados's Introduction

2020a - Avaliação prática 1

Nessa avaliação iremos trabalhar com o módulo OLED1 (botões/ LEDs e Display), o mesmo já está disponível no repositório da avaliação.

  • Atualize o arquivo ALUNO.json com seu nome e e-mail e faça um commit imediatamente.

Faça o seu trabalho de maneira ética!

  • A cada 30 minutos você deverá fazer um commit no seu código!
    • Códigos que não tiverem commit a cada 30min ou que mudarem drasticamente entre os commits serão descartados (conceito I) !!
    • Você deve inserir mensagens condizentes nos commits!
  • Duração: 3h

🚩 Ao finalizar a entrega preencher o formulário (uma única vez!): https://forms.gle/uTa7SYNAPd2qbC8X7

Descrição

Nessa avaliação iremos trabalhar com o OLED1 e iremos desenvolver um 'cronometro' que poderia ser instalado em um eletrodoméstico (linha branca). O exemplo a seguir é um timer de um fogão.

Nessa avaliação vocês terão desenvolver um cronometro (contagem regressiva) com relógio, vocês devem utilizar o kit de desenvolvimento SAME70-XPLD mais display OLED1, o firmware deve possuir:

  • Display:
    • hh:mm:ss: indicar a hora atual na primeira linha
    • mm:ss: indicar o valor do alarme (minutos e segundos) na segunda linha
  • Botões:
    • But1: incrementar o valor do minuto do cronometro (max 59)
    • But2: incrementar o valor do segundo do cronometro (max 59)
    • But3: indicar o início (start) do alarme
  • Leds:
    • Led1: Deve indicar se o alarme está ativado ou não
    • Led3: Ao final da contagem do alarme, deve piscar

Rubricas

Vocês devem gravar um vídeo do firmware funcionando na placa para submeter o projeto.

C

Vídeo de como tem que ficar

Projeto funciona conforme descrição. Possui um pequeno bug (usando o protótipo possui algum erro), mas projeto funciona de forma geral.

Usuário consegue ajustar valores do cronometro (segundos) e iniciar contagem regressiva, LCD mostra valores de hora e do cronometro (atualizado a cada segundo), LED1 indica que contagem está ativada. Ao final, LED3 pisca indicando final da contagem.

  • LCD exibe hora: hh:mm:ss (atualizada a cada segundo)
  • LCD exibe cronometro: hh:mm:ss
  • Botões implementados e funcionando
  • Leds implementados e funcionando
  • Cronometro segundo implementando e funcionando
  • Cronometro minutos implementando e funcionando
  • É possível usar o cronometro mais de uma vez (configurar um novo cronometro ao término de um anterior)
  • Usa TC para piscar LED quando alarme acaba contagem
  • Usa RTC para armazenar hora
  • Usa IRQ no TC, RTC e Botões
  • Usa flags sempre (TC, RTC, botões)

Exemplos de pequenos bugs

  • Iniciar cronometro com contador 00:00 faz valor ficar negativo
  • Contador segundo não fica no range entre 0 - 59
  • LED3 não para de piscar quando botão 3 é apertado
  • ....

🚩 Ao finalizar a entrega preencher o formulário (uma única vez!): https://forms.gle/uTa7SYNAPd2qbC8X7

C+

  • Sem bugs

B

Vídeo de como tem que ficar:

  • Indica no LCD que cronometro está ativado
  • Aumento 'inteligente' do valor de minuto e segundo do cronometro
    • Incrementa valor com o usuário segurando o botão.

A

  • Aumento inteligente é progressivo (acelerando conforme usuário segura botão pressionado)
  • Animação no LCD indicando a contagem

🚩 Ao finalizar a entrega preencher o formulário (uma única vez!): https://forms.gle/uTa7SYNAPd2qbC8X7

D

Um item:

  • Não faz uso de IRQ (TC, RTC, PIO)
  • LCD não mostra hora ou cronometro
  • Botões não ajustam minuto ou segundo do contador
  • Contagem não funciona
  • LED não pisca ao final da contagem

2020a-av1-embarcados's People

Contributors

rafaelcorsi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.