3 aula do curso de automação - Arduino
-
Upload
jackson-sousa -
Category
Education
-
view
1.261 -
download
4
Transcript of 3 aula do curso de automação - Arduino
Curso de AutomaçãoArduino
Aula 03
Faculdade Católica Rainha do Sertão 1
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
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++.
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
Introdução ao Arduino - Hardware
Faculdade Católica Rainha do Sertão 5
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.
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.
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.
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.
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.
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.
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).
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.
Introdução ao Arduino - Software
Faculdade Católica Rainha do Sertão 14
- IDE do Arduino
Programação
Faculdade Católica Rainha do Sertão 15
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).
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.
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.
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
Faculdade Católica Rainha do Sertão 20
Exemplo:
R= ?
Vfonte = 5v
Vled = 2
Iled = 0,015
Qual a resistência utilizada no led?
Como acender um LED no Proteus- ISIS
Faculdade Católica Rainha do Sertão 21
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).
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.
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
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) > ;
!= <= //
< >= /**/
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 .
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
Exercício!
Faculdade Católica Rainha do Sertão 28
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