Aula básica Arduino

Post on 18-Jun-2015

423 views 1 download

description

Aula básica Arduíno

Transcript of Aula básica Arduino

Introdução Básica do Básico de 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:

Edgley.Xavier@Hotmail.com

2

3

Pré-requisitos

conhecimentos básicos de programação

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

O que é 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.

O que é hardware ?

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.

O que é software ?

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

12

13

área de código

área de status

compilar (verif. programa)

parar execução

novo

abrir

salvar

enviar programa para placa

exibir serial

A programação do 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.

}

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.

Perguntas17

Conhecendo cada parte do Arduino

Arduino UNO – hardware19

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

21

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

1

22

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

2

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

24

Cristal de 16MHz

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

4

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

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

sem precisar ligar mais nada no Arduino

6

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

computador

7

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

Arduino

8

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

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

9

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

10

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

à uma fonte de energia

11

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

programação desde o início

12

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

potenciômetros ou outros componentes analógicos

13

Perguntas34

Outras Partes do Conjunto Arduino (Eletrônica )

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

36

• Protoboard

eletrônica – protoboard37

• jumpers

Perguntas38

antes dissomais um pouco de eletrônica...

39

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

eletrônica – resistores 41

valores expressos em ohms

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

Perguntas42

antes dissomais um pouco de eletrônica...

43

Sensores Para Arduino Eletrônica

• Os Sensores Mas Conhecidos no Mercado

• O sensor ultra-sônico HC-SR04

• Sensor de Movimento

• Sensor de temperatura LM35

O sensor ultra-sônico HC-SR04

Qual a Função ?

é 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)

Sensor de Movimento

Qual a sua Função ?

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

Sensor de temperatura LM35

Qual a sua Função ?

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

Perguntas52

antes dissomais um pouco de eletrônica...

53

Motores Para Arduino Eletrônica

Tipos de Motores Motores DCMotor CC/DC Controlando um servomotor

Qual a sua Função ?

Motor CC/DC

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

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.

Controlando um servomotor

Controlando um servomotor

Qual a sua função ?

 

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.

Um Esquema do servomotor

Perguntas63

Plataforma Arduino

plataforma arduino - instalação65

• Selecionando a placa e a porta serial

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

plataforma arduino – estrutura do sketch

67

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

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);

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

bibliotecas do 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)

73

bibliotecas do arduino

• as bibliotecas são geralmente disponibilizadas como um zip que deve ser descompactado dentro da pasta libraries do 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

atividade prática!

75

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:

→ 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} }

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).

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

atividade prática!

80

Projeto 2: Semáforo

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