SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Manual controlador digital sinergia
Manual controlador digital sinergiaManual controlador digital sinergia
Manual controlador digital sinergia
worldpiscinas
 
Manual controlador digital absoluto
Manual controlador digital absolutoManual controlador digital absoluto
Manual controlador digital absoluto
worldpiscinas
 
Brisa 4 8-plus-v3-port
Brisa 4 8-plus-v3-portBrisa 4 8-plus-v3-port
Brisa 4 8-plus-v3-port
Tiago Souza Rodrigues
 
Manual de programação introdutória
Manual de programação introdutóriaManual de programação introdutória
Manual de programação introdutória
Célio Sousa
 
Manual do Controle duplicador tx copy 433,92 mhz
Manual do Controle duplicador tx copy 433,92 mhzManual do Controle duplicador tx copy 433,92 mhz
Manual do Controle duplicador tx copy 433,92 mhz
Luiz Avelar
 
Tudo sobre placa de portão Garen G1 ou Unisystem
Tudo sobre placa de portão Garen G1 ou Unisystem Tudo sobre placa de portão Garen G1 ou Unisystem
Tudo sobre placa de portão Garen G1 ou Unisystem
Luiz Avelar
 
Manual de utilização ydm 3212
Manual de utilização ydm 3212Manual de utilização ydm 3212
Manual de utilização ydm 3212
Metalferco Comércio de Ferragens
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINO
Chellton Almeida
 
Manual Portao Basculante Garen G1
Manual Portao Basculante Garen G1Manual Portao Basculante Garen G1
Manual Portao Basculante Garen G1
Heliton Costa
 
150434001 r3 1 1 manual alarme l2004-cs e exact plus
150434001 r3 1 1 manual alarme l2004-cs e exact plus150434001 r3 1 1 manual alarme l2004-cs e exact plus
150434001 r3 1 1 manual alarme l2004-cs e exact plus
Glaudson Filho
 
Manual do controlador NOVATION DICER
Manual do controlador NOVATION DICERManual do controlador NOVATION DICER
Manual do controlador NOVATION DICER
Habro Group
 
Manual positron1
Manual positron1Manual positron1
Manual positron1
Leandro Concatto
 
Manual do piano digital FENIX DP70
Manual do piano digital FENIX DP70Manual do piano digital FENIX DP70
Manual do piano digital FENIX DP70
Habro Group
 
Manual fittipaldi
Manual fittipaldiManual fittipaldi
Manual fittipaldi
Senac
 
Alarme microcontrol
Alarme   microcontrolAlarme   microcontrol
Alarme microcontrol
Jori de Pinho
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
PotiLivre Sobrenome
 
Manual da Pedaleira LINE 6 AMPLIFi FX100
Manual da Pedaleira LINE 6 AMPLIFi FX100Manual da Pedaleira LINE 6 AMPLIFi FX100
Manual da Pedaleira LINE 6 AMPLIFi FX100
Habro Group
 
Manual dos Amplificadores LINE 6 AMPLIFi 75 e AMPLIFi 150
Manual dos Amplificadores LINE 6 AMPLIFi 75 e AMPLIFi 150Manual dos Amplificadores LINE 6 AMPLIFi 75 e AMPLIFi 150
Manual dos Amplificadores LINE 6 AMPLIFi 75 e AMPLIFi 150
Habro Group
 
Manual da linha de controladores NOVATION LAAUNCH KEY MKII
Manual da linha de controladores NOVATION LAAUNCH KEY MKIIManual da linha de controladores NOVATION LAAUNCH KEY MKII
Manual da linha de controladores NOVATION LAAUNCH KEY MKII
Habro Group
 
Manual do Órgão Eletrônico Ringway RS 400H (PORTUGUÊS)
Manual do Órgão Eletrônico Ringway RS 400H (PORTUGUÊS)Manual do Órgão Eletrônico Ringway RS 400H (PORTUGUÊS)
Manual do Órgão Eletrônico Ringway RS 400H (PORTUGUÊS)
Habro Group
 

Mais procurados (20)

Manual controlador digital sinergia
Manual controlador digital sinergiaManual controlador digital sinergia
Manual controlador digital sinergia
 
Manual controlador digital absoluto
Manual controlador digital absolutoManual controlador digital absoluto
Manual controlador digital absoluto
 
Brisa 4 8-plus-v3-port
Brisa 4 8-plus-v3-portBrisa 4 8-plus-v3-port
Brisa 4 8-plus-v3-port
 
Manual de programação introdutória
Manual de programação introdutóriaManual de programação introdutória
Manual de programação introdutória
 
Manual do Controle duplicador tx copy 433,92 mhz
Manual do Controle duplicador tx copy 433,92 mhzManual do Controle duplicador tx copy 433,92 mhz
Manual do Controle duplicador tx copy 433,92 mhz
 
Tudo sobre placa de portão Garen G1 ou Unisystem
Tudo sobre placa de portão Garen G1 ou Unisystem Tudo sobre placa de portão Garen G1 ou Unisystem
Tudo sobre placa de portão Garen G1 ou Unisystem
 
Manual de utilização ydm 3212
Manual de utilização ydm 3212Manual de utilização ydm 3212
Manual de utilização ydm 3212
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINO
 
Manual Portao Basculante Garen G1
Manual Portao Basculante Garen G1Manual Portao Basculante Garen G1
Manual Portao Basculante Garen G1
 
150434001 r3 1 1 manual alarme l2004-cs e exact plus
150434001 r3 1 1 manual alarme l2004-cs e exact plus150434001 r3 1 1 manual alarme l2004-cs e exact plus
150434001 r3 1 1 manual alarme l2004-cs e exact plus
 
Manual do controlador NOVATION DICER
Manual do controlador NOVATION DICERManual do controlador NOVATION DICER
Manual do controlador NOVATION DICER
 
Manual positron1
Manual positron1Manual positron1
Manual positron1
 
Manual do piano digital FENIX DP70
Manual do piano digital FENIX DP70Manual do piano digital FENIX DP70
Manual do piano digital FENIX DP70
 
Manual fittipaldi
Manual fittipaldiManual fittipaldi
Manual fittipaldi
 
Alarme microcontrol
Alarme   microcontrolAlarme   microcontrol
Alarme microcontrol
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
 
Manual da Pedaleira LINE 6 AMPLIFi FX100
Manual da Pedaleira LINE 6 AMPLIFi FX100Manual da Pedaleira LINE 6 AMPLIFi FX100
Manual da Pedaleira LINE 6 AMPLIFi FX100
 
Manual dos Amplificadores LINE 6 AMPLIFi 75 e AMPLIFi 150
Manual dos Amplificadores LINE 6 AMPLIFi 75 e AMPLIFi 150Manual dos Amplificadores LINE 6 AMPLIFi 75 e AMPLIFi 150
Manual dos Amplificadores LINE 6 AMPLIFi 75 e AMPLIFi 150
 
Manual da linha de controladores NOVATION LAAUNCH KEY MKII
Manual da linha de controladores NOVATION LAAUNCH KEY MKIIManual da linha de controladores NOVATION LAAUNCH KEY MKII
Manual da linha de controladores NOVATION LAAUNCH KEY MKII
 
Manual do Órgão Eletrônico Ringway RS 400H (PORTUGUÊS)
Manual do Órgão Eletrônico Ringway RS 400H (PORTUGUÊS)Manual do Órgão Eletrônico Ringway RS 400H (PORTUGUÊS)
Manual do Órgão Eletrônico Ringway RS 400H (PORTUGUÊS)
 

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

Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Saymon Cristian Alves Oliveira
 
Slide 5 - PROJETOS.pptx
Slide 5 - PROJETOS.pptxSlide 5 - PROJETOS.pptx
Slide 5 - PROJETOS.pptx
FERNANDOPESSOAOLIVEI
 
Ufes erus minicurso arduino
Ufes erus minicurso arduinoUfes erus minicurso arduino
Ufes erus minicurso arduino
tamarasalvatori
 
Erus minicurso arduino
Erus minicurso arduinoErus minicurso arduino
Erus minicurso arduino
Douglas Leandro Gross de Souza
 
Arduino
ArduinoArduino
Arduino
Marcus Costa
 
Desafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - JoinvilleDesafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - Joinville
Natã Barbosa
 
Clp exercicio
Clp  exercicioClp  exercicio
Arduino - iniciação à linguagem C (entradas e saídas digitais)
Arduino - iniciação à linguagem C (entradas e saídas digitais)Arduino - iniciação à linguagem C (entradas e saídas digitais)
Arduino - iniciação à linguagem C (entradas e saídas digitais)
Ana Carneirinho
 
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoArduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Fernando Passold
 
ATmega Prática
ATmega PráticaATmega Prática
ATmega Prática
josiane2605
 
Arduino
ArduinoArduino
3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino
Centro Universitário Católica de Quixadá
 
Sistemas Digitais - Aula 06 - Como programar o Arduino
Sistemas Digitais - Aula 06 - Como programar o ArduinoSistemas Digitais - Aula 06 - Como programar o Arduino
Sistemas Digitais - Aula 06 - Como programar o Arduino
Suzana Viana Mota
 
Material Auxiliar Para Curso BáSico Msp430 55 A 98
Material Auxiliar Para Curso BáSico Msp430   55 A 98Material Auxiliar Para Curso BáSico Msp430   55 A 98
Material Auxiliar Para Curso BáSico Msp430 55 A 98
Texas Instruments
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity Board
Fabio Souza
 
Introdução ao Arduino/Genuino
Introdução ao Arduino/GenuinoIntrodução ao Arduino/Genuino
Introdução ao Arduino/Genuino
João Sá
 
Roteiro de prática utilizando kit arduíno
Roteiro de prática utilizando kit arduínoRoteiro de prática utilizando kit arduíno
Roteiro de prática utilizando kit arduíno
RafaelRocha658505
 
EV3#4: Exercicios com o sensor de toque
EV3#4: Exercicios com o sensor de toqueEV3#4: Exercicios com o sensor de toque
EV3#4: Exercicios com o sensor de toque
Ana Carneirinho
 
Manual-de-Instrucoes-Z31Y_r0.pdf
Manual-de-Instrucoes-Z31Y_r0.pdfManual-de-Instrucoes-Z31Y_r0.pdf
Manual-de-Instrucoes-Z31Y_r0.pdf
DanielMdena
 
Manual de programação placa ppa prog.pdf
Manual de programação placa ppa prog.pdfManual de programação placa ppa prog.pdf
Manual de programação placa ppa prog.pdf
Erivan Costa
 

Semelhante a Caderno de-atividades-1-3-versaofinal.compressed (20)

Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
 
Slide 5 - PROJETOS.pptx
Slide 5 - PROJETOS.pptxSlide 5 - PROJETOS.pptx
Slide 5 - PROJETOS.pptx
 
Ufes erus minicurso arduino
Ufes erus minicurso arduinoUfes erus minicurso arduino
Ufes erus minicurso arduino
 
Erus minicurso arduino
Erus minicurso arduinoErus minicurso arduino
Erus minicurso arduino
 
Arduino
ArduinoArduino
Arduino
 
Desafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - JoinvilleDesafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - Joinville
 
Clp exercicio
Clp  exercicioClp  exercicio
Clp exercicio
 
Arduino - iniciação à linguagem C (entradas e saídas digitais)
Arduino - iniciação à linguagem C (entradas e saídas digitais)Arduino - iniciação à linguagem C (entradas e saídas digitais)
Arduino - iniciação à linguagem C (entradas e saídas digitais)
 
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoArduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
 
ATmega Prática
ATmega PráticaATmega Prática
ATmega Prática
 
Arduino
ArduinoArduino
Arduino
 
3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino
 
Sistemas Digitais - Aula 06 - Como programar o Arduino
Sistemas Digitais - Aula 06 - Como programar o ArduinoSistemas Digitais - Aula 06 - Como programar o Arduino
Sistemas Digitais - Aula 06 - Como programar o Arduino
 
Material Auxiliar Para Curso BáSico Msp430 55 A 98
Material Auxiliar Para Curso BáSico Msp430   55 A 98Material Auxiliar Para Curso BáSico Msp430   55 A 98
Material Auxiliar Para Curso BáSico Msp430 55 A 98
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity Board
 
Introdução ao Arduino/Genuino
Introdução ao Arduino/GenuinoIntrodução ao Arduino/Genuino
Introdução ao Arduino/Genuino
 
Roteiro de prática utilizando kit arduíno
Roteiro de prática utilizando kit arduínoRoteiro de prática utilizando kit arduíno
Roteiro de prática utilizando kit arduíno
 
EV3#4: Exercicios com o sensor de toque
EV3#4: Exercicios com o sensor de toqueEV3#4: Exercicios com o sensor de toque
EV3#4: Exercicios com o sensor de toque
 
Manual-de-Instrucoes-Z31Y_r0.pdf
Manual-de-Instrucoes-Z31Y_r0.pdfManual-de-Instrucoes-Z31Y_r0.pdf
Manual-de-Instrucoes-Z31Y_r0.pdf
 
Manual de programação placa ppa prog.pdf
Manual de programação placa ppa prog.pdfManual de programação placa ppa prog.pdf
Manual de programação placa ppa prog.pdf
 

Último

AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL EMPREENDEDORISMO CORPORATIVO UNICES...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL EMPREENDEDORISMO CORPORATIVO UNICES...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL EMPREENDEDORISMO CORPORATIVO UNICES...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL EMPREENDEDORISMO CORPORATIVO UNICES...
Consultoria Acadêmica
 
Apresentação concreto autodesempenho 123
Apresentação concreto autodesempenho 123Apresentação concreto autodesempenho 123
Apresentação concreto autodesempenho 123
GabrielGarcia356832
 
Elementos de Máquina aplicados na tornearia mecânica.ppt
Elementos de Máquina aplicados na tornearia mecânica.pptElementos de Máquina aplicados na tornearia mecânica.ppt
Elementos de Máquina aplicados na tornearia mecânica.ppt
Wagner Moraes
 
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
Consultoria Acadêmica
 
ÁREAS DE ATUAÇÃO DO ENGENHEIRO CIVIL.pdf
ÁREAS DE ATUAÇÃO DO ENGENHEIRO CIVIL.pdfÁREAS DE ATUAÇÃO DO ENGENHEIRO CIVIL.pdf
ÁREAS DE ATUAÇÃO DO ENGENHEIRO CIVIL.pdf
RoemirPeres
 
Dimensionamento de eixo. estudo de caso.pdf
Dimensionamento de eixo. estudo de caso.pdfDimensionamento de eixo. estudo de caso.pdf
Dimensionamento de eixo. estudo de caso.pdf
RodrigoQuintilianode1
 
Aula Vigor de Sementes - Aula Vigor de Sementes
Aula Vigor de Sementes - Aula Vigor de SementesAula Vigor de Sementes - Aula Vigor de Sementes
Aula Vigor de Sementes - Aula Vigor de Sementes
WeltonAgostinhoDias1
 
AE03 - LOGISTICA EMPRESARIAL UNICESUMAR 52/2024
AE03 - LOGISTICA EMPRESARIAL UNICESUMAR 52/2024AE03 - LOGISTICA EMPRESARIAL UNICESUMAR 52/2024
AE03 - LOGISTICA EMPRESARIAL UNICESUMAR 52/2024
Consultoria Acadêmica
 
AULA LEI DOS SENOS OU COSSENOS - parte final (3) (1).pdf
AULA LEI DOS SENOS OU COSSENOS - parte final (3) (1).pdfAULA LEI DOS SENOS OU COSSENOS - parte final (3) (1).pdf
AULA LEI DOS SENOS OU COSSENOS - parte final (3) (1).pdf
MaxwellBentodeOlivei1
 
Simbologia e Terminologia de Instrumentação da Norma ISA 5.1 - Simbologia_ISA...
Simbologia e Terminologia de Instrumentação da Norma ISA 5.1 - Simbologia_ISA...Simbologia e Terminologia de Instrumentação da Norma ISA 5.1 - Simbologia_ISA...
Simbologia e Terminologia de Instrumentação da Norma ISA 5.1 - Simbologia_ISA...
pereiramarcossantos0
 
Segurança nos trabalhos em altura, normas SST
Segurança nos trabalhos em altura, normas SSTSegurança nos trabalhos em altura, normas SST
Segurança nos trabalhos em altura, normas SST
ClaudioArez
 

Último (11)

AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL EMPREENDEDORISMO CORPORATIVO UNICES...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL EMPREENDEDORISMO CORPORATIVO UNICES...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL EMPREENDEDORISMO CORPORATIVO UNICES...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL EMPREENDEDORISMO CORPORATIVO UNICES...
 
Apresentação concreto autodesempenho 123
Apresentação concreto autodesempenho 123Apresentação concreto autodesempenho 123
Apresentação concreto autodesempenho 123
 
Elementos de Máquina aplicados na tornearia mecânica.ppt
Elementos de Máquina aplicados na tornearia mecânica.pptElementos de Máquina aplicados na tornearia mecânica.ppt
Elementos de Máquina aplicados na tornearia mecânica.ppt
 
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
 
ÁREAS DE ATUAÇÃO DO ENGENHEIRO CIVIL.pdf
ÁREAS DE ATUAÇÃO DO ENGENHEIRO CIVIL.pdfÁREAS DE ATUAÇÃO DO ENGENHEIRO CIVIL.pdf
ÁREAS DE ATUAÇÃO DO ENGENHEIRO CIVIL.pdf
 
Dimensionamento de eixo. estudo de caso.pdf
Dimensionamento de eixo. estudo de caso.pdfDimensionamento de eixo. estudo de caso.pdf
Dimensionamento de eixo. estudo de caso.pdf
 
Aula Vigor de Sementes - Aula Vigor de Sementes
Aula Vigor de Sementes - Aula Vigor de SementesAula Vigor de Sementes - Aula Vigor de Sementes
Aula Vigor de Sementes - Aula Vigor de Sementes
 
AE03 - LOGISTICA EMPRESARIAL UNICESUMAR 52/2024
AE03 - LOGISTICA EMPRESARIAL UNICESUMAR 52/2024AE03 - LOGISTICA EMPRESARIAL UNICESUMAR 52/2024
AE03 - LOGISTICA EMPRESARIAL UNICESUMAR 52/2024
 
AULA LEI DOS SENOS OU COSSENOS - parte final (3) (1).pdf
AULA LEI DOS SENOS OU COSSENOS - parte final (3) (1).pdfAULA LEI DOS SENOS OU COSSENOS - parte final (3) (1).pdf
AULA LEI DOS SENOS OU COSSENOS - parte final (3) (1).pdf
 
Simbologia e Terminologia de Instrumentação da Norma ISA 5.1 - Simbologia_ISA...
Simbologia e Terminologia de Instrumentação da Norma ISA 5.1 - Simbologia_ISA...Simbologia e Terminologia de Instrumentação da Norma ISA 5.1 - Simbologia_ISA...
Simbologia e Terminologia de Instrumentação da Norma ISA 5.1 - Simbologia_ISA...
 
Segurança nos trabalhos em altura, normas SST
Segurança nos trabalhos em altura, normas SSTSegurança nos trabalhos em altura, normas SST
Segurança nos trabalhos em altura, normas SST
 

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

  • 2. 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. 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: 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. 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. 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. 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. 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. 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. 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 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. 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. 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 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. 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. 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 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. 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