14
UNIDADE 2 Programação em Linguagem C Unidade 2 Nesta unidade estudaremos: If/else; for; while; switch case; Comunicação serial com PC; “apelidos” para os pinos do Arduino. Relembrando... Caso geral da instrução if-else: if( expressão ){ instrução1; }else{ instrução2; } O if-else funciona do seguinte modo: 1. O valor da expressão é calculado; 2. Se for verdadeiro, a instrução1 será executada, mas a instrução2 não; Se for falso, a instrução2 será executada, mas a instrução1 não.

Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

  • Upload
    vutuong

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Programação em Linguagem C

Unidade 2

Nesta unidade estudaremos:

✓ If/else;

✓ for;

✓ while;

✓ switch case;

✓ Comunicação serial com PC;

✓ “apelidos” para os pinos do Arduino.

Relembrando...

Caso geral da instrução if-else:

if( expressão ){

instrução1;

}else{

instrução2;

}

O if-else funciona do seguinte modo:

1. O valor da expressão é calculado;

2. Se for verdadeiro, a instrução1 será executada, mas a instrução2

não;

Se for falso, a instrução2 será executada, mas a instrução1 não.

Page 2: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Caso geral da instrução for:

for(expressão1; expressão2; expressão3 ){

instrução;

}

A instrução for funciona do seguinte modo:

1. A expressão1 é executada apenas na primeira vez que o programa

passa pelo ciclo for.

2. O valor da expressão2 é calculado e se for verdadeiro, o programa

executa a expressão3 e as instruções dentro das chaves.

3. O processo repete-se, isto é, o valor da expressão2 é calculado

novamente. Se for verdadeiro, o programa executa a expressão3 e

as instruções dentro das chaves.

4. O ciclo for termina quando a expressão2 for falsa.

Caso geral da instrução while:

while(expressão) {

instrução;

}

A instrução while funciona do seguinte modo:

A expressão é testada, se for verdadeira, o programa executa a

instrução. Depois de executar a instrução, o programa testa novamente a

expressão, executa a instrução (caso verdadeira) e continua assim

indefinidamente até que a expressão se torne falsa.

Page 3: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Caso geral da instrução switch case:

switch(expressão){

case 3:

instrução1;

break;

case 5:

instrução2;

break;

default:

instrução10; break;

}

A instrução switch case funciona do seguinte modo:

1. Logo após a palavra switch, calcula-se o valor expressão.

2. Baseado nesse valor, o programa salta para o caso apropriado.

Por exemplo, se o valor for 5: o programa salta para case 5,

executa instrução2 e prossegue com as instruções restantes até

aparecer a instrução break. Esta instrução faz com que o

computador salte para fora do switch.

3. O default é opcional e é executado se nenhum dos outros casos

ocorrer.

Obs.: O switch case funciona também com caractere (letra).

Page 4: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Exemplo 1: Controlar o acionamento de um LED através de um botão de pulso.

Dados.: Botão de pulo conectado ao pino 7 do Arduino, envia nível lógico 0 quando

pressionado. LED conectado ao pino 4 do Arduino, acende com nível lógico 1.

Funcionamento.:

a) Inicialmente o LED deverá estar apagado;

b) O LED deverá alterar seu estado (de ligado para desligado e vice-versa) toda vez

que o botão for pressionado.

Page 5: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Montagem

Page 6: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Exemplo 2: Faça um semáforo (com pedestre).

Dados:

Veicular: VERDE pino 0, AMARELO pino 1, VERMELHO pino 2;

Pedestre: VERDE_P pino 4, VERMELHO_P pino 5.

Funcionamento.:

a) Os vermelhos devem permanecer ligados por 2s;

b) Ligue o VERDE por 10s e depois ligue o AMARELO por 3s;

c) Ligue o VERMELHO; Ligue o VERDE_P por 2s;

d) O VERMELHO_P deve piscar 4x com intervalos de 1s.

e) Retorne para o item b.

Page 7: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Montagem

Page 8: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Exemplo 3: A imagem abaixo trata-se de um jogo de perguntas e respostas.

Deve ser feito o seguinte programa:

a) Se o botão B1 for pressionado primeiro que B2, a lâmpada L1 deverá acender e

somente deverá apagar quando o botão R for pressionado pelo apresentador;

b) Se o botão B2 for pressionado primeiro que B1, a lâmpada L2 deverá acender e

somente deverá apagar quando o botão R for pressionado pelo apresentador;

c) Se uma lâmpada estiver acesa a outra não poderá acender.

Page 9: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Montagem

Page 10: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Exemplo 4: Recebendo dados do PC e Tratando com o switch case

Faça um programa que:

a) Após receber a letra “T” enviada pelo computador, ligue o LED conectado ao

pino 13 do Arduino;

b) Após receber a letra “a”, pisque um LED conectado ao pino 7 três vezes;

c) Após receber a letra “t”, ligue o LED conectado ao pino A0;

d) Após receber a letra “A”, pisque um LED conectado ao pino A4 cinco vezes;

e) Desligue todos os LED’s quando o Arduino receber a letra (P) enviada pelo

computador;

Page 11: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Montagem

Para enviar dados do computador para o Arduino, utilize o monitor serial.

No final desta unidade, é demonstrado como utilizar o monitor serial.

Page 12: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Exemplo 5: Enviando dados para o PC

Utilizando botões com retenção (trava), faça um programa que:

a) Se o botão BT_1 (pino A1) estiver fechado, ligue o LED_1 (pino 13) e envie a

mensagem: Saída 1 Ativada. Se BT_1 aberto, desligue LED_1 e envie a

mensagem: Saída 1 Desativada.

b) Se o botão BT_2 (pino A5) estiver fechado, ligue o LED_2 (pino 8) e envie a

mensagem: Saída 2 Ativada. Se BT_2 aberto, mensagem: Saída 2 Desativada.

NOTA.: Neste exemplo, de 1 em 1 segundo será escrito o estado das saídas.

Page 13: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Montagem

Para enviar dados do Arduino para o computador, utilize o monitor serial.

No final desta unidade, é demonstrado como utilizar o monitor serial.

Page 14: Programação em Linguagem C - actire.com.br c para arduino_unidade 2.pdf · Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo,

UNIDADE 2

Monitor Serial, comunicação entre Arduino e PC

Introdução

O Arduino consegue se comunicar com o PC através da porta USB. Essa comunicação se dá através de um processo chamado “comunicação serial”, que podemos acessar pelo “Monitor Serial” no IDE do Arduino. Essa comunicação é feita em duas vias, ou seja, enviando e recebendo dados.

Materiais utilizados neste tutorial ✓ 01 Arduino UNO; ✓ 01 Cabo USB.

Montagem

1) Conecte o Arduino ao PC por meio de um cabo USB; 2) Abra a IDE (software utilizado para digitar nossos programas do Arduino); 3) Selecione a placa e a COM. Caso não lembre como fazer, leia a unidade 1.

Monitor Serial Após fazer “Upload” do código no Arduino, abra o Monitor Serial.

(Para abri-lo clique em Serial Monitor assim como mostrado na imagem a baixo).

O Monitor Serial tem a seguinte aparência:

Selecione a mesma velocidade de comunicação inserida no programa. Para um melhor entendimento, observe as duas imagens.

Para enviar dados do PC ao Arduino, escreva na janela e clique em Send. Utilizando esta imagem como exemplo, se clicarmos em Send, será enviado a letra A.

Se o Arduino enviar dados, os mesmos serão exibidos no espaço em branco.