Mini curso arduino

60
MINICURSO ARDUINO FELIPE SOUZA AMARAL

Transcript of Mini curso arduino

MINICURSO ARDUINOFELIPE SOUZA AMARAL

SUMÁRIO

• Introdução ao Arduino;

• Tipos de dados;

• Declaração e manipulação de variáveis e

constantes;

• Estruturas de seleção e repetição;

• Vetores e matrizes;

• Modularização;

• Funções setup() e loop();

• Entrada e saída de dados (portas digitais e

analógicas);

• Modulação PWM;

• Fundamentos de circuitos elétricos;

• Uso de componentes discretos;

• Acionamento de motores de corrente

contínua;

• Uso de transistores;

• Montagem de circuitos em protoboard;

• Uso de sensores;

• Uso de displays de 7 segmentos

INTRODUÇÃO AO ARDUINO

• Arduino é uma plataforma de prototipagem eletrônica open-souce.

(Hardwaere e software livres)

• Possui um microcontrolador Atmel programável.

• Linguagem de programação Wiring. (baseado em C/C++)

• A placa pode funcionar junto ou independente do computador.

INTRODUÇÃO AO ARDUINO

INTRODUÇÃO AO ARDUINO

• Desenvolvido por: Massimo Banzi, David

Cuartielles, Tom Igoe, Gianlucas Martino e David

Mellis, na Itália, em 2005.

• 200 placas / 2005; 5.000 / 2006; 30.000 /

2007; + 300.000 / 2011 ; + 1 milhão / 2013

• Site oficial: www.arduino.cc

INTRODUÇÃO AO ARDUINO

INTRODUÇÃO AO ARDUINO

• Hardware e projetos de montagem disponíveis.

• O software é também aberto.

• Quem desejar, pode comprar os componentes e montar sua placa.

• Mas ...

• O nome arduino é marca registrada!!

INTRODUÇÃO AO ARDUINO

• Existe arduinos paralelos

INTRODUÇÃO AO ARDUINO

• Ou você pode criar o seu próprio arduino.

INTRODUÇÃO AO ARDUINO

INTRODUÇÃO AO ARDUINO

• Oque é um microcontrolador?

• Chip;

• CPU de pequeno porte, capaz de execitar um conjunto de instruções – Microprocessador;

• Instruções simples e rápidas

• Possui memoria(s);

• Possui e/ou pode comunicar com outros periféricos

INTRODUÇÃO AO ARDUINO

INTRODUÇÃO AO ARDUINO

• Exemplos de microcontroladores

• Família 8051 (Intel ou ATMEL)

• 80C196KB (Intel)

• 68Hc11 (Motorola / Freescale)

• MSP430 (texas Instruments)

• ATmega328 (ATMEL)

• PIC16F628a (Microship)

• Cortex M3 (ARM)

Mas, onde está o arduino???

SOFTWARE

SOFTWARE:

Download:

https://www.arduino.cc/en/Main/

Software

KIT CURSO ARDUINO

• 1 Arduino duemilanove

• 1 Protoboard

• 1 display de 7 segmentos

• 1 transistor

• 1 LDR

• 1 botão

• 2 resistores

• 3 LEDs

• Motor CC

• Bateria

• Adaptador bateria

QUASE LÁ!! - INSTALAR O ARDUINO.

1. Conecte o cabo USB do Arduino no seu computador e aguarde o aviso de “Novo Hardware Encontrado”;

2. Abra o Gerenciador de Dispositivos, em “Outros Dispositivos”, aparecerá o hardware, então clique com o

botão direito do mouse sobre o dispositivo e clique em “Atualizar/Instalar Hardware”.

3. Na janela que aparecerá, clique em “Procurar Software do Driver no Computador”;

4. Em seguida, você deverá identificar a pasta exata onde está localizado o drive do Arduino, ou seja,

dentro da pasta do programa que você baixou do site haverá uma pasta chamada “Drivers”, você deverá

direcionar para esta pasta. Clique em avançar e espere a identificação do Arduino.

Problemas???

UM POUCO DE ELETRÔNICA

Protoboard

1º PROJETO – OLÁ MUNDO!!

• Objetivo – Fazer um led piscar de 1 em 1 segundo.

• Monatagem

1º PROJETO – OLÁ MUNDO!!

• Programação:

Função de inicialização:

Só ocorrerá uma vez.

Função de laço:

Ocorrerá sempre.

Variável do tipo inteira:

Retorna um valor. 16 bits

PinMode: INPUT/OUTPUT

Acionar o pino: HIGH/LOW

Pausa no sistema

2º PROJETO – LDR E LEITURA ANALÓGICA

• Objetivo: Fazer uma leitura analógica do de um resistor

que varia com a luz.

• Monatgem

2º PROJETO – ANTES DO CÓDIGO. OQU É UM LDR?

Quando a luz atinge o material fotocondutor, ele

perde a sua resistência, permitindo que mais

corrente flua entre os eletrodos.

2º PROJETO - CÓDIGO

SerialMonitor

UM POUCO DE LÓGICA DE PROGRAMAÇÃO.

• Estrutura de controle de fluxo:

• IF :

if (certaCondicao) {

// comandos... }

• IF... ELSE

if (certaCondicao) {

// comando A… }

else {

// comando B... }

UM POUCO DE LÓGICA DE PROGRAMAÇÃO

AND

Condição1 && Condição2

OR

Condição1 || Condição2

3º PROJETO – LIGAR VÁRIOS LEDS DEPENDENDO DA LEITURA ANALÓGICA

• Objetivo: Acionar 3 leds diferentes dependendo da leitura analógica.

3º PROJETO - CÓDIGO

4º PROJETO – LEITURA DIGITAL

• Objetivo: Acender um led ao prescionar o botão

• Montagem:

4º PROJETO – EXPLICAÇÃO HARDWARE

Pull UPPull DOWN

Resistores de pull up e pull down:

4º PROJETO - CÓDIGO

PWM – PULSE WIDTH MODULATION

• Razão cíclica (duty cycle): define a tensão

média aplicada:

Pinos: 3, 5, 6, 9, 10, 11

PWM – PULSE WIDTH MODULATION

PWM é a técnica de obtém resultados

analógicos através de meios digitais. O

controle digital é usado criando uma onda

quadrada, um sinal oscilando entre “ligado” ou

“desligado”, “0” ou “1”. Por uma porção de

tempo o sinal permanece “alto” enquanto pelo

resto deste tempo ele permanece “baixo”. A

duração desde “tempo” é chamada modulação

de pulso.

Em um Arduino, a frequência de um sinal PWM

é cerca de 490Hz, no caso, a modulação de

pulso oscilaria a cada 2 milissegundos. Se você

aplicar um sinal através de analogWrite() com

valores entre 0 e 255, você obteria os valores

da tabela a seguir em seu ciclo de trabalho.

5º PROJETO – LED PWM

• Objetivo: Fazer o led variar conforme a variação do pwm.

• Montagem:

5º PROJETO – CÓDIGO

6º PROJETO – CONTROLE DE UM MOTOR CC

• Objetivo: Controlar a velocidade de um motor cc através do LDR.

Montagem:

6º PROJETO – CONTROLE DE UM MOTOR CC

• Explicação do hardware:

• Alimentado em corrente contínua;

• Possui ímã e bobinas internamente;

• Velocidade é ajustada pela tensão de

alimentação (pode ser por PWM!);

• Sentido de giro é alterado pela polaridade.

6º PROJETO – CONTROLE DE UM MOTOR CC

• Cada pino do Arduino pode fornecer, no máximo,

40mA de corrente -> pode não ser suficiente para

acionar um motor!

• Solução: usar transistores.

6º PROJETO – CONTROLE DE UM MOTOR CC

• Um transistor pode ser entendido como uma “válvula”

eletrônica: é capaz de acionar cargas de alta corrente a

partir de um sinal de controle de baixa corrente. Quanto

maior for a corrente no pino de “base” (B), maior será a

corrente entre os pinos “coletor” (C) e “emissor” (E).

• Por exemplo, se a corrente na base variar de 0 a 0,01

A, a corrente de coletor pode variar de 0 a 1A!

6º PROJETO - CÓDIGO

7º PROJETO – DISPLAY DE 7 SEGMENTOS

• Objetivo: Fazer um contador simples com um display de 7 segmentos.

• Montagem:

7º PROJETO – DISPLAY DE 7 SEGMENTOS

• Na configuração catodo comum todos os catodos de todos os leds que formam o display são

interligados entre si e ligados ao GND.

• Na configuração anodo comum todos os anodos de todos os leds que formam o display são

interligados entre si e ligados ao +VCC.

7º PROJETO – DISPLAY DE 7 SEGMENTOS

• Código Anodo Comum:

7º PROJETO – DISPLAY DE 7 SEGMENTOS

8º PROJETO – COMUNICAÇÃO SERIAL

• Obejetivo: ligar e desligar um LED conectado as saída digital da Arduino

UNO através de comando enviados pelo computador.

• Montagem:

8º PROJETO – COMUNICAÇÃO SERIAL

• UART - possibilita a comunicação entre

a placa e um computador ou entre a

placa e outro dispositivo.

8º PROJETO – COMUNICAÇÃO SERIAL

• Estrutura de dados:

• Swicth case: O Switch Cace permite

programar diferentes blocos de

instruções para diferentes condições

• switch (valor) {

case 1:

//fazer algo quando valor é igual a 1

break;

case 2:

//fazer algo quando valor é igual a 2

break;

default:

// se nenhum caso se encaixa, fazer algo

como padrão

}

8º PROJETO – COMUNICAÇÃO SERIAL

9º PROJETO - EXIBINDO VALORES DA 1 A 255 EM VÁRIOS SISTEMAS

• Objetivo: Exibir os números de 1 a 255 no monitor serial nos sistemas

decimal, binário e hexadecimal.

• Montagem: nenhuma

PUTTY

• O PuTTy é um software de

emulação de terminal grátis e

de código livre. Suporta SSH,

destinado a suportar o acesso

remoto a servidores via shell seguro

e a construção de

"túneis" cifrados entre servidores.

Também suporta conexão direta

(raw), telnet, rlogin e por porta

serial.

9º PROJETO - CÓDIGO

10º PROJETO - RELÉS

Relés funcionam como interruptores, mas que são acionados por uma

tensão baixa. O relé mais comum possui um contato interno e uma bobina.

Quando há corrente passando pela bobina, um campo magnético é

induzido, atraindo um pino interno e fechando o contato.. Basta aplicar 5V

entre 2 pinos que os outros 2 fecharão contato. Um relé comum consome

cerca de 25mA para ser ativado.

Normalmente você vai encontrar 5 pinos:

Dois são a bobina, onde deve-se aplicar os 5V.

Quando houver corrente na bobina, C é ligado ao A.

Caso contrário, C fica ligado ao B.

10º PROJETO - RELÉS

• Objetivo: controle de um relé pelo botão

• Montagem: Fotos

10º PROJETO - RELÉS

10º PROJETO - RELÉS

10º PROJETO - RELÉS

10º PROJETO - RELÉS

10º PROJETO - RELÉS

• Código:

PROJETO FINAL

• Objetivo: Faça você mesmo.

• Nesse curso você aprendeu o básico do arduino, como usar protoboard,

alguns componentes eletrônicos, suas funcionalidades, programação.

• Munido disso, pedimos a todos a desenvolverem algum produto ou serviço

usando oque tem em mãos, ou seja, o kit usado nesse curso.

• Podem fazer em dupla ou sozinhos.

• Lembrem-se: A imaginação é o limite.

PROJETO FINAL

• Kit arduino:

• 1 Arduino duemilanove

• 1 Protoboard

• 1 display de 7 segmentos

• 1 transistor

• 1 LDR

• 1 botão

• 2 resistores

• 3 LEDs

• Motor CC

• Bateria

• Adaptador bateria

• relé

E AGORA?!!

• Livros: ebooks ou impressos

• Sites: www.arduino.cc , blogs em geral

• Fóruns de discursão

• DIY

AGRADECIMENTOS

•Muito obrigado a todos!!!

•Contato:

[email protected]