Mudanças entre as edições de "STE29008-2019-2"
Ir para navegação
Ir para pesquisar
Linha 152: | Linha 152: | ||
===Desenvolvimento:=== | ===Desenvolvimento:=== | ||
* É obrigatório a instalação das ferramentas (Toolchain e o AVR-Libc). | * É obrigatório a instalação das ferramentas (Toolchain e o AVR-Libc). | ||
− | * O aluno pode escolher usar o | + | * O aluno pode escolher usar o MPLAB X ou montar seu próprio Makefile. |
− | * | + | * MPLAB X: |
− | **[ | + | ** [https://www.microchip.com/mplab/mplab-x-ide MPLAB® X IDE v5.20] |
− | + | ** [https://www.microchip.com/mplab/avr-support/avr-and-arm-toolchains-c-compilers AVR 8-bit Toolchain] | |
− | + | ** [https://www.nongnu.org/avrdude/ avrdude] | |
− | |||
− | **[ | ||
− | |||
− | ** [https://www. | ||
− | |||
− | |||
*Makefile: | *Makefile: | ||
+ | ** Tools: sudo apt-get install gcc-avr binutils-avr avr-libc gdb-avr avrdude | ||
**[http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/ Guia] | **[http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/ Guia] | ||
**[http://docente.ifsc.edu.br/roberto.matos/ste_public/src/Makefile Exemplo Simples] | **[http://docente.ifsc.edu.br/roberto.matos/ste_public/src/Makefile Exemplo Simples] |
Edição das 17h22min de 20 de agosto de 2019
Sistemas Embarcados: Diário de Aula 2019-2
- Professor: Roberto de Matos
- Encontros: 2ª e 4ª às 07:30h
- Atendimento Paralelo: 4ª às 10h e 14h (1h cada)
- Plano de Ensino.
- Cronograma de Aulas: Conteúdo Programado no Portal SIGAA
29/07/2019 – Apresentação
- Apresentação do professor.
- Apresentação da disciplina.
- 2017 Embedded Markets Study
31/07/2019 – Introdução
- Notas de Aula:
05/08/2019 – GPIO
- Notas de Aula:
- Experimento:
- Definição das Duplas:
- Daniel e Anderson
- Ameliza e Natalia
- Guilherme e Marcone
- Allex e Douglas
- Fabiano e Filipe Kuhnen
- Felipe Cardoso e Luiza
- Gustavo e Gabriel
07/08/2019 – Experimento UART
12/08/2019 – Projeto 1: Sensor de Temperatura - Arduino
- Notas de Aula:
Atividade
O objetivo deste experimento é apresentar um exemplo básico de programação de sistema embarcado com microcontrolador. Para isto, será desenvolvido um sensor de temperatura com comunicação serial utilizando a plataforma Arduino.
- Material necessário:
- Arduino Uno;
- Termistor NTC 10KOhm;
- Resistor 10KOhm;
- Matriz de contato;
- Computador com IDE do Arduino instalada.
- Para completar o desafio, utilize o site arduino.cc como referência, e construa um sketch (programa na IDE do Arduino) que, a cada 1 segundo, pisque um LED (veja o LED já na placa do Arduino no pino 13), e leia um valor do sensor de temperatura e escreva, em graus celcius, na tela. Um pseudo-código da sua aplicação seria:
loop() {
ligaLED();
AdquireTemperatura(); // lê do ADC e converte para Celcius
desligaLED();
ImprimeResultado(); // pela serial
dorme1segundo();
}
- Para completar esta atividade, você precisará:
- Montar um circuito com divisor de tensão utilizando o NTC e o resistor para aquisição do sinal através de uma porta analógica do Arduino
- Especificar um modelo (equação) para obter o valor da resistência do NTC a partir do valor de tensão lido no canal analógico do Arduino;
- Utilizar o modelo de Steinhart-Hart para obter a temperatura a partir da resistência;
- Calibrar o seu sistema para temperaturas entre 0 e 50 graus celcius (utilize esta calculadora e a tabela de resistência-temperatura do seu NTC abaixo);
- No programa arduino, implemente duas versões do software: uma utilizando apenas "float" e outra utilizando apenas "int 32-bits" (compare as versões).
- Entregue um relatório curto (1 página), comparando os resultados obtidos em termos de:
- Uso de memória de programa (flash - código-fonte);
- Uso de memória de dados (RAM);
- Tempo necessário para o cálculo (conecte o pino do LED a um osciloscópio - o tempo que o LED fica acesso é o tempo que leva para fazer o cálculo).
- Observações:
- O trabalho deve ser executado em dupla.
- Entrega até 18/08 via Sigaa
14/08/2019 – Projeto 1: Sensor de Temperatura - Arduino (cont.)
- Verificar "β parameter equation":
19/08/2019 – Correção Projeto 1
- Implementado em conjunto a versão long e float.
21/08/2019 – Usando C++
Mudança de nível de abstração
- Arduino Mega --> ATmega2560 (Ex.: I/O Ports)
- Esquemático Arduino Mega
- Esquemático Arduino Mega - CLONE
Fonte: https://www.arduino.cc/en/Hacking/PinMapping2560
ATmega2560: I/O Ports
- Tabela verdade de configuração das portas:
- Endereços registradores de I/O:
GCC, avr-libc
Fluxo Ferramentas:
AVR-LIBC:
Desenvolvimento:
- É obrigatório a instalação das ferramentas (Toolchain e o AVR-Libc).
- O aluno pode escolher usar o MPLAB X ou montar seu próprio Makefile.
- MPLAB X:
- Makefile:
- Tools: sudo apt-get install gcc-avr binutils-avr avr-libc gdb-avr avrdude
- Guia
- Exemplo Simples
- Exemplo Complexo
Prática
- Implemente um programa usando GCC e avr-libc para ligar um led quando um botão for pressionado (exemplo)
- Operação de Bits em C/C++
- Operações Booleanas em C/C++
- Programming 101 - By Eric Weddington