aula básica arduino

83
Introdução Básica do Básico de Arduino

Upload: edgley-xavier

Post on 18-Jun-2015

423 views

Category:

Software


1 download

DESCRIPTION

Aula básica Arduíno

TRANSCRIPT

Page 1: Aula básica Arduino

Introdução Básica do Básico de Arduino

Page 2: Aula básica Arduino

Apresentação

Edgley Xavier

Qualificação em Tecnologia Digital, UFG 2010

Técnico Voluntário EESVB

Técnico em Hardware, Suporte  Linux Educacional 

Estudante de Engenharia Civil - UnP

Contato:

[email protected]

2

Page 3: Aula básica Arduino

3

Pré-requisitos

conhecimentos básicos de programação

Page 4: Aula básica Arduino

Conteúdo

Conceito Básico O Que é Arduino

hardware

software

A programação do Arduino

Conhecendo cada parte do Arduino

Motores Eletrônica

Sensores Eletrônica

Resistores eletrônica

protoboard

4

Page 5: Aula básica Arduino

O que é Arduino ?

Page 6: Aula básica Arduino

O Arduino é uma placa que permite a automação de projetos eletrônicos e robóticos por profissionais é amadores, é uma plataforma de prototipagem eletrônica de hardware livre (plataforma open-source) é um hardware como também o software.

Page 7: Aula básica Arduino
Page 8: Aula básica Arduino

O que é hardware ?

Page 9: Aula básica Arduino

Hardware é a parte física de um computador, é formado pelos componentes eletrônicos, como por exemplo, circuitos de fios e luz, placas, utensílios, correntes, e qualquer outro material em estado físico, que seja necessário para fazer com o que computador funcione.

Page 10: Aula básica Arduino

O que é software ?

Page 11: Aula básica Arduino

Software é uma sequência de instruções escritas para serem interpretadas por um computador com o objetivo de executar tarefas específicas. Também pode ser definido como os programas que comandam o funcionamento de um computador.

Ou seja o Software são jogos, programas ou aplicativos

Page 12: Aula básica Arduino

12

Page 13: Aula básica Arduino

13

área de código

área de status

compilar (verif. programa)

parar execução

novo

abrir

salvar

enviar programa para placa

exibir serial

Page 14: Aula básica Arduino

A programação do Arduino

Page 15: Aula básica Arduino

É baseado na linguagem C original, a que usaremos terá algumas diferenças, por exemplo, aqui ao invés de uma função principal - int main() - teremos no mínimo dois ambientes, que basicamente terão a seguinte forma:

void setup ( ) {

void setup() é usada para fazer a configuração. Como dizer se um pino

será entrada ou saída e configurar a taxa da comunicação serial. Essa

função é executada uma vez no início do programa.

}

void loop () {

void loop() é usada para escrever a rotina a ser executada pelo

microcontrolador.

}

Page 16: Aula básica Arduino

Este e o esqueleto básico de um programa, porem como em C/C++ podemos incluir bibliotecas adicionais, declarar variáveis globais, escrever outras funções fora das citadas acima, entre outras funcionalidades.

Page 17: Aula básica Arduino

Perguntas17

Page 18: Aula básica Arduino

Conhecendo cada parte do Arduino

Page 19: Aula básica Arduino

Arduino UNO – hardware19

Page 20: Aula básica Arduino

Arduino – hardware (UNO ou STAR )

1 – Conexão USB2 – Alimentação3 – Chip de comunicação com o computador4 – Cristal de 16MHz

5 – Conexões digitais

6 – Led – Está ligado ao pino 13, 7 – Leds TX/RX –8 – Este é o microcontrolador ATMEGA328 – 9 – Barra de energia –

10 – Pinos (TX/RX) para comunicação serial com dispositivos externos11 – Led de indicação de ligado

12 – Botão de RESET – 13 – Entradas analógicas

20

Page 21: Aula básica Arduino

21

Conexão USB1 – Conexão USB – Utilizada para a comunicação com o computador

1

Page 22: Aula básica Arduino

22

Alimentação 2 – Alimentação – Ligue aqui o plug para alimentar o Arduino quando não estiver no computador

2

Page 23: Aula básica Arduino

23

Chip de Comunicação 3 – Chip de comunicação com o computador – Este chip que faz a comunicação entre o computador e o Arduino

3

Page 24: Aula básica Arduino

24

Cristal de 16MHz

4 – Cristal de 16MHz – É este componente que faz a frequência do microcontrolador funcionar

4

Page 25: Aula básica Arduino

Conexões Digitais 5 – Conexões digitais – Funcionam tanto como entrada quanto como

saída de dados. As que possuem um “~” na frente, são saídas PWM

5

Page 26: Aula básica Arduino

Led 6 – Led – Está ligado ao pino 13, serve para fazer pequenos testes

sem precisar ligar mais nada no Arduino

6

Page 27: Aula básica Arduino

Leds Tx/RX 7 – Leds TX/RX – Indicam que o Arduino está se comunicando com o

computador

7

Page 28: Aula básica Arduino

Microcontrolador 8 – Este é o microcontrolador ATMEGA328 – O cérebro do nosso

Arduino

8

Page 29: Aula básica Arduino

Barra de Engergia 9 – Barra de energia – Fornece uma fonte de energia para alimentar

pequenos dispositivos externos (ou outros circuitos – “Shields”)

9

Page 30: Aula básica Arduino

Pinos (TX/RX) 10 – Pinos (TX/RX) para comunicação serial com dispositivos externos

10

Page 31: Aula básica Arduino

Led de Indicação 11 – Led de indicação de ligado – Indica quando o Arduino está ligado

à uma fonte de energia

11

Page 32: Aula básica Arduino

RESET 12 – Botão de RESET – Reinicia o Arduino, começando sua

programação desde o início

12

Page 33: Aula básica Arduino

Entradas Analógicas 13 – Entradas analógicas – Entradas que podemos ligar

potenciômetros ou outros componentes analógicos

13

Page 34: Aula básica Arduino

Perguntas34

Page 35: Aula básica Arduino

Outras Partes do Conjunto Arduino (Eletrônica )

Page 36: Aula básica Arduino

eletrônica – Uma placa de ensaio ou matriz de contato conhecida inglês por protoboard Funcionamento da placa

36

• Protoboard

Page 37: Aula básica Arduino

eletrônica – protoboard37

• jumpers

Page 38: Aula básica Arduino

Perguntas38

Page 39: Aula básica Arduino

antes dissomais um pouco de eletrônica...

39

Page 40: Aula básica Arduino

Eletrônica – Resistores 40

oferecem resistência à passagem da corrente elétrica

transformam energia elétrica em energia térmica[pode ser usado como atuador]

tipos:

carvão [carbono]

filmefio

resistência:

fixovariável

Page 41: Aula básica Arduino

eletrônica – resistores 41

valores expressos em ohms

o corpo dos resistores possui um código de cores para identificar o valor

Page 42: Aula básica Arduino

Perguntas42

Page 43: Aula básica Arduino

antes dissomais um pouco de eletrônica...

43

Page 44: Aula básica Arduino

Sensores Para Arduino Eletrônica

Page 45: Aula básica Arduino

• Os Sensores Mas Conhecidos no Mercado

• O sensor ultra-sônico HC-SR04

• Sensor de Movimento

• Sensor de temperatura LM35

Page 46: Aula básica Arduino

O sensor ultra-sônico HC-SR04

Qual a Função ?

Page 47: Aula básica Arduino

é utilizado para a medição de distâncias com precisão. Sua utilização é bem simples, e também podemos contar com uma classe pronta para fazer seu tratamento ou programação usando a seguintes portas.

O HC-SR04 conta com 4 pinos:

Vcc (pino de alimentação)

Trig (entrada de dados)

Echo (saida de dados)

Gnd (comum, neutro)

Page 48: Aula básica Arduino

Sensor de Movimento

Qual a sua Função ?

Page 49: Aula básica Arduino

Sensor também é conhecido como sensor de presença ou sensor de movimento. Ele é um sensor infravermelho passivo capaz de detectar níveis de irradiação infravermelha emitida por alguns objetos no campo de visão do sensor

Page 50: Aula básica Arduino

Sensor de temperatura LM35

Qual a sua Função ?

Page 51: Aula básica Arduino

O sensor LM35 é um sensor de precisão, fabricado pela National Semiconductor

(www.national.com), que apresenta uma saída de tensão linear relativa à temperatura em que ele se encontrar no momento em que for alimentado por uma tensão de 4-20Vdc e GND, tendo em sua saída um sinal de 10mV para cada Grau Celsius de temperatura, sendo assim, apresenta uma boa vantagem com relação aos demais sensores de temperatura calibrados em “KELVIN”, não necessitando nenhuma subtração de variáveis para que se obtenha uma escala de temperatura em Graus Celsius

Page 52: Aula básica Arduino

Perguntas52

Page 53: Aula básica Arduino

antes dissomais um pouco de eletrônica...

53

Page 54: Aula básica Arduino

Motores Para Arduino Eletrônica

Page 55: Aula básica Arduino

Tipos de Motores Motores DCMotor CC/DC Controlando um servomotor

Page 56: Aula básica Arduino

Qual a sua Função ?

Motor CC/DC

Page 57: Aula básica Arduino

Um Circuito de eletrônico com Moto Motor CC/DC

Page 58: Aula básica Arduino

mecanismos eletrônicos que usam motores, aqui está um conceito muito importante, conceito este que trata do controle de um motor de corrente contínua CC/DC, que permite que você controle a velocidade de rotação e também o sentido da rotação, horário ou anti-horário. Esse tipo de mecanismo é a base para a construção de braços robóticos, mini guinchos, mini elevadores.

Page 59: Aula básica Arduino

Controlando um servomotor

Page 60: Aula básica Arduino

Controlando um servomotor

Qual a sua função ?

Page 61: Aula básica Arduino

 

Na robótica os servomotores são responsáveis por movimentar braços, pernas e mãos de robôs. No automodelismo os servomotores são usado para virar as rodinhas dianteiras dos carrinhos, para esquerda e direita. No aeromodelismo são usados para controlar os flaps das asas dos aviões. Os servomotores são componentes chave em muitos projetos, por isso neste post vamos ensinar o conceito básico de controle de um servomotor, usando um arduino. E ao final deste post veja o vídeo deste projeto em funcionamento.

Page 62: Aula básica Arduino

Um Esquema do servomotor

Page 63: Aula básica Arduino

Perguntas63

Page 64: Aula básica Arduino

Plataforma Arduino

Page 65: Aula básica Arduino

plataforma arduino - instalação65

• Selecionando a placa e a porta serial

Page 66: Aula básica Arduino

plataforma arduino – ambiente66

área de código

área de status

compilar (verif. programa)

parar execução

novo

abrir

salvar

enviar programa para placa

exibir serial

Page 67: Aula básica Arduino

plataforma arduino – estrutura do sketch

67

Page 68: Aula básica Arduino

plataforma arduino – linguagem68

• linguagem baseada em C (mas bem mais fácil)

• comandos básicos

• pinMode() – define um pino com entrada ou saída

• digitalWrite() – liga ou desliga uma saída digital

• delay() – “espera” um determinado tempo

Page 69: Aula básica Arduino

plataforma arduino – linguagem69

• Exemplos

• pinMode(num_do_pino, OUTPUT);

• digitalWrite(num_do_pino, valor); valor é LOW ou HIGH (0 ou 1, 0V ou 5V)

• delay(milisegundos);

Page 70: Aula básica Arduino

plataforma arduino – linguagem

• Constantes

LOW | HIGH – indica nível baixo (0V) e alto (5V) nos pinos

INPUT | OUTPUT – define se um pino vai ser pino de entrada ou de saída

70

Page 71: Aula básica Arduino

bibliotecas do arduino

Page 72: Aula básica Arduino

72

bibliotecas do arduino

• é possível estender a plataforma Arduino com adição de componentes de código, para controlar sensores e atuadores específicos.

• estes componentes são chamados de bibliotecas (libraries)

Page 73: Aula básica Arduino

73

bibliotecas do arduino

• as bibliotecas são geralmente disponibilizadas como um zip que deve ser descompactado dentro da pasta libraries do Arduino.

Page 74: Aula básica Arduino

74

bibliotecas do arduino

• após reiniciar o Arduino, a biblioteca estará disponível no menu Sketch->Import Library

• a maioria das bibliotecas para o Arduino pode ser encontrada em http://arduino.cc/en/Reference/Libraries

Page 75: Aula básica Arduino

atividade prática!

75

Page 76: Aula básica Arduino

Para começar a escrever o programa precisamos saber em que pinos do Arduino estarão conectados nossos componentes, nesse caso, somente o LED, então vamos ao nosso circuito elétrico:

Page 77: Aula básica Arduino

→ Como conectamos nosso LED no pino 10 do

Arduino, vamos declarar uma variavel do tipo inteiro

para guardarmos o numero do pinos em que o LED esta.

(esta será uma variável global) int LED = 10;

→ Agora vamos configurar o pino 10 como uma saída void setup(){

pinMode(LED,OUTPUT);

}

→ Escrevemos agora a rotina para acender, esperar

algum tempo e depois apagar o LED.

Declaramos a função loop{ void loop(){

Sentamos o pino do LED para nível logico alto; digitalWrite(LED, HIGH);

Esperamos um tempo (1000 ms = 1 s); delay(1000);

Sentamos o pino do LED para nível logico baixo; digitalWrite(LED, LOW);

Esperamos um tempo (1000 ms); delay(1000);

Fechamos a funcao loop} }

Page 78: Aula básica Arduino

Vejamos o que as linhas mais relevantes significam:

→ pinMode(pino, modo) Configura um pino especifico para se comportar como uma

entrada ou uma saida (INPUT ou OUTPUT).

→ digitalWrite(pino, valor) Escreve em um pino digital o valor logico Alto ou Baixo.

(HIGH ou LOW)

→ delay(tempo) Pausa o programa durante um certo tempo especificado

em milissegundos (ms).

Page 79: Aula básica Arduino

Obs: vocês deve ter percebido que usamos no início a variável padrão

int LED = x ao pino sempre depois usar no nome LED pode ser substituído por outra função

Ou seja se você usa sensor de movimento a função “pinBuzzer, pinSensorPIR, valorSensorPIR

pinLed = x;

Sempre usamos ; “ponto e virgula no final do código ”

const int = LED;

// usando para descreve o que esta acontecendo essa função o arduino não reconhece como

Código

void setup () este usa depois “ void setup”()

Quando usa { quer dizer que a programação iniciou ou seja esta aberta

Quando usa } quer dizer que a programação terminou ou seja esta fechada

Page 80: Aula básica Arduino

atividade prática!

80

Page 81: Aula básica Arduino

Projeto 2: Semáforo

Page 82: Aula básica Arduino
Page 83: Aula básica Arduino

arduino - referencias

• Lista dos comandos da linguagem em:

http://arduino.cc/en/Reference/HomePage

• Lista dos tutoriais em:

http://www.arduino.cc/en/Tutorial/HomePage

83