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