Este documento apresenta uma introdução básica sobre Arduino, abordando:
1) O que é Arduino, explicando que se trata de uma plataforma de prototipagem eletrônica open-source que combina hardware e software;
2) As partes principais do Arduino, incluindo hardware como microcontrolador, conexões digitais e analógicas, e software como a linguagem de programação baseada em C/C++;
3) Componentes eletrônicos populares para projetos com Arduino, como sensores, motores e resistores.
4. 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
6. 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.
9. 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.
11. 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
15. É 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.
}
16. 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.
20. Arduino – hardware (UNO ou STAR )
1 – Conexão USB
2 – Alimentação
3 – Chip de comunicação com o
computador
4 – 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 externos
11 – Led de indicação de ligado
12 – Botão de RESET –
13 – Entradas analógicas
20
21. 21
Conexão USB
1 – Conexão USB – Utilizada para a comunicação
com o computador
1
23. 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. 24
Cristal de 16MHz
4 – Cristal de 16MHz – É este componente que faz a
frequência do microcontrolador funcionar
4
25. 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
26. Led
6 – Led – Está ligado ao pino 13, serve para fazer pequenos testes sem
precisar ligar mais nada no Arduino
6
27. Leds Tx/RX
7 – Leds TX/RX – Indicam que o Arduino está se comunicando com o
computador
7
28. Microcontrolador
8 – Este é o microcontrolador ATMEGA328 – O cérebro do nosso Arduino
8
29. Barra de Engergia
9 – Barra de energia – Fornece uma fonte de energia para alimentar
pequenos dispositivos externos (ou outros circuitos – “Shields”)
9
30. Pinos (TX/RX)
10 – Pinos (TX/RX) para comunicação serial com dispositivos externos
10
31. Led de Indicação
11 – Led de indicação de ligado – Indica quando o Arduino está ligado
à uma fonte de energia
11
32. RESET
12 – Botão de RESET – Reinicia o Arduino, começando sua programação
desde o início
12
33. Entradas Analógicas
13 – Entradas analógicas – Entradas que podemos ligar potenciômetros
ou outros componentes analógicos
13
40. Eletrônica – Resistores40
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]
filme
fio
resistência:
fixo
variável
47. é 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)
49. 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
51. 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
58. 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.
61. 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.
66. 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
68. 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
69. 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);
70. 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
72. 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. 73
bibliotecas do arduino
• as bibliotecas são
geralmente disponibilizadas
como um zip que deve ser
descompactado dentro da
pasta libraries do Arduino.
74. 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
76. 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:
77. → 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} }
78. 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).
79. 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
83. 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