Caderno de
Atividades 1
2
1º Experimento
Objetivo: Acender um LED com uma push button.
Funcionamento: Ao se pressionar a push Button o LED deverá acender, e
caso ela seja solta o LED deverá apagar.
Procedimentos:
(1) Monte o circuito no protoboard da maneira que segue abaixo, uma ob-
servação: para essas primeiras aplicações não é necessário fonte externa,
pois o próprio computador
fornece energia ao Arduino,
antes de ligar no computador
verifique todas as ligações no-
vamente;
(2) Com o circuito montado e
verificado conecte o Arduino
na USB do computador, abra o
programa e copie o código
descrito na próxima página:
3
int Pinoled = 13; //led no pino 13
int Botao = 2; //botao no pino 2
int EstadoBotao = 0; //Variável para ler o status do pushbutton
void setup()
{
pinMode(Pinoled, OUTPUT); //Pino do led será saída
pinMode(Botao, INPUT); //Pino com botão será entrada
}
void loop()
{
EstadoBotao = digitalRead(Botao);
/*
novo estado do botão vai ser igual ao que
Arduino ler no pino onde está o botão.
Poderá ser ALTO (HIGH)se o botão estiver
Pressionado, ou BAIXO (LOW),se o botão
estiver solto
*/
if (EstadoBotao == HIGH) //Se botão estiver pressionado (HIGH)
{
digitalWrite(Pinoled, HIGH); // acende o led do pino 13.
}
else //se não estiver pressionado
{
digitalWrite(Pinoled, LOW); //deixa o led do pino 13 apagado
}
}
(3) Verifique se o código não possui erros, caso tudo esteja devidamente
preparado é só pressionar o botão de gravar. É necessário que você siga to-
dos os passos a risca para não correr o risco de danificar a plataforma.
Para pensar...
Através do primeiro experimento pense como seria o programa caso quisés-
semos inverter o estado do LED, ou seja, ele só seria ligado caso a chave não
estivesse pressionada, e caso contrário o LED apagaria.
4
2º Experimento
Objetivo: Controlar 3 LED com 3 botões.
Funcionamento: Iremos seguir o mesmo princípio do experimento anteri-
or, mas agora com 3 LED e 3 push buttons. Cada botão irá acionar um único
LED quando for pressionado, e irá desliga-lo caso contrário.
Procedimentos:
(1) Monte o circuito no protoboard da maneira que segue abaixo, note que
o circuito será praticamente o mesmo, mas com 2 chaves e 2 LED a mais, an-
tes de ligar o Arduino no computador verifique todas as ligações novamen-
te;
5
(2) Com o circuito montado e verificado conecte o Arduino na USB do com-
putador, abra o programa e copie o código descrito abaixo:
int ledPin1 = 13; //Led 1 ligado no pino 13
int ledPin2 = 12 //Led 2 ligado no pino 12
int ledPin3 = 11; //Led 3 ligado no pino 11
int Botao1 = 2; //Botão 1 ligado no pino 2
int Botao2 = 3; //Botão 2 ligado no pino 3
int Botao3 = 4; //Botão 3 ligado no pino 4
int EstadoBotao1 = 0; //Botão 1 desligado
int EstadoBotao2 = 0; //Botão 2 desligado
int EstadoBotao3 = 0; //Botão 3 desligado
void setup(){ //Configurações dos pinos
pinMode(ledPin1, OUTPUT); //pino do Led 1 configurado como saída
pinMode(Botao1, INPUT); //pino do botão 1 configurado como entrada
pinMode(ledPin2, OUTPUT); //pino do led 2 configurado como saída
pinMode(Botao2, INPUT); //pino do botão 2 configurado como entrada
pinMode(ledPin3, OUTPUT); //pino do led 3 configurado como saída
pinMode(Botao3, INPUT); //pino do botão 3 configurado como entrada
}
void loop(){
EstadoBotao1 = digitalRead(Botao1); // Lê o estado do botão 1
EstadoBotao2 = digitalRead(Botao2); // Lê o estado do botão 2
EstadoBotao3 = digitalRead(Botao3); // Lê o estado do botão 3
if (EstadoBotao1 == HIGH){ //Se o botão 1 está pressionado
digitalWrite(ledPin1, HIGH); //acende o led 1
}
else{ //Se não
digitalWrite(ledPin1, LOW); //apaga o led 1
}
if (EstadoBotao2 == HIGH){ //Se o botão 2 está pressionado
digitalWrite(ledPin2, HIGH); //acende led 2
}
else{ //Se não
digitalWrite(ledPin2, LOW); //apaga o led 2
}
if (EstadoBotao3 == HIGH){ //Se o botão 3 está pressionado
digitalWrite(ledPin3, HIGH); //acende o led 3
}
else{ //Se não
digitalWrite(ledPin3, LOW); //apaga led 3
}
}
6
(3) Verifique se o código não possui erros, caso tudo esteja devidamente
preparado é só pressionar o botão de gravar. É necessário que você siga to-
dos os passos a risca para não correr o risco de danificar a plataforma. Note
que neste experimento o programa apesar de parecer mais complexo nada
mais é do que uma ampliação do primeiro.
Para pensar...
Com base no experimento 2 altere o código para que a primeira chave, da
esquerda para a direita, acenda o LED verde, a segunda o LED amarelo, e o
LED vermelho só poderá ser aceso com o segundo e o terceiro botão pres-
sionados ao mesmo tempo.
Exercitando o conhecimento
Com o conhecimento adquirido nesse encontro elabore a so-
lução para os seguintes problemas:
1 – Com base no experimento 2, altere o código de programação,
para que sejam trocados de lugar os pinos onde estão conectados
os LED - troque para os pinos 8, 9, e 10) e as chaves - para os pinos
5, 6, 7.
2 - Você tem 4 botões e 4 LED, sendo que cada botão será responsá-
vel por acender uma quantidade especifica de LED simultanea-
mente, sendo o 1º botão responsável por acender o primeiro LED,
o segundo botão responsável por acender os 2 primeiros LED, o
terceiro botão responsável por acender os 3 primeiros LED, e o últi-
mo que irá acender todos os LED. Implemente o código desse pro-
grama.
7
3º Experimento
Objetivo: Controlar 1 Led com um botão, utilizando a estrutura “while” .
Funcionamento: Enquanto uma chave “push button” estiver pressionada o
led se manterá aceso.
Procedimentos:
(1) Monte o circuito no protoboard da maneira que segue abaixo, note que
o circuito será o mesmo do primeiro experimento, e o funcionamento tam-
bém, com a diferença que será utilizada a estrutura “while” em vez do “if”,
antes de ligar o Arduino no computador verifique todas as ligações nova-
mente:
8
(2) Com o circuito montado e verificado conecte o Arduino na USB do com-
putador, abra o programa e copie o código descrito abaixo:
(3) É importante observar nesse experimento que, para podermos sair da
condição “while”, é necessário alterar o valor da variável EstadoBotao den-
tro do próprio “while”, pois caso contrário ele ficará em uma volta eterna.
int Pinoled = 13; //led no pino 13
int Botao = 2; //botao no pino 2
int EstadoBotao = 0; //Variável para ler o status do pushbutton
void setup()
{
pinMode(Pinoled, OUTPUT); //Pino do led será saída
pinMode(Botao, INPUT); //Pino com botão será entrada
}
void loop()
{
EstadoBotao = digitalRead(Botao);
while(EstadoBotao==HIGH)
{
digitalWrite(Pinoled, HIGH);
EstadoBotao = digitalRead(Botao);
}
digitalWrite(Pinoled,LOW);
}
9
4º Experimento
Objetivo: Controlar uma sequência de leds com um botão, utilizando a es-
trutura “while”.
Funcionamento: Enquanto uma chave “push button” estiver pressionada
um conjunto de 5 leds irá se acender sequencialmente, e permanecerá acesa
enquanto o botão se mantiver pressionado, caso contrário todos os leds se
apagam.
Procedimentos:
(1) Monte o circuito
no protoboard da ma-
neira que segue abai-
xo, e na programação
iremos utilizar a fun-
ção “delay();” que ser-
ve para gerar uma
pausa no programa, fa-
remos isso para po-
dermos visualizar os
led se acendendo pau-
sadamente, antes de
ligar o Arduino no
computador verifique
todas as ligações nova-
mente:
10
int l5 = 13;
int l4 = 12;
int l3 = 11;
int l2 = 10;
int l1 = 9;
int Botao = 2; //botao no pino 2
int EstadoBotao = 0; //Variável para ler o status do pushbutton
void setup(){
pinMode(l1, OUTPUT); //Pino do led será saída
pinMode(l2, OUTPUT); //Pino do led será saída
pinMode(l3, OUTPUT); //Pino do led será saída
pinMode(l4, OUTPUT); //Pino do led será saída
pinMode(l5, OUTPUT); //Pino do led será saída
pinMode(Botao, INPUT); //Pino com botão será entrada
}
void loop()
{
EstadoBotao = digitalRead(Botao);
while(EstadoBotao==HIGH)
{
digitalWrite(l1, HIGH);
delay(100);
digitalWrite(l2, HIGH);
delay(100);
digitalWrite(l3, HIGH);
delay(100);
digitalWrite(l4, HIGH);
delay(100);
digitalWrite(l5, HIGH);
delay(100);
EstadoBotao = digitalRead(Botao);
}
digitalWrite(l1,LOW);
digitalWrite(l2,LOW);
digitalWrite(l3,LOW);
digitalWrite(l4,LOW);
digitalWrite(l5,LOW);
}
11
(3) Novamente fizemos a leitura do estado do botão dentro do “while”, para
podermos sair dessa estrutura quando o botão for solto.
Para pensar...
Dessa vez altere o código para que o led anterior apague quando o led se-
guinte acender, e quando chegar no último led ele retorna ao primeiro repe-
tindo a sequência.
12
5º Experimento
Objetivo: Controlar uma sequência de leds com um botão, utilizando a es-
trutura “while” e “for”.
Funcionamento: O circuito será o mesmo anterior e o funcionamento tam-
bém, enquanto uma chave “push button” estiver pressionada um conjunto
de 5 leds irá se acender sequencialmente, e permanecerá acesa enquanto o
botão se mantiver pressionado, caso contrário todos os leds se apagam. A
diferença agora é que iremos utilizar a estrutura “for”, a qual deixará o pro-
grama mais curto.
Procedimentos:
(1) Monte o circuito no
protoboard da maneira
que segue abaixo, e na
programação iremos u-
tilizar a função “delay
();” que serve para ge-
rar uma pausa no pro-
grama, faremos isso pa-
ra podermos visualizar
os led se acendendo
pausadamente, antes de
ligar o Arduino no com-
putador verifique todas
as ligações novamente:
13
int l5 = 13;
int l4 = 12;
int l3 = 11;
int l2 = 10;
int l1 = 9;
int Botao = 2; //botao no pino 2
int EstadoBotao = 0; //Variável para ler o status do pushbutton
int led;
void setup()
{
pinMode(l1, OUTPUT); //Pino do led será saída
pinMode(l2, OUTPUT); //Pino do led será saída
pinMode(l3, OUTPUT); //Pino do led será saída
pinMode(l4, OUTPUT); //Pino do led será saída
pinMode(l5, OUTPUT); //Pino do led será saída
pinMode(Botao, INPUT); //Pino com botão será entrada
}
void loop()
{
EstadoBotao = digitalRead(Botao);
while(EstadoBotao==HIGH)
{
for(led=9; led<=13;led++){
digitalWrite(led, HIGH);
delay(100);
}
EstadoBotao = digitalRead(Botao);
}
for(led=9;led<=13;led++)
{
digitalWrite(led, LOW);
}
}
14
(3) Repare que nosso programa diminuiu consideravelmente seu tamanho,
isso devido a nova estrutura “for”, que nos permite repetir a mesma ação di-
versas vezes, sem que precisemos reescrever tudo.
Para pensar...
Aumente seu circuito para 10 leds, e controle-os da mesma forma, mas ago-
ra acionando-os com 2 botões em vez de um, ou seja, a sequencia só será a-
cionada quando 2 botões estiverem pressionados ao mesmo tempo.
15
6º Experimento
Objetivo: Acionar um buzzer variando seu som emitido, através da estrutu-
ra “for”.
Funcionamento: Uma variável chamada tom irá iniciar em zero, sendo ela
a responsável por definir a frequência do buzzer, e irá sendo incrementada
ao longo do tempo, alterando o som do mesmo.
16
int Buzzer = 9;
int x=10;
int tom = 0;
void setup()
{
pinMode(Buzzer, OUTPUT);
}
void loop()
{
for(tom=0; tom<=1000;tom++){
digitalWrite(Buzzer, HIGH); // Liga buzzer
delayMicroseconds(tom); // Espera o tempo proporcional ao comprimento de
onda da nota musical em microsegundos
digitalWrite(Buzzer, LOW); // Desliga buzzer
delayMicroseconds(tom); // Espera o tempo proporcional ao comprimento de
onda da nota musical em microsegundos
if(tom==1000)
{
tom=0;
}
}
}
17
(3) Note que dentro do for é utilizado um “if” para verificar quando a variá-
vel tom chega no seu máximo, quando isso ocorre ela é reiniciada e volta a
zero, colocando a frequência do buzzer em seu máximo.
Para pensar...
Altere o código acima para reproduzir o som do buzzer ao contrário come-
çando com a frequência mínima, em vez de máxima como era o anterior, di-
ca: a variável tom deve ser tratada de maneira diferente.
18
Oficinas Tecnológicas para
alunos do Ensino Médio
Prof. Dr. Leonardo Mesquita
mesquita@feg.unesp.br
Coordenador do Projeto
Prof. Dr. Galeno José de Sena
gsena@feg.unesp.br
Prof. Dr. Marco Aurélio Alvarenga Monteiro
marco.aurelio@feg.unesp.br
Prof. José Marcelo de A. Wendling Jr.
jmarcelo@feg.unesp.br
Felipe Barbosa da Silva
Ismael de Almeida Júnior
Letícia Miranda de França Mota
Renan Moura Santana
Samuel José de Carvalho

Caderno de-atividades-1-3-versaofinal.compressed

  • 1.
  • 2.
    2 1º Experimento Objetivo: Acenderum LED com uma push button. Funcionamento: Ao se pressionar a push Button o LED deverá acender, e caso ela seja solta o LED deverá apagar. Procedimentos: (1) Monte o circuito no protoboard da maneira que segue abaixo, uma ob- servação: para essas primeiras aplicações não é necessário fonte externa, pois o próprio computador fornece energia ao Arduino, antes de ligar no computador verifique todas as ligações no- vamente; (2) Com o circuito montado e verificado conecte o Arduino na USB do computador, abra o programa e copie o código descrito na próxima página:
  • 3.
    3 int Pinoled =13; //led no pino 13 int Botao = 2; //botao no pino 2 int EstadoBotao = 0; //Variável para ler o status do pushbutton void setup() { pinMode(Pinoled, OUTPUT); //Pino do led será saída pinMode(Botao, INPUT); //Pino com botão será entrada } void loop() { EstadoBotao = digitalRead(Botao); /* novo estado do botão vai ser igual ao que Arduino ler no pino onde está o botão. Poderá ser ALTO (HIGH)se o botão estiver Pressionado, ou BAIXO (LOW),se o botão estiver solto */ if (EstadoBotao == HIGH) //Se botão estiver pressionado (HIGH) { digitalWrite(Pinoled, HIGH); // acende o led do pino 13. } else //se não estiver pressionado { digitalWrite(Pinoled, LOW); //deixa o led do pino 13 apagado } } (3) Verifique se o código não possui erros, caso tudo esteja devidamente preparado é só pressionar o botão de gravar. É necessário que você siga to- dos os passos a risca para não correr o risco de danificar a plataforma. Para pensar... Através do primeiro experimento pense como seria o programa caso quisés- semos inverter o estado do LED, ou seja, ele só seria ligado caso a chave não estivesse pressionada, e caso contrário o LED apagaria.
  • 4.
    4 2º Experimento Objetivo: Controlar3 LED com 3 botões. Funcionamento: Iremos seguir o mesmo princípio do experimento anteri- or, mas agora com 3 LED e 3 push buttons. Cada botão irá acionar um único LED quando for pressionado, e irá desliga-lo caso contrário. Procedimentos: (1) Monte o circuito no protoboard da maneira que segue abaixo, note que o circuito será praticamente o mesmo, mas com 2 chaves e 2 LED a mais, an- tes de ligar o Arduino no computador verifique todas as ligações novamen- te;
  • 5.
    5 (2) Com ocircuito montado e verificado conecte o Arduino na USB do com- putador, abra o programa e copie o código descrito abaixo: int ledPin1 = 13; //Led 1 ligado no pino 13 int ledPin2 = 12 //Led 2 ligado no pino 12 int ledPin3 = 11; //Led 3 ligado no pino 11 int Botao1 = 2; //Botão 1 ligado no pino 2 int Botao2 = 3; //Botão 2 ligado no pino 3 int Botao3 = 4; //Botão 3 ligado no pino 4 int EstadoBotao1 = 0; //Botão 1 desligado int EstadoBotao2 = 0; //Botão 2 desligado int EstadoBotao3 = 0; //Botão 3 desligado void setup(){ //Configurações dos pinos pinMode(ledPin1, OUTPUT); //pino do Led 1 configurado como saída pinMode(Botao1, INPUT); //pino do botão 1 configurado como entrada pinMode(ledPin2, OUTPUT); //pino do led 2 configurado como saída pinMode(Botao2, INPUT); //pino do botão 2 configurado como entrada pinMode(ledPin3, OUTPUT); //pino do led 3 configurado como saída pinMode(Botao3, INPUT); //pino do botão 3 configurado como entrada } void loop(){ EstadoBotao1 = digitalRead(Botao1); // Lê o estado do botão 1 EstadoBotao2 = digitalRead(Botao2); // Lê o estado do botão 2 EstadoBotao3 = digitalRead(Botao3); // Lê o estado do botão 3 if (EstadoBotao1 == HIGH){ //Se o botão 1 está pressionado digitalWrite(ledPin1, HIGH); //acende o led 1 } else{ //Se não digitalWrite(ledPin1, LOW); //apaga o led 1 } if (EstadoBotao2 == HIGH){ //Se o botão 2 está pressionado digitalWrite(ledPin2, HIGH); //acende led 2 } else{ //Se não digitalWrite(ledPin2, LOW); //apaga o led 2 } if (EstadoBotao3 == HIGH){ //Se o botão 3 está pressionado digitalWrite(ledPin3, HIGH); //acende o led 3 } else{ //Se não digitalWrite(ledPin3, LOW); //apaga led 3 } }
  • 6.
    6 (3) Verifique seo código não possui erros, caso tudo esteja devidamente preparado é só pressionar o botão de gravar. É necessário que você siga to- dos os passos a risca para não correr o risco de danificar a plataforma. Note que neste experimento o programa apesar de parecer mais complexo nada mais é do que uma ampliação do primeiro. Para pensar... Com base no experimento 2 altere o código para que a primeira chave, da esquerda para a direita, acenda o LED verde, a segunda o LED amarelo, e o LED vermelho só poderá ser aceso com o segundo e o terceiro botão pres- sionados ao mesmo tempo. Exercitando o conhecimento Com o conhecimento adquirido nesse encontro elabore a so- lução para os seguintes problemas: 1 – Com base no experimento 2, altere o código de programação, para que sejam trocados de lugar os pinos onde estão conectados os LED - troque para os pinos 8, 9, e 10) e as chaves - para os pinos 5, 6, 7. 2 - Você tem 4 botões e 4 LED, sendo que cada botão será responsá- vel por acender uma quantidade especifica de LED simultanea- mente, sendo o 1º botão responsável por acender o primeiro LED, o segundo botão responsável por acender os 2 primeiros LED, o terceiro botão responsável por acender os 3 primeiros LED, e o últi- mo que irá acender todos os LED. Implemente o código desse pro- grama.
  • 7.
    7 3º Experimento Objetivo: Controlar1 Led com um botão, utilizando a estrutura “while” . Funcionamento: Enquanto uma chave “push button” estiver pressionada o led se manterá aceso. Procedimentos: (1) Monte o circuito no protoboard da maneira que segue abaixo, note que o circuito será o mesmo do primeiro experimento, e o funcionamento tam- bém, com a diferença que será utilizada a estrutura “while” em vez do “if”, antes de ligar o Arduino no computador verifique todas as ligações nova- mente:
  • 8.
    8 (2) Com ocircuito montado e verificado conecte o Arduino na USB do com- putador, abra o programa e copie o código descrito abaixo: (3) É importante observar nesse experimento que, para podermos sair da condição “while”, é necessário alterar o valor da variável EstadoBotao den- tro do próprio “while”, pois caso contrário ele ficará em uma volta eterna. int Pinoled = 13; //led no pino 13 int Botao = 2; //botao no pino 2 int EstadoBotao = 0; //Variável para ler o status do pushbutton void setup() { pinMode(Pinoled, OUTPUT); //Pino do led será saída pinMode(Botao, INPUT); //Pino com botão será entrada } void loop() { EstadoBotao = digitalRead(Botao); while(EstadoBotao==HIGH) { digitalWrite(Pinoled, HIGH); EstadoBotao = digitalRead(Botao); } digitalWrite(Pinoled,LOW); }
  • 9.
    9 4º Experimento Objetivo: Controlaruma sequência de leds com um botão, utilizando a es- trutura “while”. Funcionamento: Enquanto uma chave “push button” estiver pressionada um conjunto de 5 leds irá se acender sequencialmente, e permanecerá acesa enquanto o botão se mantiver pressionado, caso contrário todos os leds se apagam. Procedimentos: (1) Monte o circuito no protoboard da ma- neira que segue abai- xo, e na programação iremos utilizar a fun- ção “delay();” que ser- ve para gerar uma pausa no programa, fa- remos isso para po- dermos visualizar os led se acendendo pau- sadamente, antes de ligar o Arduino no computador verifique todas as ligações nova- mente:
  • 10.
    10 int l5 =13; int l4 = 12; int l3 = 11; int l2 = 10; int l1 = 9; int Botao = 2; //botao no pino 2 int EstadoBotao = 0; //Variável para ler o status do pushbutton void setup(){ pinMode(l1, OUTPUT); //Pino do led será saída pinMode(l2, OUTPUT); //Pino do led será saída pinMode(l3, OUTPUT); //Pino do led será saída pinMode(l4, OUTPUT); //Pino do led será saída pinMode(l5, OUTPUT); //Pino do led será saída pinMode(Botao, INPUT); //Pino com botão será entrada } void loop() { EstadoBotao = digitalRead(Botao); while(EstadoBotao==HIGH) { digitalWrite(l1, HIGH); delay(100); digitalWrite(l2, HIGH); delay(100); digitalWrite(l3, HIGH); delay(100); digitalWrite(l4, HIGH); delay(100); digitalWrite(l5, HIGH); delay(100); EstadoBotao = digitalRead(Botao); } digitalWrite(l1,LOW); digitalWrite(l2,LOW); digitalWrite(l3,LOW); digitalWrite(l4,LOW); digitalWrite(l5,LOW); }
  • 11.
    11 (3) Novamente fizemosa leitura do estado do botão dentro do “while”, para podermos sair dessa estrutura quando o botão for solto. Para pensar... Dessa vez altere o código para que o led anterior apague quando o led se- guinte acender, e quando chegar no último led ele retorna ao primeiro repe- tindo a sequência.
  • 12.
    12 5º Experimento Objetivo: Controlaruma sequência de leds com um botão, utilizando a es- trutura “while” e “for”. Funcionamento: O circuito será o mesmo anterior e o funcionamento tam- bém, enquanto uma chave “push button” estiver pressionada um conjunto de 5 leds irá se acender sequencialmente, e permanecerá acesa enquanto o botão se mantiver pressionado, caso contrário todos os leds se apagam. A diferença agora é que iremos utilizar a estrutura “for”, a qual deixará o pro- grama mais curto. Procedimentos: (1) Monte o circuito no protoboard da maneira que segue abaixo, e na programação iremos u- tilizar a função “delay ();” que serve para ge- rar uma pausa no pro- grama, faremos isso pa- ra podermos visualizar os led se acendendo pausadamente, antes de ligar o Arduino no com- putador verifique todas as ligações novamente:
  • 13.
    13 int l5 =13; int l4 = 12; int l3 = 11; int l2 = 10; int l1 = 9; int Botao = 2; //botao no pino 2 int EstadoBotao = 0; //Variável para ler o status do pushbutton int led; void setup() { pinMode(l1, OUTPUT); //Pino do led será saída pinMode(l2, OUTPUT); //Pino do led será saída pinMode(l3, OUTPUT); //Pino do led será saída pinMode(l4, OUTPUT); //Pino do led será saída pinMode(l5, OUTPUT); //Pino do led será saída pinMode(Botao, INPUT); //Pino com botão será entrada } void loop() { EstadoBotao = digitalRead(Botao); while(EstadoBotao==HIGH) { for(led=9; led<=13;led++){ digitalWrite(led, HIGH); delay(100); } EstadoBotao = digitalRead(Botao); } for(led=9;led<=13;led++) { digitalWrite(led, LOW); } }
  • 14.
    14 (3) Repare quenosso programa diminuiu consideravelmente seu tamanho, isso devido a nova estrutura “for”, que nos permite repetir a mesma ação di- versas vezes, sem que precisemos reescrever tudo. Para pensar... Aumente seu circuito para 10 leds, e controle-os da mesma forma, mas ago- ra acionando-os com 2 botões em vez de um, ou seja, a sequencia só será a- cionada quando 2 botões estiverem pressionados ao mesmo tempo.
  • 15.
    15 6º Experimento Objetivo: Acionarum buzzer variando seu som emitido, através da estrutu- ra “for”. Funcionamento: Uma variável chamada tom irá iniciar em zero, sendo ela a responsável por definir a frequência do buzzer, e irá sendo incrementada ao longo do tempo, alterando o som do mesmo.
  • 16.
    16 int Buzzer =9; int x=10; int tom = 0; void setup() { pinMode(Buzzer, OUTPUT); } void loop() { for(tom=0; tom<=1000;tom++){ digitalWrite(Buzzer, HIGH); // Liga buzzer delayMicroseconds(tom); // Espera o tempo proporcional ao comprimento de onda da nota musical em microsegundos digitalWrite(Buzzer, LOW); // Desliga buzzer delayMicroseconds(tom); // Espera o tempo proporcional ao comprimento de onda da nota musical em microsegundos if(tom==1000) { tom=0; } } }
  • 17.
    17 (3) Note quedentro do for é utilizado um “if” para verificar quando a variá- vel tom chega no seu máximo, quando isso ocorre ela é reiniciada e volta a zero, colocando a frequência do buzzer em seu máximo. Para pensar... Altere o código acima para reproduzir o som do buzzer ao contrário come- çando com a frequência mínima, em vez de máxima como era o anterior, di- ca: a variável tom deve ser tratada de maneira diferente.
  • 18.
    18 Oficinas Tecnológicas para alunosdo Ensino Médio Prof. Dr. Leonardo Mesquita mesquita@feg.unesp.br Coordenador do Projeto Prof. Dr. Galeno José de Sena gsena@feg.unesp.br Prof. Dr. Marco Aurélio Alvarenga Monteiro marco.aurelio@feg.unesp.br Prof. José Marcelo de A. Wendling Jr. jmarcelo@feg.unesp.br Felipe Barbosa da Silva Ismael de Almeida Júnior Letícia Miranda de França Mota Renan Moura Santana Samuel José de Carvalho