Skip to content

[Em produção] Material para um minicurso voltado aos ingressantes de cursos de computação na @ufms.

License

Notifications You must be signed in to change notification settings

guilhermgonzaga/MinicursoArduino

Repository files navigation

MinicursoArduino

Slides Sketches

[Em produção] Material para um minicurso voltado aos ingressantes de Engenharia de Computação na Universidade Federal de Mato Grosso do Sul (UFMS).

O material foi produzido em LaTeX/Beamer com o tema Focus.

Ementa Planejada

As aulas são simplesmente enumeradas a partir de 0, com pastas correspondentes no diretório raiz do projeto. As caixas de seleção mostram o que já está pronto.

Aula 0 -- Introdução

  • Arduino Mega 2560
  • Ambiente de desenvolvimento (Arduino IDE)
  • Introdução à Linguagem (C++)
    • Tipos de dados e operadores
    • Estruturas de controle
    • Funções
  • Utilidades do Arduino:
    • String
    • pinMode e digitalWrite()
    • Constantes
  • Exemplos:
    • Blink
    • Blink sem delay
  • Utilidades do Arduino:
    • Comunicação via Serial
    • serialEvent()
  • Exemplos:
    • Comunicação via Serial

Aula 1 -- Eletrônica Digital

  • Funcionamento de uma protoboard
  • Revisão de eletrônica:
    • Diferença de Potencial
    • Níveis lógicos
    • LED/diodo (ânodo e cátodo)
    • Resistor e código de cores
    • Pull-up e pull-down
  • Utilidades do Arduino: digitalRead()
  • Botão (pushbutton)
  • Exemplo: Semáforo com botão

Aula 2 -- Eletrônica "Analógica"

Aula 3

  • Sensor de distância HC-SR04 (medidas com média móvel ou filtro)
  • Servomotor
  • Módulo LCD 16x2

Aula 4 -- Simuladores e Ferramentas

A definir. O objetivo será mostrar componentes que não há em quantidade suficiente no laboratório.

Geração dos slides

Slides serão anexos a cada release, caso não queira gerá-los manualmente.

O Latexmk cuida de todo o processo de geração, inclusive compila várias vezes para resolver referências. Ademais, se nenhum arquivo fonte for alterado, o slide dependente não é recompilado.

Dependências

Para gerar os slides, são necessárias as seguintes ferramentas no ambiente.

latexmk mais pdflatex ou lualatex : Uma distribuição LaTeX de sua preferência. Este material é produzido com MiKTeX no Windows e TeX Live no Linux. É necessário o TeX Live 2018 ou mais recente, pois anteriores não trazem o tema usado nos slides.

perl : Perl, dependência de Latexmk.

pygmentize : Pygments para fazer a coloração de sintaxe nos exemplos de código.

python : Python, dependência de Pygments.

Comandos

Os comandos devem ser executados por padrão no diretório raiz do projeto.

# Gera todos os slides
latexmk
# Apaga arquivos temporários
latexmk -c

Em todo caso, é possível especificar aulas passando o caminho relativo ao arquivo principal. Exemplo:

# Gera apenas a aula 0
latexmk 0/0.tex
# Limpa o diretório da aula 0
latexmk -c 0/0.tex

Veja mais opções de linha de comando na documentação do Latexmk (em PDF ou texto simples).

Problemas Comuns

  1. A compilação falha com a mensagem:

    Paragraph ended before \FV@BeginScanning was complete. \end{frame}

    Se há um exemplo de código neste frame, então deve ser pela falta do atributo fragile. Como o Minted usa ambientes verbatim, essa declaração é necessária. Corrija assim:

    \begin{frame}[fragile]{Título}
    ...
    \end{frame}

Contribuindo com o material

Dê uma olhada em CONTRIBUTING.md para mais informações.

About

[Em produção] Material para um minicurso voltado aos ingressantes de cursos de computação na @ufms.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published