10
INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 Brasil (1/10) MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação Gil Eduardo de Andrade Introdução A oficina proposta neste documento apresenta conceitos iniciais e intermediários sobre o funcionamento da plataforma Arduino. Ela baseia-se na compilação de um conjunto informações sobre a plataforma Arduino, operando juntamente com alguns sensores acoplados a uma placa Arduino Mega. Objetivos A oficina tem como objetivo introduzir os procedimentos necessários para manipulação e construção de sistemas de hardware baseados na plataforma Arduino. Secundariamente, busca-se que o aluno aprenda: Conceitos básicos sobre montagem de circuitos eletrônicos; Utilizar adequadamente um protoboard; Manipular o software de programação Sketch; Manipular e Programar uma placa Arduino (Mega); Acoplar sensores externos a placa Arduino; Agregar bibliotecas de sensores externos ao software Sketch; Materiais Os seguintes componentes eletrônicos são apresentados, estudados e utilizados durante a oficina: Placa Arduino Mega 2560 + Cabo USB; Computador + Software Sketch (1.6.0 ou superior) Protoboard 400 pontos; Jumpers Macho-Macho /Macho-Fêmea Resistores 330Ω e 1kΩ; Led e Display barra 10 segmentos; Display de 7 segmentos; Display LCD 16x2; Sensor de Temperatura e Umidade DHT22; Sensor de Movimento e Presença PIR; Métodos Como metodologia de aprendizado serão apresentados e propostos pequenos projetos envolvendo cada um dos componentes eletrônicos (placa Arduino Mega e sensores) listados anteriormente. Para tal serão disponibilizados os

MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

Embed Size (px)

Citation preview

Page 1: MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 – Brasil (1/10)

MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação

Gil Eduardo de Andrade

Introdução

A oficina proposta neste documento apresenta conceitos iniciais e intermediários sobre o funcionamento da plataforma Arduino. Ela baseia-se na compilação de um conjunto informações sobre a plataforma Arduino, operando juntamente com alguns sensores acoplados a uma placa Arduino Mega. Objetivos A oficina tem como objetivo introduzir os procedimentos necessários para manipulação e construção de sistemas de hardware baseados na plataforma Arduino. Secundariamente, busca-se que o aluno aprenda: Conceitos básicos sobre montagem de circuitos eletrônicos; Utilizar adequadamente um protoboard; Manipular o software de programação Sketch; Manipular e Programar uma placa Arduino (Mega); Acoplar sensores externos a placa Arduino; Agregar bibliotecas de sensores externos ao software Sketch;

Materiais Os seguintes componentes eletrônicos são apresentados, estudados e utilizados durante a oficina:

Placa Arduino Mega 2560 + Cabo USB; Computador + Software Sketch (1.6.0 ou superior) Protoboard 400 pontos; Jumpers Macho-Macho /Macho-Fêmea Resistores 330Ω e 1kΩ; Led e Display barra 10 segmentos; Display de 7 segmentos; Display LCD 16x2; Sensor de Temperatura e Umidade DHT22; Sensor de Movimento e Presença PIR;

Métodos

Como metodologia de aprendizado serão apresentados e propostos pequenos projetos envolvendo cada um dos componentes eletrônicos (placa Arduino Mega e sensores) listados anteriormente. Para tal serão disponibilizados os

Page 2: MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 – Brasil (2/10)

esquemas de montagem dos circuitos, as bibliotecas que devem ser agregadas ao software Sketch e os códigos-fonte que devem ser embarcados na placa Arduino.

PLATAFORMA ARDUINO

A plataforma Arduino possibilita que projetos de hardware baseados em microcontroladores possam ser simplificados, visto que ela agrega os detalhes técnicos de programação (muitas vezes complexos) desses componentes em um pacote easy-to-use (fácil de utilizar). Tal característica oferece uma grande vantagem a professores, estudantes e desenvolvedores interessados em sistemas de hardware. Ela torna os computadores capazes de detectar e controlar elementos do mundo físico, permitindo o desenvolvimento de objetos autônomos e/ou iterativos através da utilização de uma grande variedade de sensores trabalhando como dispositivos de entradas e influenciam diretamente o controle de componentes eletrônicos como LEDs, servo-motores e relés. Além disso, por ser tratar de uma plataforma de computação open-source, baseada num microcontrolador acoplado a um circuito eletrônico relativamente simples, as placas Arduino possuem um custo relativamente baixo se comparadas com outras plataformas também baseadas em microcontroladores. A plataforma Arduino possuiu, também, um ambiente de desenvolvimento integrado livre (IDE - Sketch). Ambiente de Desenvolvimento Sketch

A IDE para programação do Arduino utiliza uma linguagem de programação modelada a partir da linguagem Wiring. Ao efetuarmos o upload do código escrito para a placa, ele é traduzido para a linguagem C e repassado ao compilador avr-gcc, que realiza a tradução dos comandos para uma linguagem que pode ser compreendida pelo microcontrolador. A IDE de programação é gratuita e pode ser obtida na página web do projeto Arduino. Nela é possível escolher a versão da IDE e a plataforma (Linux, Wi) para qual desejamos obter o software. Link para download: https://www.arduino.cc/en/Main/Software#

Page 3: MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 – Brasil (3/10)

Quando a IDE é aberta a seguinte tela é exibida:

Seleção da placa Arduino e Porta de Comunicação: o primeiro procedimento que deve ser efetuado quando iniciamos a IDE de programação é definir a placa Arduino com a qual iremos trabalhar e em qual porta USB do nosso computador ela está conectada. Isso pode ser feito acessando os

menus: “Ferramentas”→“Placa” e “Ferramentas”→“Porta”. Considerando que

estamos trabalhando com o Arduino Mega nessa oficina teríamos como resultado a imagem apresentada a seguir:

Page 4: MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 – Brasil (4/10)

Monitor Serial: O Arduino Mega, assim como vários outros modelos de Arduino, é capaz de se comunicar com o computador através da porta USB, via comunicação serial. Essa comunicação permite enviar e receber dados da placa, e pode ser acessada através de um Monitor Serial disponível na IDE de

programação. Para abrir o Monitor Serial utilizamos o menu “Ferramentas” →

“Porta”.

Obs.: uma descrição mais detalhada sobre o funcionamento e utilização do monitor serial será efetuada na sessão de projetos.

Placa Arduino Mega 2560

Page 5: MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 – Brasil (5/10)

Alimentação: pode ser feita tanto via USB quanto por fonte externa (conector Jack);

Portas de Alimentação: servem para alimentar componentes e circuitos eletrônicos externos, como leds, sensores e shields.

IOREF – fornece uma tensão de referência para que os shield, deste modo aqueles que funcionam com placas Arduino alimentadas com 3,3V podem ser adaptados para serem utilizados em placas alimentadas com 5V, e vice-versa;

RESET – pode ser utilizado para um reset externo da placa Arduino;

3,3V – fornece tensão de 3,3V (com corrente máxima de 50 mA) para alimentação de shield e módulos externos;

5V – fornece tensão de 5V para alimentação de shields e circuitos externos;

GND – pinos de referencia, terra (ground);

VIN – pino para alimentar a placa através de shield ou bateria externa. Quando a placa é alimentada através do conector Jack a tensão da fonte estará nesse pino.

Pinos de Entrada e Saída: A placa Arduino Mega 2560 possui 54 pinos

digitais podem ser utilizados como entrada ou saída conforme a necessidade do projeto que está sendo desenvolvido. Essa definição pode ser obtida através da função pinMode(). O envio (saída) para uma porta ou recebimento (entrada) de uma porta de um sinal pode ser efetuado pelas funções digitalWrite() e digitalRead(), respectivamente. Os pinos operam com tensão de 5V e podem fornecer ou drenar até 40mA. Cada pino possui resistor de pull-up interno que pode ser habilitado por software. Alguns desse pinos possuem funções especiais como exibido a seguir:

Comunicação Serial – Serial: 0 (RX) e 1 (TX); Serial 1: 19 (RX) e 18 (TX);

Serial 2: 17 (RX) e 16 (TX); Serial 3: 15 (RX) e14 (TX);

Page 6: MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 – Brasil (6/10)

Interrupções externas – 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), e 21 (interrupt 2). Estes pinos podem ser configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade do projeto;

PWM – os pinos de 2–13 e de 44–46 podem ser utilizados como saídas PWM. O sinal PWM possui 8 bits de resolução e pode ser implementado com a função analogWrite();

Comunicação SPI – pinos 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS);

Comunicação I2C (TWI) – pinos 20 (SDA) e 21 (SCL).

O Arduino Mega 2560 possui ainda 16 entradas analógicas (pinos A0 a A15), onde podem ser feitas conversões sobre valor de entrada com uma resolução de 10 bits, ou seja, o valor pode ser convertido entre 0 e 1023. Abaixo são exibidos os pinos de entrada analógica do Arduino Mega 2560.

Protoboard – Utilização

Uma protoboard (placa de prototipagem) é utilizada para fazer montagens provisórias e teste de projetos de circuitos eletrônicos. Ela é composta por uma camada plástica que contém inúmeros furos destinados à inserção de terminais de componentes eletrônicos. Internamente existem ligações que interconectam esses furos, permitindo a montagem de circuitos eletrônicos sem a utilização de solda. A grande vantagem da protoboard é que os componentes podem ser facilmente retirados e reutilizados posteriormente em novos protótipos. A figura a seguir apresenta uma protoboard de 400 pontos:

Page 7: MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 – Brasil (7/10)

MINI PROJETOS UTILIZANDO ARDUINO

Led Simples

Link código-fonte 01: www.gileduardo.com.br/arduino/downloads/led.zip Link código-fonte 02: www.gileduardo.com.br/arduino/downloads/led2.zip

Page 8: MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 – Brasil (8/10)

Display Barra 10 Segmentos

Link código-fonte: www.gileduardo.com.br/arduino/downloads/barra_leds.zip

Display de 7 Segmentos

Link código-fonte: www.gileduardo.com.br/arduino/downloads/display_7seg.zip

Page 9: MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 – Brasil (9/10)

Display LCD 16x2 Link biblioteca: www.gileduardo.com.br/arduino/downloads/LiquidCrystal_I2C.zip Link Scanner I2C: www.gileduardo.com.br/arduino/downloads/scanner_i2c.zip Link código-fonte 01: www.gileduardo.com.br/arduino/downloads/lcd_i2c.zip

Sensor de Temperatura e Umidade DHT22

Link biblioteca: www.gileduardo.com.br/arduino/downloads/Dht.zip Link código-fonte 01: www.gileduardo.com.br/arduino/downloads/DTH22.zip Link código-fonte 02: www.gileduardo.com.br/arduino/downloads/DHT22_LCD.zip

Page 10: MINICURSO - PLATAFORMA ARDUINO · Gil Eduardo de Andrade Introdução ... configurados para disparar uma interrupção na subida ou descida dos níveis lógicos, conforme a necessidade

INSTITUTO FEDERAL DO PARANÁ | Paranaguá Rua Antônio Carlos Rodrigues, 453 - Porto Seguro, Paranaguá - PR | 83215-750 – Brasil (10/10)

Sensor de Movimento e Presença PIR Link código-fonte 01: www.gileduardo.com.br/arduino/downloads/sensor_pir.zip Link código-fonte 02: www.gileduardo.com.br/arduino/downloads/sensor_pir_lcd.zip