introduÇÃo ao arduino, canal digital, funÇÃo delay · introduÇÃo ao arduino, canal digital,...

25
INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso Etec Presidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina: Linguagem de Prog. Apli. Em Meca. profbrunopedroso.webnode.com

Upload: others

Post on 14-Jan-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 2: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

INTRODUÇÃOA Plataforma Arduino é considerada plataforma aberta, ou seja, qualquer pessoa pode efetuar uma melhoria

em um código, biblioteca e disponibilizá-la aos demais usuários. Existe uma série de placas Arduino com

caracateristicas especificas.

UNOMEGA

NANOLEONARDO DUE

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 3: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

INTRODUÇÃO

A Plataforma Arduino também possui placas baseadas em processadores, que disponibilizam maior

processamento e robustez em projetos de automação, controle e eletrônica.

GALILEO EDISON

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 4: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

COMPARATIVO

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 5: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

ARDUINO DUE

Módulo Digital

Módulo Analógico

Módulo Digital /Módulo Serial

Módulo Digital /Módulo PWM

Alimentação (Fonte)

Alimentação / GravaçãoUSB

Processador

Pinos de Alimentação

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 6: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

ARDUINO DUE

O Arduino DUE trabalha

com tensão de operação de 3,3V,

ou seja, não deve-se utilizar 5V nos

pinos pois ocorrerá a queima dos

mesmos. Para interligação com

componentes eletrônicos que

atuam com tensão de 5V ou mais,

é obrigatório a elaboração de

circuitos de interface.

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 7: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

ARDUINO DUE (Processador ARM CORTEX-M3 – Atmel SAM3X8E)

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 8: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

IDE ARDUINO DUE

A IDE (Interface de Desenvolvimento) pode

ser baixada do site : https://www.arduino.cc

Barra de Ferramentas e Gravação

Sketch de programa

Janela de Compilação

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 9: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

CONECTANDO O ARDUINO DUE

Para efetuar a comunicação com o Arduino Due, pode-se proceder de duas formas. A primeira é

conhecendo a porta COM do computador a ser utilizada, escolher a entrada “Programming port Serial”. Porém com

a opção “Native port Serial USB” o hardware define a COM de maneira automática.

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 10: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

CONECTANDO O ARDUINO DUE

Para escolher a placa a ser utilizada, deve-ser abrir o menu “Ferramentas – Placa ( )” e definir qual

tipo de hardware utilizar, em nosso caso “Placa (Arduino Due Native USB port)” para efetuar a conexão com a

placa. Em seguida habilitar a COM definida pelo software em “Porta: ( )”.

A maioria dos problemas referentes a comunicação ocorre neste passo, pois deve-se atentar bem a qual

porta o software está disponibilizando a comunicação. Todos estes passos devem ser feitos com a placa conectada

e o drive Plug and Play instalado.

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 11: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

FUNÇÕES DE PROGRAMAÇÃO

Declarações de teste condicional: São utilizadas para testar determinadas condições/variáveis e

Executar um código para cada caso. A linguagem C dispõe de dois tipos de declarações condicionais: O

comando “if” e o comando “switch”.

Declarações de estrutura de repetição: São utilizadas para provocar a execução de um bloco de

comandos enquanto uma determinada condição for verdadeira. Em C dispomos de três declarações de

repetição, os comandos “for”, “while”, “do-while”.

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 12: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

FUNÇÕES DE PROGRAMAÇÃO

COMANDO IF:

De maneira geral, o comando “if” (se) é utilizado para executar um comando ou bloco de comandos

no caso de uma determinada condição ser avaliada como verdadeira. Opcionalmente, é também possível

executar outro comando ou bloco de comandos no caso da condição ser avaliada como falsa.

Estrutura:

if ( condição)

{

comando;

}

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 13: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

FUNÇÕES DE PROGRAMAÇÃO

COMANDO ELSE:

O comando else (senão) é um complemento do comando if. Esta função “encerra” o comando if,

pois indica a última condição a ser analisada.

Estrutura:

if (condição)

{

comando;

}

else

{

comando;

}

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 14: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

FUNÇÕES DE PROGRAMAÇÃO

COMANDO SWITCH:

A declaração switch permite a realização de comparações sucessivas como a anterior, de uma

forma mais elegante, clara e eficiente.

Estrutura:

switch (variável)

{

case constante 1:

comando a;

break;

case constante 2:

comando b;

break;

default: comando c;

}

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 15: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

FUNÇÕES DE PROGRAMAÇÃO

COMANDO FOR:

O laço for é uma das mais comuns estruturas de repetição, sendo a versão C considerada uma

das mais poderosas e flexíveis dentre todas as linguagens de programação.

Estrutura:

for ( inicialização; condição; incremento)

{

comando;

}

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 16: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

FUNÇÕES DE PROGRAMAÇÃO

COMANDO WHILE:

Neste comando a condição é avaliada, caso seja verdadeira, então o comando ou bloco de

comandos executado e a condição é novamente avaliada, reiniciando o laço. Caso a condição seja falsa, o

comando ou bloco de comandos não é executado e o programa tem sequência a partir da declaração

seguinte ao bloco while.

Estrutura:

while ( condição)

{

comandos;

}

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 17: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

FUNÇÕES DE PROGRAMAÇÃO (ARDUINO)

Função “Setup”: Nesta função deve-se inserir as configurações iniciais do programa, como definição de

pinos de I/O, configuração do canal analógico, definição do módulo Serial, etc. Outras funções podem ser criadas

ao longo do programa.

Função “Loop”: Toda a lógica de controle deve ser inserida dentro desta função, ela assume o papel da

função “main“ de um programa em C.

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 18: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

CANAL DIGITAL

O Arduino Due possui 54 pinos disponibilizados para o módulo digital, alguns pinos são apenas pinos de

I/O digital e outros pinos apresentam outras funções como as de PWM integradas.

Funções de Programação:

pinMode(): Esta função permite definir quais serão os pinos utilizados no programa e se serão de entrada

ou saída digital.

Exemplo:

pinMode(1, INPUT);

pinMode(2, OUTPUT);

Neste caso os pinos 1 e 2 serão utilizados no programa; o pino 1 como entrada digital e o pino 2

como saída digital.

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 19: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

CANAL DIGITAL

Funções de Programação:

digitalWrite(): Esta função atribui um comando as saídas (depois de definidas).

Exemplo:

digitalWrite(2, HIGH);

digitalWrite(2, LOW);

Neste caso o pino 2 pode ser colocado em nível lógico alto (verdadeiro) ou em nível lógico baixo

(falso).

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 20: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

CANAL DIGITAL

Funções de Programação:

digitalRead(): Esta função efetua a leitura das entradas (depois de definidas).

Exemplo:

if (digitalRead(1) == 1)

{

digitalWrite(2, HIGH);

}

A análise é feita no pino de entrada e de acordo com a situação física, a saída pode ser

habilitada.

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 21: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

CANAL DIGITAL

Funções de Programação:

digitalRead(): Pode ser utilizada em atribuição de variáveis.

Exemplo:

int pino_1;

pino_1 = digitalRead(1);

if (pino_1 == 1)

{

digitalWrite(2, HIGH);

}

Este método de programação pode auxiliar na elaboração de programas complexos.

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 22: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

CANAL DIGITAL

Exemplo: Se o pino 1 for habilitado, o pino 2 deverá acionar um led, se o pino 1 estiver desabilitado, led deverá

permanecer desligado.

void setup() {

pinMode(1, INPUT);pinMode(2, OUTPUT);

}

void loop() {

if (digitalRead(1) == HIGH){

digitalWrite(2, HIGH);}

else{

digitalWrite(2, LOW);}

}

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 23: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

CANAL DIGITAL

Exemplo: Aplicando atribuição de variável.

int pino_1;

void setup() {

pinMode(1, INPUT);pinMode(2, OUTPUT);

}

void loop() {

pino_1 = digitalRead(1);

if (pino_1 == HIGH){digitalWrite(2, HIGH);}

else{digitalWrite(2, LOW);

}}

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 24: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

FUNÇÃO DELAY

A função Delay é utilizada para criar pequenos atrasos na execução do programa. No arduino pode-se

utilizar desta função para criar sistemas temporizados.

Funções de Programação:

delay(ms): pode-se definir o valor de atraso da função em mSeg.

Exemplo:

digitalWrite(1, HIGH);

delay(1000);

digitalWrite(1, LOW);

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com

Page 25: INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY · INTRODUÇÃO AO ARDUINO, CANAL DIGITAL, FUNÇÃO DELAY Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico

FUNÇÃO DELAY

Exemplo: Se um botão for pressionado, aguardar 500 mseg para acionar um led. (botão = pino 4, led =

pino 6).void setup() {pinMode(4, INPUT);pinMode(6, OUTPUT);

}

void loop(){

if(digitalRead(4) == HIGH){

delay(500);digitalWrite(6, HIGH);

}

else{

digitalWrite(6, LOW);}

}

Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.

profbrunopedroso.webnode.com