3 aula do curso de automação - Arduino

29
Curso de Automação Arduino Aula 03 Faculdade Católica Rainha do Sertão 1

Transcript of 3 aula do curso de automação - Arduino

Page 1: 3 aula do curso de automação - Arduino

Curso de AutomaçãoArduino

Aula 03

Faculdade Católica Rainha do Sertão 1

Page 2: 3 aula do curso de automação - Arduino

Conteúdo

Faculdade Católica Rainha do Sertão 2

• Introdução ao arduino

-Software/Hardware

• Tipos de dados

• Operações basicas

• Funções Logicas

• Sintaxe básica

• Funções e principais biblioteca

Page 3: 3 aula do curso de automação - Arduino

Introdução ao Arduino

Faculdade Católica Rainha do Sertão 3

O que é um Arduino?

É uma plataforma eletrônica de hardware esoftware livre, onde tem controle I/Obaseada no microcontrolador Atmega(Atmel), que serve de controle para diversosoutros sistemas. É tem uma linguagem deprogramação padrão em C/C++.

Page 4: 3 aula do curso de automação - Arduino

Introdução ao Arduino

Faculdade Católica Rainha do Sertão 4

Comparativo de velocidade com AVR, 8051 e pic16f.

Fonte: http://www.arnerobotics.com.br/eletronica/Microcontr

oladores_AVR_basico.htm

Page 5: 3 aula do curso de automação - Arduino

Introdução ao Arduino - Hardware

Faculdade Católica Rainha do Sertão 5

Page 6: 3 aula do curso de automação - Arduino

Introdução ao Arduino - Hardware

Faculdade Católica Rainha do Sertão 6

• Fonte de Alimentação

Responsável por receber a energia de alimentaçãoexterna, que pode ter uma tensão de no mínimo 6Volts a 12 Volts. A fonte filtra e depois regula atensão de entrada para duas saídas: 5 Volts e 3,3Volts.

O requisito deste bloco é entregar as tensões de 5 e3,3 Volts para que a CPU e os demais circuitosfuncionem.

Page 7: 3 aula do curso de automação - Arduino

Introdução ao Arduino - Hardware

Faculdade Católica Rainha do Sertão 7

• Núcleo CPU ATMegaLinha de chips da Atmel - ATMega8, ATMega162 eATMega328p. Esses modelos diferem na quantidade dememória de programa (ROM) e na configuração dosmódulos de entrada e saída disponíveis.

Então é onde está localizado o chip que possui todohardware para obter dados externos, processar esses dadose devolver para o mundo externo.

Page 8: 3 aula do curso de automação - Arduino

Introdução ao Arduino - Hardware

Faculdade Católica Rainha do Sertão 8

• Entradas e SaídasEx: ATMega8.

Os 28 pinos deste micro controlador são divididos da seguinte maneira:

• 14 pinos digitais de entrada ou saída (programáveis) • 6 pinos de entrada analógica ou entrada/saída digital (programáveis) • 5 pinos de alimentação (gnd, 5V, ref analógica) • 1 pino de reset.• 2 pinos para conectar o cristal oscilador.

Page 9: 3 aula do curso de automação - Arduino

Introdução ao Arduino – Entrada/Saída

Faculdade Católica Rainha do Sertão 9

• Entrada digital Possui 14 pinos digital e mais 6 antológicos, que éresponsável por nos informar apenas se existe ou não umatensão aplicada em seu pino de 0(zero) ou 5 volts. Essafunção é utilizada geralmente para identificar se um botãoestá pressionado, ou um sensor está "sentindo" algumacoisa no mundo externo.

Assim note que a função de entrada digital apenas entrega 0ou 1.

Page 10: 3 aula do curso de automação - Arduino

Introdução ao Arduino – Entrada/Saída

Faculdade Católica Rainha do Sertão 10

• Saída digitalCom uma saída digital podemos fazer com que um pinolibere 0 volts ou 5 volts. Com um pino programado comosaída digital, podemos acender um led, ligar um relé, acionarum motor, dentre diversas outras coisas.

Page 11: 3 aula do curso de automação - Arduino

Introdução ao Arduino – Entrada/Saída

Faculdade Católica Rainha do Sertão 11

• Entradas AnalógicasTemos disponíveis no Arduino 6 entradas analógicas. Diferente daentrada digital a entrada analógica é capaz de medir a tensão aplicadaem seus pinos.

Através da entrada analógica, conseguimos utilizar sensores queconvertem alguma grandeza física em um valor de tensão que depois élido pela entrada analógica.

Page 12: 3 aula do curso de automação - Arduino

Introdução ao Arduino – Entrada/Saída

Faculdade Católica Rainha do Sertão 12

• Pinos com funções especiaisPWM: Tratado como saída analógica, na verdade é uma saída digital quegera um sinal alternado (0 e 1) onde o tempo que o pino fica em nível 1(ligado) é controlado. É usado para controlar velocidade de motores, ougerar tensões com valores controlados pelo programa. Pinos 3, 5, 6, 9,10 e 11

Porta Serial USART: Podemos usar um pino para transmitir e um pinopara receber dados no formato serial assíncrono (USART). Podemosconectar um módulo de transmissão de dados via bluetooth porexemplo e nos comunicarmos com o Arduino remotamente. Pinos 0 (rxrecebe dados) e pino 1 (tx envia dados).

Porta SPI: É um padrão de comunicação serial Síncrono, bem maisrápido que a USART. É nessa porta que conectamos cartões de memória(SD) e muitas outras coisas. Pinos 10 (SS), 11 (MOSI), 12 (MISO) e 13(SCK).

Page 13: 3 aula do curso de automação - Arduino

Introdução ao Arduino - Software

Faculdade Católica Rainha do Sertão 13

• As funções da IDE do Arduino são basicamenteduas: Permitir o desenvolvimento de umsoftware e enviá-lo à placa para que possa serexecutado.

Page 14: 3 aula do curso de automação - Arduino

Introdução ao Arduino - Software

Faculdade Católica Rainha do Sertão 14

- IDE do Arduino

Page 15: 3 aula do curso de automação - Arduino

Programação

Faculdade Católica Rainha do Sertão 15

Page 16: 3 aula do curso de automação - Arduino

Comentários sobre o programa

Faculdade Católica Rainha do Sertão 16

A função setup serve para inicialização da placa edo programa. Esta sessão é executada uma vezquando a placa é ligada ou resetada através dobotão. Aqui, informamos para o hardware da placao que vamos utilizar dele.

Por exemplo, vamos informar para a placa que opino 13 será uma saída digital onde está conectadoum LED (no Arduino UNO o pino 13 possui um ledintegrado).

Page 17: 3 aula do curso de automação - Arduino

Comentários sobre o programa

Faculdade Católica Rainha do Sertão 17

A função loop é como se fosse a main () da placa. Oprograma escrito dentro da função loop éexecutado indefinidamente, ou seja, ao terminar aexecução da última linha desta função, o programainicia novamente a partir da primeira linha dafunção loop e continua a executar até que a placaseja desligada ou o botão de reset seja pressionado.

Page 18: 3 aula do curso de automação - Arduino

Comentários sobre o programa

Faculdade Católica Rainha do Sertão 18

Analisando o resto do programa, o comandodigitalWrite escreve na saída do pino 13 onível de tensão HIGH (5v), acendendo o Led.

O comando delay é apenas para o programaaguardar 1000 milésimos. Em seguida, onível de tensão é alterado para LOW (0v) e oLed apaga. E assim é repetido infinitamente,até ser desligado.

Page 19: 3 aula do curso de automação - Arduino

Utilizando o Proteus - ISIS

Faculdade Católica Rainha do Sertão 19

Obs:Primeiro devemos saber qual a tensão necessária para acender oLed. Para isso utilizamos a tabela abaixo, sendo que cada cor tem a suatensão específica

Sabemos que a porta digital escreve HIGH (5v) ou LOW (0v). Logo, secolocarmos 5v o Led irá queimar. Portanto devemos colocar um resistorem série com o Led para limitarmos a corrente que passa por ele. Essacorrente deve ser de algo em torno de 20mA. Assim, utilizando umpouquinho de teoria de circuitos temos:

R = resistorVfonte = tensão de entradaVled = tensão do ledIled = Corrente do led

Page 20: 3 aula do curso de automação - Arduino

Faculdade Católica Rainha do Sertão 20

Exemplo:

R= ?

Vfonte = 5v

Vled = 2

Iled = 0,015

Qual a resistência utilizada no led?

Page 21: 3 aula do curso de automação - Arduino

Como acender um LED no Proteus- ISIS

Faculdade Católica Rainha do Sertão 21

Page 22: 3 aula do curso de automação - Arduino

Outros comando

Faculdade Católica Rainha do Sertão 22

As principais funções para controlar o arduíno:

pinMode (pin, mode): Configura o pino especificado para que secomporte como entrada ou saída, sendo Pin = número do pino e mode =INPUT (entrada)ou OUTPUT(saída).

digitalWrite (pin,value): escreve um valor HIGH ou LOW em um pinodigital. Se o pino foi configurado como saída sua voltagem serádeterminada ao valor correspondente: 5V para HIGH e 0V para LOW.

analogWrite (pin, value): Escreve um valor analógico (onda PWM,explicaremos mais abaixo). Pode ser utilizada para acender um LEDvariando o brilho ou girar um motor a velocidade variável. Após realizaressa função o pino vai gerar uma onda quadrada estável com ciclo derendimento especificado até que o próximo analogWrite() seja realizado(ou que seja realizado um digitalRead() ou digitalWrite() no mesmopino).

Page 23: 3 aula do curso de automação - Arduino

Outros comando

Faculdade Católica Rainha do Sertão 23

Int analogRead (pin): Lê o valor de um pino analógico especificado. Pode mapear voltagens entre 0 a 5v.

int digitalRead (pin): Lê o valor de um pino digital especificado, HIGH ou LOW. Pin = numero do pino. Retorna HIGH ou LOW.

Page 24: 3 aula do curso de automação - Arduino

Tipos de Dados

Faculdade Católica Rainha do Sertão 24

É a modelagem como ele é inserido no seu software, como ele se comporta, e quantidade utilizada de espaço e dentre outros.

Boolean Um byte de memória. (Verdadeiro ou falso)

Char Um byte de memoria. ‘A’ para um caracteres, “ABC” para vários.

Unsigned char Não utiliza sinal negativo. E codifica numero de 0 a 255.

Unsigned int Não utiliza sinal negativo.

Int Utiliza sinal negativo e positivo

Page 25: 3 aula do curso de automação - Arduino

Operações básica e funções logica

Faculdade Católica Rainha do Sertão 25

Operações aritméticasOperações logica

= Atribuição - Subtração

+ Soma * Multiplicação

/ Divisão % Modulo

Operações de comparação Sintaxe

==(igual) > ;

!= <= //

< >= /**/

Page 26: 3 aula do curso de automação - Arduino

Operações básica e funções logica

Faculdade Católica Rainha do Sertão 26

#Define = Ele Define um nome a um valor constante antes q o programas seja compilado. Não ocupam qualquer espaço de memoria do programa do chip e não uitliza “;”.Por exemplo: com uma constante poderemos definir que verdadeiro não será true, mas a palavra "sim". Outro exemplo: Também podemos definir que o máximo de posições que um vetor vai ter será 1000, então criamos uma constante chamada "max". Pronto, agora não precisaremos mais nos lembrar que um vetor terá 1000 posições, basta criar o vetor e no tamanho dele indicamos max.

#include = E usado para incluir biblioteca externas em seu sketch .

Page 27: 3 aula do curso de automação - Arduino

Biblioteca

Faculdade Católica Rainha do Sertão 27

EEPROM – leitura e escrita para o armazenamento “permanente”.

Liquidcrystal – Para controlar LCD’s

SERVO – Para controle de servo mortores

SoftwareSerial – Comunicação serial em qualquer pino digital.

Stepper – para controle de stepper motors

Page 28: 3 aula do curso de automação - Arduino

Exercício!

Faculdade Católica Rainha do Sertão 28

Page 29: 3 aula do curso de automação - Arduino

Tudo que um AVR faz um PIC também pode

fazer, a diferença esta no método de como

fazer, e do programador.

Faculdade Católica Rainha do Sertão 29