OFICINA Uso da plataforma Arduinono Ensino de...

32
Astrogildo Junqueira Docente Física/IFSP Lucas D´Amásio David Larronda Licenciandos/IFSP Apoio Financeiro: Prodocência / Capes OFICINA Uso da plataforma Arduino no Ensino de Ciências

Transcript of OFICINA Uso da plataforma Arduinono Ensino de...

Page 1: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Astrogildo JunqueiraDocente Física/IFSP

Lucas D´AmásioDavid Larronda

Licenciandos/IFSP

Apoio Financeiro:Prodocência / Capes

OFICINA

Uso da plataforma Arduino no Ensino de Ciências

Page 2: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Wikipedia: plataforma de prototipagem eletrônica de hardware livre, projetada com um microcontrolador Atmel AVR de placa única, com suporte de

entrada/saída embutido, uma linguagem de programação padrão essencialmente em C / C++.

Page 3: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Entrada USB

Pinos E/S Digitais

Pinos E/S Analógicas

CONHECENDO A PLATAFORMA ARDUINO

MicrocontroladorAtmel AVR

LED

Conexão ao computador por cabo

USB

Indica se o arduíno estáligado a uma fonte; conectado ao pino 13.

“cérebro” do arduíno. Marca Atmega, com 10bits e 32KB de memória.

14 portas de entrada/saída digitais (sinal elétrico de “0” ou de “1”)

6 portas de entrada/saída analógica (sinais “contínuos”).

Page 4: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

IDE: Ambiente de Desenvolvimento Integrado(Integrated Development Environment)

O IDE pode ser baixado gratuitamente de: www.arduino.cc

IDE: PROGRAMANDO O ARDUÍNO

Nesta área serão escritos os comandos para o arduíno

Page 5: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

PROTOBOARD: MONTANDO PROJETOS ARDUINO

Placa de plástico em que os orifícios são conectados internamente por trilhas metálicas. Os oríficiosservem para a inserção de terminais de componentes e fios de conexão.

sentidos das trilhas no protoboard

Fios de conexão (ou “jumpers”) entre o arduíno e o protoboard

Page 6: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Sensor para temperatura:

SENSORES E SHIELDS PARA ARDUÍNO

Sensor de distância por US:

Acelerômetro de três eixos

Bússola digital três eixos

Shield Bluetooth:

Shield Ethernet:

Sensor LDR

Page 7: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

EXPERIMENTOS COM ARDUÍNO NO ENSINO DE FÍSICA

Irradiação Térmica: Sensor de temperatura (LM35)

Duas latinhas, branca e preta, iluminadas por uma lâmpada, com um sensor em cada uma. Variação da temperatura com o tempo

Fonte: Atividades realizadas na disciplina de Termodinâmica da Licenciatura em Física/IFSP

Page 8: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Fonte: A placa Arduino: opção de baixo custo para experiências de Física por Souza et al., RBEF, vol. 33(1), 2011.

Oscilação de uma régua: Sensor de luz (LDR)

EXPERIMENTOS COM ARDUÍNO NO ENSINO DE FÍSICA

Page 9: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Pêndulo vertical: sensor de ultrasom

EXPERIMENTOS COM ARDUÍNO NO ENSINO DE FÍSICA

Movimento Oscilatório Vertical com Arduíno

40

50

60

70

80

100 150 200 250 300 350 400

Tempo (ua)

Po

siç

ão

(u

a)

Fonte: Atividade realizada para o teste do sensor LV-MaxSonar para essa oficina

Page 10: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

ARDUINO: NOSSO PRIMEIRO PROJETOAcendendo e Apagando LED

Os primeiros componentes

LED (Light Emitting Diode): Diodo EmissordeLuz: diodo semicondutor que ao ser energizado emite luz visível. Possui polaridade, portanto, a perna maior deve ser ligada à tensão de alimentação e a perna menor à terra (GND da placa).

Resistor: dispositivo que dificulta a passagem da corrente elétrica e transforma a energia elétrica em energia térmica. Não possui polaridade.

Page 11: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

CIRCUITO COM UM RESISTOR E UM LED EM SÉRIE

MATERIAIS:

• 1 LED

• 1 RESISTOR

• PROTOBOARD

• FIOS CONECTORES

• PLACA ARDUINO

ARDUINO: NOSSO PRIMEIRO PROJETOAcendendo e Apagando LED

Montando o circuito:

Page 12: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Após realizada as conexões dos componentes, são escritos os códigos de comandos no IDE e salvos na memória do arduíno. Os comandos que usaremos são indicados abaixo.

void setup() { pinMode(13, OUTPUT); // define a porta digital 13

// para sinal de saida para o LED

}

void loop() {digitalWrite(13, HIGH); // acende o LED

delay(1000); // aguarda por um segundo

digitalWrite(13, LOW); // apaga o LED

delay(1000); // aguarda por um segundo

}

Porém, antes de iniciarmos, vamos conversar um pouco sobre circuitos elétricos, algumas leis básicas e a lógica dos comandos aqui usados.

ARDUINO: NOSSO PRIMEIRO PROJETOAcendendo e Apagando LED

Page 13: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

ARDUINO: NOSSO PRIMEIRO PROJETOAntes, um pouco de eletrônica

Lei de Ohm

Conceitos fundamentais para entendermos os circuitos elétricos são os de corrente (i) e tensão (V) elétricas e o de resistência (R).A relação entre eles é dado pela Lei de Ohm: V = R.i.

V = R.i i = V/R = 9/90 = 0,1 A

Se conectarmos uma lâmpada com resistência de 90 a uma bateria de 9 V, a corrente elétrica fluindo pelo circuito será dada pela Lei de Ohm:

Podemos ligar dois ou mais componentes resistivos (lâmpada, resistor, etc.) basicamente de duas maneiras: série e paralelo.

Ligação em série: a mesma corrente passa pelos dois componentes resistivos

Ligação em paralelo: a mesma tensão elétrica éaplicado aos dois componentes resistivos

Ligações Série e Paralelo

Page 14: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

ARDUINO: NOSSO PRIMEIRO PROJETOAntes, um pouco de eletrônica

Para não queimarmos um LED, ele é ligado em série com resistor R. O valor mínimo desta resistência édada pela Lei de Ohm.Suponha que o LED suporte até 2 V de tensão e corrente de 10 mA = 0,010 A e está ligado junto com a resistência a uma fonte de V = 5 V.

Se ele suporta apenas 2 V, então 3 V da fonte devem ir para o resistor R.

Vres = R.i R = Vres/i = 3/0,01 = 300

Vres + VLED = 5 V Vres = 5 V - 2 V = 3 V

Pela Lei de Ohm, o valor mínimo da resistência deve ser:

Page 15: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Programação: códigos de comando

void setup() { // initialize the digital pin as an output.// Pin 13 has an LED connected on most Arduino boards:pinMode(13, OUTPUT);

}

void loop() {

digitalWrite(13, HIGH);

delay(1000);

digitalWrite(13, LOW);

delay(1000);

}

Porta de saída

Definições

Saída para LED (HIGH = 5 V)

Espera 1000 ms

Saída para LED (LOW = 0 V)

Espera 1000 ms

Laço: Repete indefinidamente

Observação: o que estiver escrito após “//” não é lido pelo arduíno, apenas observações do programador.

ARDUINO: NOSSO PRIMEIRO PROJETOAcendendo e Apagando LED

Page 16: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Conferindo (compilando) a programação

Depois de escrever os comandos, pressione o botão . O IDE irá verificar se há algum erro de lógica na programação.

Montando o circuito

Conforme discutido, e com o arduíno desconectado, conecte, usando os fios e o protoboard, os componentes do circuito: Arduino-LED-resistor.

Escrevendo o sketch

Escreva a programação no IDE, com o Arduino desconectado

ARDUINO: NOSSO PRIMEIRO PROJETOMontando o projeto

Page 17: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Porta de comunicação com o Arduino

Conecte o computador com o Arduino via cabo USB. Após isso, vá em “Ferramentas”, depois em “porta”. Escolha uma porta de comunicação com o Arduíno.

Gravando na memória do Arduino

Estabelecida a comunicação, pressione o botão . O IDE irá gravar na memória do Arduíno os comandos.

Se tudo der certo, você verá o arduíno piscando e em seguida o LED no protoboard acendendo e apagando conforme os comandos.

Page 18: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

EXERCÍCIO: PROJETO COM 3 LEDS

Levando em consideração a discussão realizada até aqui, tente montar um projeto com 3 LEDs ligados ao arduíno, acendendo e apagando alternadamente os LEDS.

void setup() { pinMode(11, OUTPUT);pinMode(12, OUTPUT);pinMode(13, OUTPUT);

}

void loop() {digitalWrite(11, HIGH); delay(1000); digitalWrite(11, LOW); digitalWrite(12, HIGH); delay(1000); digitalWrite(12, LOW); digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW);

}

Page 19: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

PROJETO: LED COM PWM

Pinos PWM: nesse projeto vamos usar os pinos 3, 5 e 6, que também são pinos PWM (Pulse withModulation). Esse pinos são indicados pelo sinal ~ (til). Com ele, podemos fornecer valores de tensão fracionários entre HIGH (5 V) e LOW (0 V), com passos de tensão de V = 5 V / 256 ~ 0,0195 V, permitindo uma variação gradual da tensão entre 0 V e 5 V.

AnalogWrite(pino, valor): Com esse comando, podemos enviar um valor fracionário (de 0 a 255) para o pino PWM. Para o estado 255, associamos o valor 5V e para o estado 0, associamos o valor 0 V

AnalogWrite(3, 0)Pino 3

Valor 0 (mínimo)

AnalogWrite(3, 255)Pino 3

Valor 255 (máximo)

Page 20: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Vamos montar um projeto simples com apenas um LED e verificar como funciona o pino PWV.

void setup() { pinMode(3, OUTPUT);

}

void loop() {analogWrite(3, 255);

}

PROJETO: LED COM PWM

Page 21: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

ESPECTRO ELETROMAGNÉTICO E AS CORES

A luz é aquilo que chamamos em Física de Ondas Eletromagnéticas. Além das ondas que enxergamos (a luz), temos outros tipos de ondas EM para os quais nossos olhos não são sensíveis. O que caracteriza as regiões do chamado espectro eletromagnético são as freqüências de oscilações das ondas EM (ou seja, quantas oscilações numa unidade de tempo).

https://pt.wikipedia.org/wiki/Espectro_eletromagnetico

Page 22: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

CORES: REGIÃO DO VÍSIVEL.

A região do visível, que é composta das frequências que enxergamos, pode ser dividida (arbitrariamente) em sub-regiões que associamos as cores.

Fonte: “Esclarecendo o significado de cor em física” por Silva, Revista Física na Escola vol. 8(1), 2007

f

c

Page 23: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

CORES: MISTURA ADITIVAS DE CORES

O que acontece quando misturamos luzes de cores diferentes? Vamos obter o chamado sistema cromático aditivo. Esse sistema é formado pela adição das três cores primárias da luz: azul, vermelho e verde (RGB)

https://gerenciamentodecor.wordpress.com/2016/02/20/cores-sistema-aditivo-e-substrativo/

Page 24: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

PROJETO: LED RGB

Vamos continuar nossa exploração do Arduíno, usando agora outro tipo de LED: LED RGB. Ele écomposto por três LED de cores diferentes, chamado simplesmente LED RGB. Nele, temos embutido três LEDs de cores vermelho (R), verde (G) e azul (B): a perna maior é o ânodo e as outras são os cátodos.

Para fazermos a conexão desse LED com o arduíno, montamos o circuito abaixo, usando três saídas digitais do arduíno (R,G e B) e o GND (ânodo). Ao lado, a programação.

void setup() { pinMode(3, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT);

}

void loop() {analogWrite(3, 255);analogWrite(5, 255);analogWrite(6, 255);

}

Page 25: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

PROJETO: BUZZER FAZENDO BARULHO

Vamos agora fazer um pouco de barulho! Nesse projeto iremos usar um dispositivo que produz som. O Buzzer é um transdutor piezoelétrico feito com uma membrana vibratória que ao ser excitada por impulso vibra e produz um tom.

O nosso projeto com o buzzer é mostrado abaixo, juntamente com um exemplo de programação.

void setup() { pinMode(9, OUTPUT);

}

void loop() {digitalWrite(9, HIGH); delay(150); digitalWrite(9, LOW); delay(1000);

}

Page 26: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

SONS E MÚSICA

fT

1

Os fenômenos oscilatórios podem ser caracterizados principalmente por sua frequencia (f) ou período (T).

Período (T): tempo de repetição de uma oscilação completa (s)

Frequencia (f): número de oscilações numa unidade de tempo (Hz)

As ondas sonoras são perturbações nas posições das moléculas do ar que vibram para lá e para cá, na direção da onda (longitudinais), produzindo regiões de baixa e alta pressões (vales e cristas). O ser humano é capaz de identificar sons de 20 Hz até 20 kHz

f

vsom

Page 27: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

SONS E MÚSICA

A música ocidental é baseada principalmente na chamada escala temperada. Basicamente, um som (tom) de uma dada freqüência (f0) e junto com uma outra, chamada de oitava (2xf0). Dividimos esse intervalo de uma oitava em 12 intervalos chamados semi-tons, de tal forma que cada semitom vizinho é separado pela relação entre as frequencias:

059,12 12/1

1

n

n

f

f

Desta forma podemos criar uma escala temperada da seguinte forma (usando o dócomo tom da escala):

Desta forma, segue-se aproximadamente as distâncias (intervalos) entre notas na escala natural, como os exemplos abaixo:

Page 28: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

PROJETO BUZZERFAZENDO MELODIA

Vamos estudar mais alguns recursos da programação do arduíno num projeto para produzir uma pequena melodia. Para isso, usaremos novamente o buzzer, conforme indicado na figura. Veja que a programação, agora um pouco mais longa, tem alguns elementos novos.

int C = 262, D = 294, E = 330, F = 349, G = 392, A = 440, B = 523;

int P = 0;

int i;

int ode[ ] = {

E,E,F,G,G,F,E,D,C,C,D,E,E,D,P,D,P, E,E,F,G,G,F,

E,D,C,C,D,E,D,C,P,C,P, D,D,E,C,D,E,P,F,E,

C,D,E,P,F,E,D,C,D,P, E,E,D,G,G,F,E,D,C,C,D,E,D,C,P,C };

int tempo[ ] = {

1,1,1,1,1,1,1,1,1,1,1,1,1.5,1,.5,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1.5,1,.5,1,1,

1,1,1,1,1,1,.5,1,1,1,1,1,.5,1,1.5,1,.5,1,1,1,

1,1,1,1,1,1,1,1,1,1,1,1,1.5,.125,1,1 };

void setup() {

pinMode(3,OUTPUT);

}

void loop() {

for (i=0; i<sizeof(ode)/2; i++) {

if (ode[i] != 0) tone(3,ode[i]); else noTone(3);

delay(tempo[i] * 500);

noTone(3);

}

noTone(3);

delay(10000);

}

Page 29: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

Variáveis: as variáveis reservam espaço na memória do arduíno para armazenar valores de determinados parâmetros a serem usado na programação do arduíno.

Tipos de dados: as variáveis podem armazenar valores inteiros, fracionários, etc. Para isso, é necessário especificar o tipo de dado que ela irá armazenar. Dependendo do tipo de dado, a variável irá consumir mais ou menos da memória do arduíno.

int: armazena números inteiros de -32.768 a 32.768 (ocupa 2 bytes no arduíno UNO).

long: armazena números inteiros de -2.147.483.648 a 2.147.483.648 (ocupa 2 bytes no arduíno UNO).

float: armazena números fracionários de -3,4028235.10+38 a 3,4028235.10+38 (ocupa 4 bytes no arduíno UNO). Precisão de 6 ou 7 dígitos depois da vírgula.

array: conhecido como vetor unidimensional (vetor) ou multidimensional (matriz).

int vetor [8]; // indica um vetor de 8 posiçõesint matriz [3][3]; // indica matriz de 3 linhas e 3 colunas

PROJETO ALTO FALANTECONHECENDO MAIS RECURSO

Escopo das variáveis: as variáveis podem ser declaradas dentro da função void( ) ou loop( ) – nesse caso serão chamadas de variáveis locais; ou podem ser declaradas antes de void( ), nesse caso será chamada de variável global.

tone(pino, frequencia, duração): função que gera um sinal de onda quadrada com frequencia específica

sizeof(variável): operador que retorna o número de bytes ocupado na memória por uma variável ou array

Page 30: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

PROJETO ALTO FALANTECONHECENDO MAIS RECURSO

Estrutura de repetição “for”: faz o bloco de comandos seja repetido conforme a condição e o incremento especificado. Ela possui três parâmetros: a inicialização da variável de controle, uma condição e um incremento.

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

for (int x = 1; x <= 10; x++)

Exemplos:

Inicializa com x valendo 1

Incremento de 1 unidade na variável x

Repete até o valor de x = 10

for (int x = 2; x <= 100; x+=2)

Inicializa com x valendo 2

Incremento de 2 unidades na variável x

Repete até o valor de x = 100

Page 31: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

PROJETO ALTO FALANTECONHECENDO MAIS RECURSO

Estrutura de seleção “if.....else”: realiza um desvio de fluxo de funcionamento do programa, dependendo da condição especificada ser verdadeira ou falsa.

If (condição) {bloco de comando 1

} else {

bloco de comando 2}

Exemplo:

If (a != 10) {// realiza esse bloco de comando se a diferente de 10

else {// realiza esse bloco de comando se a igual 10

}

Page 32: OFICINA Uso da plataforma Arduinono Ensino de Ciênciaseadcampus.spo.ifsp.edu.br/pluginfile.php/80649/course/section/5708/... · sensor ldr. experimentos com arduÍno no ensino de

ENTENDENDO MELHOR O PROJETO BUZZER

Objetivo da Programação: usando FOR e IF/ELSE tocar as notas ode[ ] em seqüência durante os tempos correspondentes tempo[ ]*500 ms, ou seja:

Toca a primeira nota ode[0] = E por tempo[0]*500 = 500 ms; Toca a segunda nota ode[1] = E por tempo[1]* 500 = 500msetc.

IFCondição: ode[ i ] 0Satisfeita: Toca nota ode[ i ] Não satisfeita: faz pausa

FOR:Realiza a tarefa de i = 0 até i = número máximo de notas - 1 (*)

exemplo esquemático:

(*) Cada ode[ ] ocupa 2 bytes de memória, então:Número máximo de notas = sizeof ( ode[] ) / 2

Lembre que P = 0