Inteligência em segurança elétrica Segurança elétrica em EAS
ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro...
Transcript of ENGENHARIA ELÉTRICA Sistemas Microcontrolados …...–Retornam valores booleanos (i.e., verdadeiro...
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