ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro...

Preview:

Citation preview

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

Como programar

Prof Me Rogerio Ottoboni

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

http://sttechboni.weebly.com/

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

Estrutura de Controle

Linguagem C

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Estrutura básica

– Região “SETUP”

• Executada uma vez

– Região “LOOP”

• Executada infinitamente

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

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

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

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Modificadores de tipos de dados

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Modificadores de tipos de dados

• Para dados inteiros

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

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

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

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.

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>)

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

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Operadores

• Aritméticos

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Operadores

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

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Operadores

• Booleanos– Usados entre elementos em um teste condicional

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Operadores

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

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Definições Gerais

– Operadores

• Associação de operadores

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– if() - else()

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

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

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

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– switch() – case

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– for()

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– while()

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Controle de Fluxo

– do while()

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Funções integradas ao ambiente de desenvolvimento

– Funções Temporais

• delay(ms)

• delayMicroseconds(µs)

• millis()

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)

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)

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)

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Boas Práticas na programação

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Boas Práticas na programação

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

ArduinoAmbiente de programação e plataforma de prototipagem

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

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Ambiente de desenvolvimento

– Arquivo

• Novo

• Abrir / Abrir Recente

• Exemplos

• Fechar

• Salvar / Salvar como

• ...

Arduino

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

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Ambiente de desenvolvimento

– Sketch

• Verificar/Compilar

• Carregar

• Incluir Biblioteca

• Adicionar Arquivo

• ...

Arduino

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Ambiente de desenvolvimento

– Ferramentas

• Autoformatação

• Monitor serial

• Placa

• Porta

• Gravar Bootloader

• ...

Arduino

ENGENHARIA ELÉTRICA

Sistemas Microcontrolados

Estrutura de controle

• Ambiente de desenvolvimento

– Ajuda

• Visite Arduino.cc

• Sobre Arduino

• ...

Arduino

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

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

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

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