Aula básica Arduino
-
Upload
edgley-xavier -
Category
Software
-
view
423 -
download
1
description
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:
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