0% acharam este documento útil (0 voto)
73 visualizações128 páginas

Apresentação Microcontroladores

O documento aborda a plataforma Arduino, incluindo sua estrutura, programação e exemplos práticos, como a criação de circuitos e controle de dispositivos. Ele também discute variáveis, comandos, entradas e saídas digitais, além de exercícios práticos para fixação do conteúdo. Por fim, apresenta propostas de projetos finais que os alunos devem desenvolver utilizando o Arduino.

Enviado por

emotoddy99a4
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
73 visualizações128 páginas

Apresentação Microcontroladores

O documento aborda a plataforma Arduino, incluindo sua estrutura, programação e exemplos práticos, como a criação de circuitos e controle de dispositivos. Ele também discute variáveis, comandos, entradas e saídas digitais, além de exercícios práticos para fixação do conteúdo. Por fim, apresenta propostas de projetos finais que os alunos devem desenvolver utilizando o Arduino.

Enviado por

emotoddy99a4
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Microcontroladores

Professores: Momesso / Fábio


Arduino

Arduino é uma plataforma de prototipagem eletrônica de


hardware livre e de placa única, projetada com um
microcontrolador Atmel AVR com suporte de entrada/saída
embutido, uma linguagem de programação padrão C/C++ .
Modelos de Arduino

UNO MEGA NANO


Pinagem Arduino UNO X ATmega 328
Estrutura Interna do Atmega 328
Pinagem Arduino UNO
Como baixar IDE Arduino
[Link]
IDE Arduino sketch
IDE Arduino sketch
Primeiro Programa

1- Abrir o programa arduino.


2- Clicar no menu arquivo e selecionar “novo”.
3- Clicar em “salvar como”, obs: organizar os programas
em pastas.
4- Para cada linha de programação, pode-se usar o
comando // para comentários.
Primeiro Programa

5- Nosso primeiro programa será um pisca LED, vamos


definir o pino 13 como pino de saída. Na plataforma
arduino o pino 13 já possui um LED SMDd instalado, não
havendo necessidade de conectar um resistor e LED na
saída.
Primeiro Programa

6- O LED vai acender num intervalo de 500ms e apagar


também no mesmo intervalo.
Código - Primeiro Programa
Compilando - Primeiro Programa
Botão compilar

OBS:Os erros mais comum são códigos digitados errados


ou falta da chave na abertura ou fechamento de funções
Compilação terminada sem erros
Exemplo de erro no compilar programa

Falta da chave fechada no final da função loop

Erro
Carregar Programa para arduino
Conectar o Arduino na porta USB

Menu
Ferramentas

Escolher modelo
Arduino Uno
Carregar Programa para arduino

Menu Ferramentas: Porta USB


Porta encontrada
COM pelo arduino
Carregar Programa para arduino
Botão carregar

Mensagem
Carregado
Plataforma Tinkercad Arduino
• Link de acesso - [Link]
• Utilizar uma conta de email e criar uma senha de acesso. Após acessar, você encontrará
a seguinte tela;
Plataforma Tinkercad Arduino
• Criando um circuito na Plataforma Tinkercad

Clicar em circuitos
Plataforma Tinkercad Arduino
• Criando um circuito na Plataforma Tinkercad;

Criar novo circuito


Plataforma Tinkercad Arduino
• Localizando os componentes na Plataforma Tinkercad;

Encontrar os componentes básicos e


avançados.

Selecionar o componente , dar um


clique na área de simulação
Plataforma Tinkercad Arduino
• Escolher o Arduino UNO;

Arduino UNO
Plataforma Tinkercad Arduino
• Programação em Texto;

OpçãoTexto
Plataforma Tinkercad Arduino
• Programação em Texto;

Opção Texto
Plataforma Tinkercad Arduino
• Digita o código do programa ou copia da IDE do arduino e cola as linhas de comando;

Programação
Plataforma Tinkercad Arduino
• Simulação;

LED pino 13

Simulação
Tipos de variáveis
Variável inteira ( int )

Int (integer ou inteiros) - são o tipo de dados primário para


armazenamento de números.

No Arduino Uno (e outras placas baseadas em micros ATmega) um


int armazena um valor 16-bit (2 bytes). Isso garante um intervalo
de -32,768 a 32,767 (um valor mínimo de -2^15 e um valor
máximo de (2^15) - 1).
Comando ( if )
Descrição
O comando if verifica uma condição e executa o comando a seguir ou um bloco de
comandos delimitados por chaves, se a condição é verdadeira ('true').

Sintaxe
if (condição)
{
//comando(s)
}

Parâmetros
condição: uma expressão booleana, isto é, que pode resultar apenas em true ou false
(verdadeiro ou falso).
Exemplo
Fazer um programa na IDE do arduino com duas saída;
1 - LED
2 - Motor

O LED deverá piscar num intervalo de 500 ms durante 5 vezes, em seguida, o motor deverá
ligar por 5 segundos e depois desligar.
Programa no arduino iDE
Programa no arduino iDE

Observe que as chaves da função loop finaliza o programa , e as chaves do comando if


abre e fecha a rotina de execução que atende ao contador igual a 5.
Entradas Digitais
Como exemplo, vamos utilizar um push button como entrada digital e um LED como saída
digital. Toda vez que o push button for pressionado, o LED deverá acender e quando não for
pressionado, o LED apaga. Existem duas maneiras de ligar os componentes no arduino;

1 – Utilizando resistor Pull Up interno


do arduino

2 – Utilizando resistor Pull Up externo de


valor 10K
Configuração entrada digital na IDE arduino
1 – Utilizando resistor Pull Up interno do arduino
Código completo IDE arduino
1 – Utilizando resistor Pull Up interno do arduino
Configuração entrada digital na IDE arduino
2 – Utilizando resistor Pull Up externo de valor 10K
Código completo IDE arduino
2 – Utilizando resistor Pull Up externo 10K
Operadores Porta And e Porta OR
Montagem do circuito no Tinkercad
Código completo IDE arduino Operando AND (&&)
Código completo IDE arduino Operando OR (||)
Exercícios
1) Baseado nas expressões lógicas, montar a tabela verdade dos circuitos, a programação
na IDE do arduino e simular no Tinkercad.

a) Y = (CH1 . CH2) + CH3

b) Y = (CH1 + CH2) . CH3

c) Y = (CH1 . CH2 ) + (CH3 . CH4)

d) Y = ((CH1+CH2).CH3) + CH4
Ponte H para motores DC
Circuito integrado LN293
Ponte H para motores DC
Circuito integrado Arduino e LN293 no Tinkercad
Exercício

Criar um programa na IDE do arduino para controle do Motor DC utilizando o LN293.

Funcionamento do circuito;

• O motor gira somente quando um dos push button forem pressionados.

• Cada push button é responsável pelo sentido de giro horário ou anti-horário.


LCD - “Liquid Cristal Display”
LCD 16X2 – Linha e Coluna

Linha (0)

Linha (1)

Coluna (0) Coluna (15)


Tabela de Caracter do LCD

Identificando um caracter na tabela LCD.

Caractere "A" :

Linha horizontal = 0100


Linha vertical = xxx0001

Portanto o caractere "A" deverá ser


identificado por: 01000001
LCD 16X2
Arduino LCD 16X2
LCD – Pisca LED
LCD – Pisca LED
Exemplo LCD - Contador
Programa: Mostra no LCD o valor de uma variável inteira contador
Exemplo LCD - Contador
LCD I2C
LCD I2C
A comunicação I2C é um protocolo amplamente utilizado em muitos dispositivos
eletrônicos devido à sua simplicidade, flexibilidade e facilidade de uso

1- Dado transferido é iniciado com um bit INICIAR (S) sinalizado com SDA sendo arrastado para baixo
enquanto SCL continua alto.

2- SDA coloca o primeiro dado em nível de bit enquanto mantendo SCL baixo (durante o tempo de barra
azul.)

3- O dado é recebido quando SCL aumenta (verde) para o primeiro bit (B1).

4- Este processo repete, SDA em transição enquanto SCL está baixo, e os dados sendo lidos quando SCL
estiver alto (B2, Bn).

5-Um bit PARAR (P) é sinalizado quando SDA for puxado para cima enquanto o SCL está alto.
Módulo I2C
LCD I2C - Tinkercad

Endereço ( 0X20 )
Exemplo LCD I2C - Texto
Exemplo LCD I2C - Contador
Exemplo LCD I2C - Contador
Exercício
Montar o circuito e desenvolver a lógica de programação na IDE do arduino ou Tinkercad. O motor é
ligado e desligado por um único push button, ou seja, um pulso para ligar e outro pulso para desligar,
o status do motor deverá aparecer no LCD conforme imagens e o LED acender quando motor ligado
e apagar quando motor desligado.
Dispositivos de saída de controle
Servo Motores
O servo motor trabalha com servo-mecanismo que usa o feedback de posição
para controlar a velocidade e a posição final do motor. ... Ele usa um codificador
ou sensor de velocidade (encoder) que tem a função de fornecer o feedback de
velocidade e posição.
Servo Motor – Primeiro Programa
Programa : O servo motor vai movimentar a cada 5 segundo iniciando em
0°, 45°, 90°, 135°, 180°, 135°, 90°, 45° e 0°.

Esquema de ligação PlataformaTinkercad:


Servo Motor – Incluir biblioteca Servo.h
Servo Motor
Servo Motor
Servo Motor
Comando FOR

Estrutura:

For( inicialização; comparação; incremento)


{

Programação;

}
Exemplo
Programa : O servo motor vai movimentar de 0° até 180°, com intervalos
de 100(ms) um grau por vez.

Esquema de ligação PlataformaTinkercad:


Exemplo - programação
Exercício – Servo Motor
Programa : O servo motor vai movimentar de 0° até 180°. Os dois push button
têm a finalidade de incrementar e decrementar os valores do ângulo em 5° .
O LED verde acende quando o ângulo é menor ou igual a 90° e o LED vermelho
quando o ângulo é maior que 90° .
Conversor AD Arduino
Diferença entre sinal digital e analógico.
Conversor AD – Entrada Analógica
Um conversor A/D quantifica o valor analógico conforme a quantidade de bits
da sua resolução. A resolução de um conversor A/D é dada pela seguinte
equação:

Vref: tensão de referência do conversor A/D – arduino (5Vcc);

n: número de bits do conversor.

Exemplo:
• Conversor A/D 10 bits = 210 = 1024 Resolução = 5V / 1024 = 4,88 mV
• Conversor A/D 12 bits = 212 = 4096 Resolução = 5V / 4096 = 1,22 mV
Conversor AD Arduino
O conversor A/D do microcontrolador ATmega328 possui 10 bits de resolução
(210), a sua tensão de entrada pode variar de 0 V até o valor de VCC (5V).

Dessa forma quando está trabalhando com a referência em VCC o menor valor
que pode ser lido será:

Resolução = 5 V/1024 = 0,00488 V = 4,88 mV

.
Leitura de entrada analógica com potenciômetro
Leitura de entrada analógica com potenciômetro
Leitura de entrada analógica com potenciômetro
Exercício – Potenciômetro com Bargraph de LED
Montar o circuito e desenvolver a lógica de programação na IDE do arduino ou Tinkercad.
Fazer a leitura analógica do potenciômetro de ( 0 a 1023 ) e mostrar no display. Os 5 leds vão fazer a
função de um bargraph, o primeiro acende se o valor do potenciômetro for maior que 200, o
segundo se maior que 400, o terceiro se maior que 600, o quarto se for que 800 e o último se for
maior que 1000.
Conversor AD – Função “map”
Leitura do canal analógica A0 no valor de ( 0 a 1023 ) e converter o valor para ( 0 a 100 ), mostrando
no display o valor em (%).
Programação Arduino Conversor AD – Função “map”
Exercício – Servo ,Potenciômetro e Bargraph de LED
Montar o circuito e desenvolver a lógica de programação na IDE do arduino ou Tinkercad.
Controlar a posição de um servo motor através de um potenciômetro de ( 0 a 1023 ), converter para
( 0 a 180 ) utilizando a função ( map ) e mostrar no display o valor em ângulo do Servo. Os 5 leds vão
fazer a função de um bargraph, o primeiro acende se o valor do ângulo for maior que 40, o segundo
se maior que 80, o terceiro se maior que 120 e o quarto se for que 160.
Exercícios Finais

Como proposta final em Sistemas Eletrônicos Digitais do curso Técnico em Eletroeletrônica, estão
disponíveis 3 exercícios com arduino. O aluno deve escolher um dos exercícios para montar o
circuito na plataforma Tinkercad , fazer a programação do arduino e simular.

O aluno que estiver com dificuldades com recursos como internet e acesso a plataforma Tinkercad,
poderá fazer o desenho do circuito e a programação à mão sem perdas de pontos na nota de
avaliação.

No final da atividade, o aluno deverá entregar em um documento Word o print do circuito do


Tinckercad e o programa desenvolvido no arduino.

O exercício deverá ser entregue até a data do dia 10/06/2020 no email


[Link]@[Link]
Exercício 1
Material e equipamentos: 2 Push Button, 5 LEDS, 5 resistor 150 ohm e uma plataforma Arduino.

Funcionamento:

• Se pressionar o Push Button (1), acendem os LEDs na sequência do primeiro até o quinto, num
intervalo de 500 ms. quando todos estiverem acesos, apagam na sequência do primeiro até o
quinto também no intervalo de 500 ms.

• Se pressionar o Push Button (2), os LEDs vão piscar na sequência do primeiro até o quinto, num
intervalo de 500 ms.
Exercício 2
Material e equipamentos: 1 Interruptor deslizante , 4 LEDS, 4 resistor 150 ohm, 1 potenciômetro
10K e uma plataforma Arduino UNO.

Funcionamento:

O arduino faz a leitura analógica do potenciômetro de ( 0 a 1023 ) e mostrar no display o valor em


decimal. Os 4 leds vão fazer a função de um bargraph, com os valores de ( 250, 500, 750 e 1000).

O bargraph vai funcionar em dois sentidos dependendo da posição do interruptor deslizante;

• Se o interruptor estiver desligado, os LEDs acenderam do primeiro para o quarto com os


respectivos valores de potenciômetro ( 250, 500, 750 e 1000).

• Se o interruptor estiver ligado, os LEDs acenderam do quarto para o primeiro com os respectivos
valores de potenciômetro ( 250, 500, 750 e 1000).
Exercício 2 - Circuito
Exercício 3

Material e equipamentos: sensor Temperatura ( para cada 1°C = 10 mV saída , exemplo: 30°C = 300mv)
, servo motor, motor DC, display de LCD e Arduino UNO.

Funcionamento:
O servo motor é acoplado a uma válvula de controle de vazão de água que controla a temperatura de
um processo, o ângulo de abertura da válvula depende da temperatura do processo, em caso de
emergência, o motor do ventilador é ligado. As condições do funcionamento são as seguintes;

• Se a temperatura for menor que 30°C - válvula de água fechada.


• Se a temperatura for maior ou igual a 30°C e menor igual a 50 °C - válvula de água 25% aberta
• Se a temperatura for maior que 50°C e menor igual a 70 °C - válvula de água 50% aberta.
• Se a temperatura for maior que 70°C e menor igual a 90 °C - válvula de água 75% aberta
• Se a temperatura for maior que 100°C - válvula de água 100% aberta , motor do ventilador ligado e
aparece um mensagem no LCD “TRIP”.
Exercício 3 Circuito
Exercício 3 – Simulação
Controle PWM ( Pulse Width Modulation ) = Modulação de Largura de Pulso
PWM
Aplicação :

• Controle de velocidade de Motores DC


• Controle de luminosidade LED

PWM
Motor DC
PWM - Arduino

Saída de PWM ( 8 bits - 28 ) = 0 a 255

Pinos PWM (
~) = 3, 5, 6, 9, 10 e 11 .
PWM – Arduino ( Exemplo 1 )
PWM – Arduino ( Exemplo 2 )
Aplicativo arduinoDroid

Vídeo como gravar o programa no arduino pelo celular


[Link]
Comunicação Serial Protocolo RS232
Comunicação Serial Protocolo RS232
Arduino comunicação RS232
Arduino comunicação RS232
Módulo Bluetooth hc-05
Módulo Bluetooth hc-05
Módulo Bluetooth hc-05
Aplicativo Bluetooth hc-05
Aplicativo Bluetooth hc-05

Escolher Nova Interface


Aplicativo Bluetooth hc-05

Botão

Objeto Caracter
Pressionado e solto
Aplicativo Bluetooth hc-05

Conectar com módulo HC05


Aplicativo Bluetooth hc-05

Bluetooth Classic
Avançar
Aplicativo Bluetooth hc-05
Localizar Bluetooth disponível
Aplicativo Bluetooth hc-05
módulo HC 05 encontrado Parear o módulo HC 05 com o celular
Aplicativo Bluetooth hc-05
Selecionar módulo HC 05

Conectar Finalizar
Aplicativo Bluetooth hc-05

Rodar Tela
Aplicativo Bluetooth hc-05
Aplicativo Bluetooth hc-05
Código Enviando e Recebendo Dados

Botão = envia caracter ‘B’


Botão = envia caracter ‘C’
Aplicativo Bluetooth hc-05
Código Indicador de Luz no aplicativo

String = *LR255G200B0*
Vermelho: *LR255G200B0*
Vermelho: *LG255G200B0*
“L” = caracter de envio
Vermelho: *LB255G200B0*
“R” = caracter da cor
“R255” = Intensidade de iluminação
Aplicativo Bluetooth hc-05
Aplicativo Bluetooth hc-05
Código Aplicativo Servo Motor / Gauge

Botão = envia caracter ‘A’ para Servo 0°


Botão = envia caracter ‘B’ para Servo 45°
Botão = envia caracter ‘C’ para Servo 90°
Botão = envia caracter ‘D’ para Servo 135°
Botão = envia caracter ‘E’ para Servo 180°
Aplicativo Bluetooth hc-05
Código Aplicativo Servo Motor / Gauge

String enviado pelo arduíno para Leitura do Gauge


String = *G0* ( Gauge = 0)
String = *G25* ( Gauge = 25)
String = *G50* ( Gauge = 50)
String = *G75* ( Gauge = 75)
String = *G100* ( Gauge = 100)
Aplicativo Bluetooth hc-05
Aplicativo Bluetooth hc-05
Código Aplicativo Servo Motor / Gauge / Incrementa e Decrementa ângulo

Strings enviado pelo arduíno para Leitura do Gauge

String = *G(angulo)*
No código arduíno a variável inteira que será incrementada ou decrementada, deverá ser
transformada em string e concatenada com “*G” e “*”
Aplicativo Bluetooth hc-05
Aplicativo Bluetooth hc-05
Aplicativo Bluetooth hc-05
Função Millis()
Os dois push button vão funcionar como liga e desliga LEDa
O LEDb deverá piscar com intervalo de 5 segundos através da função millis()
Função Millis()
Função Millis()
Função Interrupção Externa
Se ocorrer a interrupção externa no pino (2) através do Push Button, muda o status da variável
bool ( false ou true ).
Na condição ( true ) o LED ficará piscando num intervalo de 2 segundos.
Na condição ( false ) o LED apaga.
Função Interrupção Externa

Você também pode gostar