Transcript
Page 1: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

Como programar

Prof Me Rogerio Ottoboni

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

http://sttechboni.weebly.com/

Page 2: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

Estrutura de Controle

Linguagem C

Page 3: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Estrutura básica

– Região “SETUP”

• Executada uma vez

– Região “LOOP”

• Executada infinitamente

Page 4: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

Page 5: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

Page 6: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Representação numérica

• Decimal

• Binário

• Hexadecimal

• Caractere

Page 7: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Tipos de dados

• Define o tamanho (em número de bits) e suas características

Page 8: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Modificadores de tipos de dados

Page 9: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Modificadores de tipos de dados

• Para dados inteiros

Page 10: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais– Constantes

• Criam símbolos de valores constantes

– Definições

• Atribuem nomes a símbolos já existentes

• Iniciam com ‘#’ e não recebem ‘;’ no final

• São eliminados pelo compilador, não consumindo memória

Page 11: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais– Variáveis

• Sempre é declarada da seguinte forma(<modificador>) <tipo de dado> <nome da variável> (=

<valor>);

• Exemplo:

• Podem ser locais ou globais

Page 12: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Variáveis

• Locais– São declaradas dentro de

um bloco de instruções (ou função), só podendo ser acessadas/visualizadas dentro deste bloco

Page 13: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais– Variáveis

• Globais– São declaradas fora dos

bloco de instruções (ou funções), podendo ser acessadas/visualizadas por todos eles.

Atenção! Embora pareça ser prática declarar todas as variáveis como globais, é

necessário ter muito cuidado com sua utilização. Uma vez que elas podem ser

acessadas por todas as funções, será difícil manter o controle sobre seus valores à

medida que o código vai sendo executado.

Page 14: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais– Funções

• Usadas para trechos de códigos que são repetidos várias vezes

• Podem ser chamadas de diferentes pontos do programa, evitando reescrevê-las

• Devem ser declaradas antes de serem chamadas, por isso é importante escrevê-las antes da função principal

• Declaração<tipo de retorno> <nome da

função>(<argumentos>)

Page 15: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Funções

• Declaração

<retorno> <nome da função>(<argumentos>)

Tipo de retorno

Nome da função

Argumentos

Chamada da função

Page 16: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Operadores

• Aritméticos

Page 17: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Operadores

• Relacionais– Retornam valores booleanos (i.e., verdadeiro ou falso)

Page 18: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Operadores

• Booleanos– Usados entre elementos em um teste condicional

Page 19: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Operadores

• Lógicos– Usados para realizar testes bit a bit

Page 20: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Operadores

• Associação de operadores

Page 21: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– if() - else()

Page 22: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– if() - else()

• Operador ternário (?)

<variável> = <condição> ? <valor1> : <valor2>

Valor se verdadeiroValor se falso

Page 23: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– if() - else if() - else()

Page 24: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– switch() – case

Page 25: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– for()

Page 26: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– while()

Page 27: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– do while()

Page 28: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Funções integradas ao ambiente de desenvolvimento

– Funções Temporais

• delay(ms)

• delayMicroseconds(µs)

• millis()

Page 29: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Funções integradas ao ambiente de desenvolvimento

– Funções matemáticas

• random(min,max)

• abs(x)

• Map(valor,min1,max1,min2,max2)

Page 30: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Funções integradas ao ambiente de desenvolvimento

– Pinos digitais

• pinMode(pino,modo)

• digitalRead(pino)

• digitalWrite(pino,valor)

Page 31: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Funções integradas ao ambiente de desenvolvimento

– Pinos analógicos

• analogReference(opção)

• analogRead(pino)

• analogWirte(pino,valor)

Page 32: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Boas Práticas na programação

Page 33: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Boas Práticas na programação

Page 34: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

ArduinoAmbiente de programação e plataforma de prototipagem

Page 35: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

Arduino - Integrated Development enviroment - IDE

• Ambiente de desenvolvimento

– Funções principais

• void setup()– Executada uma única vez

• void loop()– Executada infinitamente

Page 36: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Ambiente de desenvolvimento

– Arquivo

• Novo

• Abrir / Abrir Recente

• Exemplos

• Fechar

• Salvar / Salvar como

• ...

Arduino

Page 37: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Ambiente de desenvolvimento– Editar

• Desfazer• Refazer• Cortar• Copiar• Colar• Selecionar tudo• Comentar/Descomentar• Aumentar/Diminuir indentação• Localizar• ...

Arduino

Page 38: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Ambiente de desenvolvimento

– Sketch

• Verificar/Compilar

• Carregar

• Incluir Biblioteca

• Adicionar Arquivo

• ...

Arduino

Page 39: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Ambiente de desenvolvimento

– Ferramentas

• Autoformatação

• Monitor serial

• Placa

• Porta

• Gravar Bootloader

• ...

Arduino

Page 40: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Ambiente de desenvolvimento

– Ajuda

• Visite Arduino.cc

• Sobre Arduino

• ...

Arduino

Page 41: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Plataforma de prototipagem

– Versões

• Arduino Uno– Microcontrolador: ATmega328 (28 pinos)

– 14 portas digitais (6 saídas PWM) / 6 portas analógicas

– 2 timers de 8 bits e 1 timer de 16 bits

– Protocolos: UART, SPI, I²C

Arduino

Page 42: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Plataforma de prototipagem

– Versões

• Arduino Mega– Microcontrolador: ATmega2560

– 54 portas digitais (15 saídas PWM) / 15 portas analógicas

– 2 timers de 8 bits e 2 timers de 16 bits

– Protocolos: UART, SPI, I²C

Arduino

Page 43: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Plataforma de prototipagem

– Versões

• Arduino Leonardo– Microcontrolador: ATmega32U4

– 20 portas digitais (7 saídas PWM) / 12 portas analógicas

– 2 timers de 8 bits e 2 timers de 16 bits

– Protocolos: UART, SPI, I²C

Arduino

Page 44: ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro ou falso) ENGENHARIA ELÉTRICA Sistemas Microcontrolados Estrutura de controle

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Plataforma de prototipagem

– Versões

• Arduino Nano– Microcontrolador: ATmega328 (32 pinos)

– 14 portas digitais (6 saídas PWM) / 8 portas analógicas

– 2 timers de 8 bits e 1 timer de 16 bits

– Protocolos: UART, SPI, I²C

Arduino


Recommended