Buscar

EXERCICIOS MICROCONTROLADORES

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ASSUNTO 1 
PROJETO INTEGRADOR DE ROBÓTICA 
1) O Tinkercad é uma ferramenta disponibilizada na Internet, de forma 
totalmente gratuita, pela Autodesk. Por meio dele, é possível montar e 
simular vários circuitos eletrônicos, sendo possível inclusive empregar o 
Arduino como componente nesses circuitos. Dentre todas as suas 
aplicações e vantagens, é possível afirmar que o Tinkercad é uma 
alternativa adequada para o aprendizado de circuitos eletrônicos, porque: 
e) permite um aprendizado rápido, prático e sem riscos de queimar componentes. 
RESPOSTA CORRETA 
O Tinkercad é uma plataforma que permite a montagem de circuitos 
eletrônicos simples, tanto analógicos quanto digitais, de forma segura. 
Mesmo que seja feita alguma montagem errada, não há nenhum risco de 
acidentes ou de queima de componentes. 
2) 
Um estudante de robótica montou um circuito no Tinkercad para 
verificar se ele funcionaria conforme o esperado. O circuito consiste de 
uma pilha de 9V alimentando um LED vermelho através de alguns 
resistores de 10Ω associados, conforme a figura a seguir. Quando 
o estudante simulou o circuito, ocorreu uma falha e o LED queimou, 
como mostra a figura, porque: 
 
e) a corrente no LED está muito alta. Para resolver isso, basta associar resistores, 
limitando a corrente em 25mA. 
RESPOSTA CORRETA 
As polaridades do LED e da fonte estão coerentes para o correto 
funcionamento do LED. Os resistores usados para limitar a corrente do LED 
estão permitindo que flua uma corrente da ordem de 268mA, que pode ser 
verificada com um multímetro na função amperímetro em série com o LED. 
Para resolver esse problema, basta aumentar o valor dos resistores ou 
alterar sua associação para uma que permita uma resistência equivalente 
maior. 
A redução do valor nominal dos resistores, sem alterar a associação deles, 
irá permitir um fluxo de corrente maior ainda. 
Como nesse circuito não existem cargas indutivas (motores, por exemplo), 
não é necessário o uso de diodos de proteção contra corrente reversa. 
3) Os circuitos eletrônicos presentes nos robôs podem ser simples ou 
mesmo complexos. O nível de complexidade varia de acordo com a 
função do circuito propriamente dito. Uma característica muito peculiar 
desses circuitos é que eles podem ser montados nas proto-boards; nas 
placas perfuradas padrão, os componentes podem ser soldados entre si, 
ou podem ainda ser usadas as placas de circuito impresso. Marque a 
alternativa correta a respeito das formas de montar um circuito elétrico. 
d) As placas de circuito impresso são as mais confiáveis de todas as opções, 
embora seu uso implique custo mais elevado. 
RESPOSTA CORRETA 
As proto-boards e as placas perfuradas padrão são recomendadas para uso 
durante a fase de prototipagem, em função de sua montagem ser um 
trabalho praticamente artesanal. As proto-boards permitem montagem 
extremamente rápida, sob pena de baixa confiabilidade das ligações 
elétricas, enquanto que as placas perfuradas padrão, por serem soldadas, 
apresentam confiabilidade superior quando comparadas com as proto-
boards. 
As placas de circuito impresso, por sua vez, compõem a solução mais 
confiável para a montagem dos componentes eletrônicos. Porém, cada placa 
dessas deve ser projetada especialmente para o circuito que ela irá 
controlar. Sendo assim, de todas as opções, as placas de circuito impresso 
são as que apresentam o maior custo de produção. Mesmo assim, elas são 
preferidas para montagem de produtos seriados, pois é possível realizar com 
grande facilidade o processo de automação na montagem dos componentes 
nessas placas. 
4) O Tinkercad permite a simulação de circuitos eletrônicos simples. Com 
isso é possível, por exemplo, verificar algumas medidas elétricas. No 
circuito da figura a seguir, está montado um circuito eletrônico simples. 
 
Qual é o procedimento para medir a corrente elétrica no resistor R1 
indicado na figura, tendo disponível apenas um multímetro? 
d) Usar o multímetro na função amperímetro ligado em série com a bateria 
de 9V. 
RESPOSTA CORRETA 
Para medir as grandezas elétricas com o multímetro, deve-se ajustá-lo para 
a função corrente ou amperímetro para medidas de correntes elétricas. A 
maneira mais simples de realizar essa medida consiste em interromper o 
circuito no local desejado para a leitura e ligar o multímetro em série com o 
circuito interrompido. Como o resistor R1 está conectado diretamente na 
bateria de 9V, deve-se colocar o multímetro em série com o resistor ou em 
série com a bateria de 9V. 
A realização de medidas elétricas com o multímetro em paralelo com o 
componente geralmente está associada a medições de tensão ou resistência 
elétrica, embora existam outras medidas possíveis. 
5) Suponha que você deve produzir um robô seguidor de linha, que deve 
ser capaz de identificar a cor da linha. Conforme a cor varia, a velocidade 
do robô também irá variar. Para esse robô, será necessário algum 
microcontrolador, como o Arduino, no qual é possível estabelecer as 
regras que esse robô deverá seguir. Além dos motores e do Arduino, 
quais componentes serão necessários para detectar a cor da linha, de 
forma que seja possível simular esse robô no Tinkercad? 
a) Sensores de luz ambiente e LEDs. 
RESPOSTA CORRETA 
O tipo de sensor ideal seriam os sensores que detectam cores, porém tal 
sensor não está disponível no Tinkercad. Uma solução que pode ser usada é 
um conjunto de LEDs coloridos ou mesmo um LED RGB combinado com um 
sensor de luz ambiente, onde cada cor acende de forma separada das 
demais. Durante a cor acesa, deve ser feita a leitura da luz ambiente. Caso a 
faixa seja da mesma cor do LED que foi aceso, deve haver redução na luz 
ambiente, por efeito da absorção parcial da luminosidade por parte da faixa 
colorida. Esse circuito requer calibração. 
ASSUNTO 2 
INTRODUÇÃO A MICROCONTROLADORES 
1) O elemento central em um microcontrolador, responsável por 
comandar todas as operações é: 
c) a Unidade Central de Processamento (CPU). 
RESPOSTA CORRETA 
A ALU realiza as operações lógicas e aritméticas, ao passo que o DI 
interpreta as instruções da memória e é parte da CPU, que, por sua vez, 
controla todas as ações. O acumulador é onde a ALU coloca os dados 
para processamento e o microprocessador não faz parte de um 
microcontrolador. 
2) O circuito integrado que contém as funções de CPU, memória, 
entrada e saída de dados e funções especiais, tais como PWM 
e conversão A/D, em um único chip é chamado de: 
e) microcontrolador. 
RESPOSTA CORRETA 
CI programável é um nome genérico, ao passo que o arduino é um 
microprocessador. O FPGA é um microprocessador programável. O 
microprocessador não possui, em seu encapsulamento, dispositivos de 
I/O nem conversão A/D. O microcontrolador possui todas as funções 
descritas no enunciado dentro do seu encapsulamento. 
3) Um sistema computacional é formado por três componentes 
genéricos. Nos microcontroladores, o componente que serve para 
levar e trazer informação para o meio externo chama-se: 
b) portas de entrada e saída. 
RESPOSTA CORRETA 
São as portas de I/O que se encarregam de levar e trazer informações 
para o meio externo. A CPU controla todos os processamentos do 
microcontrolador; o acumulador é um registrador; o barramento permite 
a veiculação interna dos dados; e o SFR é um tipo de memória que 
controla algumas ações. 
4) No microcontrolador, o dispositivo eletrônico capaz de armazenar 
os níveis lógicos dos bits e controlar algumas ações é chamado de: 
a) registrador. 
RESPOSTA CORRETA 
Essa é a função do registrador. A memória apenas armazena 
informações, não executando ações de controle. O decodificador não 
armazena informações. O barramento apenas permite o tráfego de 
dados e a ULA executa operações lógicas e matemáticas. 
 
5) As interfaces seriais mais utilizadas nos microcontroladores são: 
d) I2C, SPI e UART. 
RESPOSTA CORRETA 
As interfaces mais utilizadas são as I2C, SPI e UART 
ASSUNTO 3 
ESTRUTURA DO ARDUÍNO 
1) O código utilizadona programação de microcontroladores é muito 
utilizado para realizar cálculos e, então, tomar decisões. Você está 
criando um código que, em determinado momento, precisa calcular 
a raiz quadrada de 127. Qual é o tipo de variável que deverá 
armazenar o resultado? 
a) float 
RESPOSTA CORRETA 
Como o resultado da operação matemática gera um número 
fracionado, dentre as opções dadas como resposta, a única que possui 
capacidade de armazenar esse tipo de dado numérico é a variável do 
tipo float, pois permite valores numéricos entre -3.4028235E38 
e 3.4028235E38. Uma variável tipo int armazena apenas números 
inteiros, então se estaria perdendo informações. As variáveis tipo byte, 
char e boolean tratam de dados não numéricos, portanto não se aplicam. 
2) Um código herdado é como usualmente se chamam os códigos 
feitos por outras pessoas que são enviados para outros 
programadores. A primeira ação do herdeiro do código é realizar a 
compreensão das soluções utilizadas. Analisando o código abaixo, 
determine qual é o dado de saída que será disponibilizado, 
supondo que a entrada analógica indica o valor de 500. 
b) Posição 2. 
RESPOSTA CORRETA 
Sendo o código executado com dados objetivos, fica muito claro que a 
resposta será um resultado objetivo. Quando a entrada analógica 
estiver obtendo um valor de conversão igual a 500, a função map irá 
mapear este valor dentro dos valores possíveis (0 a 3) e, então, o 
resultado será "Posição 2", conforme estrutura switch-
case, invalidando qualquer outra resposta. 
3) Dentre as estruturas de controle disponíveis, cada uma pode 
oferecer um determinado comportamento e cabe ao programador 
utilizá-las da forma que seja mais eficaz para a resolução de seu 
problema. No código abaixo, compreenda-o e informe qual será seu 
comportamento, sendo que existe um LED ligado na saída digital. 
 
c)O LED irá aumentar seu brilho e, em seguida, diminuir o brilho, iniciando 
novamente o ciclo. 
RESPOSTA CORRETA 
A estrutura de controle for é sequencial e pode-se ver que o 
indexador i está incrementando uma unidade a cada iteração. Ao 
chegar em 255, o contador inicia o processo de decréscimo até chegar 
em 0 e iniciar novamente o ciclo. O valor de PWM 255 corresponde a 
100% de acionamento; portanto, o LED irá iluminar até o máximo, em 
sequência até o mínimo e, então, reiniciar o ciclo. Qualquer outro 
comportamento é impossível. 
4) Estruturas de controle são utilizadas para tomada de decisão baseadas 
em dados de entrada, seja a entrada pelo usuário (como um terminal, 
por exemplo) seja pela leitura de uma variável analógica ou até mesmo 
digital. Faça a interpretação do código abaixo e selecione a opção que 
tenha a mesma funcionalidade do código. 
 
d) if(analogRead(pin)>valor) {digitaWrite(pin,HiGH);} digitalWrite(pin,LOW); 
RESPOSTA CORRETA 
Para uma tomada de decisão tipo booleana, verdadeira ou falsa, a melhor 
opção é utilizar a estrutura de controle if...else. Outras estruturas, 
tipo while, do...while, etc., não irão conseguir gerenciar eficientemente essas 
questões, podendo ocasionar comportamentos não intencionados do código. 
Se utilizar uma estrutura while, do...while ou for, é possível que o código 
fique em loop infinito e não consiga dar continuidade ? execução. A 
função switch case não irá conseguir selecionar corretamente a opção 
desejada. 
5) Muitas vezes, deve-se fazer um código de recursos disponíveis de 
forma padrão nas bibliotecas disponibilizadas pelo projeto para 
atingir os objetivos do desenvolvimento. Analise o código abaixo e 
informe qual o comportamento esperado. 
 
e) O código irá gerar números aleatórios e, quando o valor obtido for igual a 150, o 
código entrará em um loop infinito sem função alguma. 
RESPOSTA CORRETA 
Conforme o código,a função randômica irá gerar um número aleatório a 
cada interação e comparar com o valor especificado dentro da 
estrutura if. Caso seja verdadeira essa verificação, o código entrará em 
uma estrutura while sem parâmetro de saída e ficará nela até a 
reinicialização do sistema. 
O código irá imprimir os números aleatórios no monitor serial, porém não 
somente essa função. Do modo que está estruturado, o código entrará 
em loop infinito somente quando o número aleatório gerado for igual a 
150. 
 
ASSUNTO 4 
ENTRADAS E SAÍDAS DIGITAIS 
1) Os hardwares de desenvolvimento Arduino possibilitam inúmeras 
aplicações, pois seu baixo custo, combinado com a facilidade de 
programação e grandes comunidades fazendo uso e divulgando o 
conhecimento, colaborou para a permeabilidade do uso em 
diferentes áreas e níveis de conhecimento. Analisando os 
comandos a seguir, identifique qual opção está estruturada com os 
parâmetros e as grafias corretas. 
a) digitalRead(pin) e digitalWrite(pin). 
RESPOSTA CORRETA 
O Arduino faz uso de instruções case sensitive, que significa que letras 
em caixa alta e caixa baixa são caracteres diferentes. Portanto, a sintaxe 
dos comandos deve ser exatamente como está na documentação para 
ser válida, inclusive seus parâmetros. 
2) Deseja-se fazer uma montagem eletrônica utilizando uma placa de 
desenvolvimento Arduino para acionamento de LEDs. Os LEDs 
serão ligados diretamente aos pinos de saída digital, fazendo uso 
apenas de resistores para limitar a corrente em 25 mA. Qual a 
quantidade máxima de LEDs que podem ser acionados 
simultaneamente? 
b) 8. 
RESPOSTA CORRETA 
Conforme o datasheet do microprocessador ATmega328 utilizado nas 
placas Arduino, a corrente máxima drenada das saídas digitais é de 200 
mA. Como estamos considerando o consumo de 25 mA por LED, 
podemos ter no máximo 8 LEDs ligados simultaneamente. 
3) Em um sistema de controle de um aquecedor, deseja-se acionar as 
resistências conforme a temperatura ambiente e, ao mesmo tempo, 
fazer o monitoramento de que a resistência foi devidamente 
acionada. Para isso, utilizou-se um relé de duplo contato, sendo um 
contado para a resistência e outro para o 
Monitoramento. Identifique qual código a seguir está correto. 
c) pinMode(2,OUTPUT); pinMode(10,INPUT); digitalWrite(2, HIGH); 
if(digitalRead(10){//OK} else{//NOK}. 
RESPOSTA CORRETA 
Para que o código funcione como esperado, os pinos de entrada e saída 
digitais devem ser configurados corretamente. A função digitalRead() 
pode retornar o valor HIGH ou LOW, e a decisão lógica deve ser tomada 
adequadamente. 
4) Para fazer o controle de velocidade de uma esteira de 
movimentação de mercadorias, utiliza-se um motor de corrente 
contínua e uma saída PWM do controlador, para modular a tensão 
aplicada ao motor e consequentemente obter o controle desejado. 
Informe qual é o pino mais adequado para ser dedicado a essa 
saída digital. 
 
d) 3. 
RESPOSTA CORRETA 
Dentre as opções possíveis, o pino 3 é o único que tem a funcionalidade 
PWM incorporada. 
5) Caso um circuito com um botão e um resistor de pull-up com valor 
de 20 kOhm seja montado em um Arduino e o código apresente a 
função pinMode(pin, INPUT_PULLUP), qual será a resistência real 
que estará sendo apresentada no circuito? 
e) 10 kOhm. 
RESPOSTA CORRETA 
Conforme datasheet do microprocessador ATmega328, o resistor 
de pull-up interno tem valor de 20 kOhm. Considerando que existe um 
resistor extra de pull-up externamente, a resistência dos dois resistores 
em paralelo será de 10 kOhm. 
ASSUNTO 5 
SENSORES PARA PROJETOS ARDUÍNO 
1) Instrumentação é a área que se ocupa das medições das grandezas 
físicas para diversas finalidades, com o suporte do Sistema 
Internacional de Unidades (SI), responsável pela padronização das 
unidades. Nem sempre se dispõe de instrumentos específicos para 
determinadas grandezas, sendo assim necessário usar instrumentos 
de modo combinado e obter matematicamente o resultado 
desejado. Sobre o tema, marque a alternativa correta. 
a) A velocidade linear é uma grandeza física secundária, sua unidade no SI 
é o metro por segundo e seu valor pode ser obtido com um medidor de 
deslocamento e um cronômetro. 
RESPOSTA CORRETAA velocidade é um exemplo de unidade composta por medição de duas 
diferentes grandezas, neste caso, deslocamento e tempo. Essas 
grandezas devem ser medidas com instrumentos adequados para que o 
resultado seja confiável. 
2) Muitos projetos envolvem grandezas físicas perceptíveis pelos 
sentidos das pessoas (os indivíduos não conseguem perceber a 
tensão, a não ser que levem um choque), como, por exemplo, projetos 
que envolvem fluidos, sejam eles quais forem. Em se tratando de 
medição de nível, uma medida cujo método de medição tem contato 
direto com a substância a ser medida é classificada como medida 
direta. Entre as alternativas a seguir, qual apresenta apenas sistemas 
de medição classificados como medida direta? 
b) Boia de nível e chave fim de curso. 
RESPOSTA CORRETA 
Toda forma de medição direta envolve contato entre o objeto de 
interesse e o instrumento, que, por sua vez, fornece a indicação 
diretamente. Por exemplo, a boia de nível está em contato com o fluido, 
assim como a chave fim de curso precisa estar em contato com o 
obstáculo para trocar de estado. 
Sensor de distância, sensor capacitivo, sensor de fumaça e sensor PIR 
são exemplos de sensores cujo princípio de funcionamento não 
exige contato com o objeto de medição. 
3) Uma informação necessária e muito comum em um projeto é a medição 
de temperatura, seja de fluidos, seja do meio ambiente ou de 
componentes. Esse tipo de medição pode assumir vários níveis de 
confiabilidade, por exemplo: em um processo de conservação de 
alimentos, a medição deve ser extremamente confiável, 
enquanto em um processo de agricultura, a medição pode ser mais 
indicativa. Identifique a melhor alternativa para implementação com o 
Arduino em um ambiente onde o sensor deve ficar submerso. 
c) DS18B20. 
 
RESPOSTA CORRETA 
Para medição de temperatura em ambientes submersos, é recomendada a 
utilização de sensor de temperatura do tipo DS18B20 em sua versão 
encapsulada (waterproof). 
Sua outra versão, que não conta com encapsulamento à prova d'água, assim 
como o DHT11 e o termistor, não irão funcionar quando expostos ao contato 
com fluidos. O uso de termômetro de mercúrio é inviável, pois se trata de um 
instrumento analógico, incompatível com os microcontroladores. 
4) Um método de medição de temperatura com sistemas 
microcontrolados é baseado na medição de tensão proveniente do 
sensor, que, por sua vez, relaciona-se diretamente com a variação de 
resistência. A medição de temperatura utilizando termômetros de 
resistência se baseia na variação do valor de resistência elétrica de um 
condutor metálico em função da temperatura. Sobre os elementos 
sensores baseados nesse princípio de funcionamento, marque a 
alternativa correta. 
d) A termorresistência PT-100 é uma das mais utilizadas industrialmente, 
devido a sua grande estabilidade, larga faixa de utilização e alta precisão. 
RESPOSTA CORRETA 
Reconhecidamente o uso de termorresistências do tipo PT-100 é o que 
proporciona resultados mais precisos de medição, porém com a 
desvantagem do tempo de resposta, que é mais longo. 
5) Um instrumento de medição cujo resultado é baseado em outras 
medidas conjugadas, que são então calculadas, é o medidor de vazão. 
Em uma de suas possibilidades de uso, ele faz a medição da 
velocidade do fluido e calcula a vazão com base no diâmetro do furo de 
passagem. Assinale a alternativa correta quanto aos medidores de 
vazão. 
c) A velocidade do fluido é medida por meio da frequência de rotação de 
engrenagens e sua unidade de medição é m/s (metros por segundo). Essa 
unidade multiplicada pela secção do duto, cuja unidade é m^2, resulta na 
unidade (m^3)/s. 
RESPOSTA CORRETA 
Vazão é um dos exemplos de grandeza física que necessariamente 
precisa de pelo menos dois instrumentos para que se possa obter o 
resultado da medida. 
Mesmo utilizando um método mais rudimentar, como um balde, por 
exemplo, será necessário pelo menos dispor dos instrumentos para 
medição do volume do balde e de um cronômetro. 
ASSUNTO 6 
ATUADORES PARA PROJETOS ARDUÍNO 
1) Os motores de corrente contínua (motor DC) são utilizados, 
geralmente, em robôs móveis no seu sistema de locomoção, pois 
seu baixo custo e grande versatilidade no controle de velocidade 
garantem sua navegação dentro de um ambiente de trabalho. Você 
pode encontrar esse tipo de motor em diversos equipamentos, 
como por exemplo: dispositivos domésticos (leitor de DVD ou Blu-
ray) e brinquedos. Sobre esse tipo de motor, é correto afirmar que: 
 
c) o motor DC é energizado com uma corrente contínua, que pode ser proveniente 
de pilhas/baterias ou de uma fonte de alimentação de corrente contínua. 
RESPOSTA CORRETA 
A rotação acontece por causa do campo magnético criado pela corrente 
gerada pela ligação de uma bateria ou de uma fonte de alimentação CC, e o 
sentido de rotação vai depender da polarização dos terminais que provocam 
uma mudança no sentido do campo magnético gerado. 
 
Os motores DC é um tipo de motor energizado com uma corrente 
contínua, que pode ser proveniente de pilhas/baterias ou de uma fonte 
de alimentação CC (carregadores de celular, fonte chaveada ou 
comutada). 
 
Para se controlar um motor DC são necessárias correntes mais altas dos 
que as fornecidas pelos microcontroladores, pois eles têm limitação de 
corrente nos pinos de saída. O Arduino, por exemplo, fornece uma corrente 
de saída nos seus pinos de 40 mA. Esse valor não é suficiente para 
rotacionar o motor DC na sua máxima eficiência e muito menos iniciar o 
movimento de rotação (sair da inércia) do motor DC. 
 
Esse tipo de motor é recomendado para aplicações que exigem torque 
preciso e acionamento de velocidade. 
2) O circuito de acionamento de motores DC, utilizando a plataforma 
Arduino, mais simples para você montar, é composto de um 
transistor, um resistor e um diodo. Nesse circuito, o transistor 
funciona como uma chave de liga e desliga e permite controlar o 
motor utilizando apenas um pino de saída digital do Arduino. Sobre 
o circuito é correto afirmar: 
 
a) O pino do emissor está ligado ao GND, a base está ligada ao pino 11 do 
Arduino em série com um resistor e o pino coletor está ligado à alimentação 
5V em série com o diodo e o motor. 
RESPOSTA CORRETA 
O transistor possui três terminais - base, coletor e emissor. O pino da base 
controla a passagem de corrente do coletor para o emissor, por isso deverá 
estar ligada a um pino do Arduino, por exemplo, 11. A corrente deve circular 
do coletor para o emissor; por convenção, a corrente circula do polo positivo 
para o negativo, portanto o pino coletor está ligado à alimentação 5V em 
série com o diodo e o motor, e o pino do emissor deve ser ligado ao GND. 
 
3) A ponte H é um circuito eletrônico que possibilita controlar o 
sentido de rotação do motor DC, além de fornecer a tensão e a 
corrente necessárias para o seu funcionamento. Existem 
vários shields ou módulos de ponte H para acionar um motor DC 
com o Arduino. Sobre o módulo ponte H L298N, é correto afirmar 
que: 
b) o pino IN2 pode ser usado para controlar o sentido de giro do motor. 
RESPOSTA CORRETA 
O pino IN1 pode ser usado para controle de velocidade de rotação do 
MOTOR A, quando ligado a um pino de PWM do Arduino. 
 
O pino IN2 pode ser usado para controlar o sentido de giro do 
motor. É um sinal lógico fornecido pelo Arduino: HIGH = 
horário, LOW = anti-horário. 
 
O pino OUT A deve ser ligado a um dos terminais do motor. O pino ENA 
habilita (1) /desabilita (0) motor A – jumper disponível. 
 
Esse módulo L298N é chamado ponte H dupla, pois ela pode controlar 
até dois motores de forma independente. 
4) Muitas vezes, no circuito de acionamento com transistor é possível 
utilizar um transistor do tipo PNP (BC640, por exemplo) ao invés do 
NPN. A troca do tipo de transistor não altera a montagem do 
circuito, mas afeta a forma de ligar e desligar o motor, bem como a 
lógica de programação. Marque a alternativa com o funcionamento 
desse tipo de transistore a lógica de programação corretas 
 
a) O circuito utilizando um transistor do tipo PNP é necessário para ligar o 
motor em um nível de tensão baixo (0V, LOW) no pino de saída do Arduino 
e para desligar o motor um nível de tensão alto (5V, HIGH). Assim, a lógica 
de programação o comando digitalWrite (MOTOR, LOW) liga o motor DC 
na sua máxima eficiência e o comando digitalWrite (MOTOR, HIGH) desliga 
o motor. 
RESPOSTA CORRETA 
O transistor do tipo PNP trabalha com lógica invertida em relação ao NPN, 
assim para acioná-lo (ligá-lo) é necessário colocar nível lógico 0 no pino da 
base, e para desacioná-lo (desligá-lo) nível lógico 1. Desse modo, a lógica 
de programação também será invertida; o 
comando digitalWrite (MOTOR, LOW) ligará o motor DC na sua máxima 
eficiência, pois esse comando coloca nível de tensão baixo (0V) no pino de 
saída digital, e o comando digitalWrite (MOTOR, HIGH) desliga o motor, 
porque esse comando coloca nível de tensão alto (5V). 
5) O trecho de código mostrado a seguir, usado na prática do PWM, 
mostra o aumento da velocidade de um motor incrementado de 
25%, inserindo os valores de PWM para aumentar a velocidade 
manualmente no código. 
/* Aumentando a velocidade do motor */ 
//Ciclo ativo 0% 
digitalWrite (MOTOR, 0); 
delay(2000); //Espera 2s ou 2000 milisegundos 
//Ciclo ativo 25% 
digitalWrite (MOTOR, 64); 
delay(2000); //Espera 2s ou 2000 milisegundos 
//Ciclo ativo 50% 
digitalWrite (MOTOR, 128); 
delay(2000); //Espera 2s ou 2000 milisegundos 
//Ciclo ativo 75% 
digitalWrite (MOTOR, 171); 
delay(2000); //Espera 2s ou 2000 milisegundos 
//Ciclo ativo 100% 
digitalWrite (MOTOR, 255); 
delay(2000); //Espera 2s ou 2000 milisegundos 
Porém, é possível utilizar o laço de repetição for e, assim, reduzir a 
quantidade de linhas de comando do código significativamente, 
tornando-o mais enxuto. 
Assinale a alternativa correta que contém o trecho de código utilizando 
o laço de repetição for que executa a mesma função de aumentar a 
velocidade incrementando 25% a cada 2 segundos mostrada no trecho 
de código acima. 
d) for (int i=0; i<=1; i=i+0.25) { //Ciclo ativo PWM analogWrite (MOTOR, 
255*i); delay(2000); //Espera 2s ou 2000 milisegundos}//Fim for (i=0; i<=1; 
i=i+0.25) 
RESPOSTA CORRETA 
O incremento esperado no valor do PWM é de 25% a cada interação do 
comando for, então 25% = 25/100 = 0.25, ou seja, a variável "i" que 
multiplicará o valor de 100% do PWM (255*i) deverá conter um valor decimal 
e não inteiro como mostrado na alternativa. 
A resposta certa é: 
for (int i=0; i<=1; i=i+0.25) { 
 //Ciclo ativo PWM 
 analogWrite (MOTOR, 255*i); 
 delay(2000); //Espera 2s ou 2000 milisegundos 
}//Fim for (i=0; i<=1; i=i+0.25) 
ASSUNTO 7 
ENTRADAS E SAÍDAS ANALÓGICAS 
1) Para o funcionamento adequado de um sistema de conversão 
analógico-digital é necessário estabelecer certas garantias de que 
os periféricos estão em perfeito acordo com a aplicação. Supondo 
que seja necessário utilizar uma fonte de tensão externa de 3,0V 
para a referência do conversor e essa fonte contenha um drift de 
tensão em função da temperatura, ou seja, a tensão da fonte varia 
sensivelmente conforme a temperatura ambiente e essa variação 
seja de 0 a 0,5V (3,0 a 3,5V), qual será o erro de medição em bits, 
sendo esse um conversor de 8 bits? 
c) 36 
RESPOSTA CORRETA 
Conforme descrito no datasheet do fabricante do microcontrolador, 
recomenda-se o uso de fontes de tensão estabilizadas e dedicadas para 
serem utilizadas como fontes de referência. 
Neste caso, como há uma variação de 0,5V na fonte de referência e 
sendo a resolução digital de 256 e, ainda, é uma relação linear e direta, 
basta fazer uma regra de três (3,0X256)/3,5 para resultar em uma 
variação de 36 passos (sendo 256 o total), então, considera-se uma 
variação excessiva para este tipo de sistema. 
2) A programação do arduino é realizada através de comandos em 
linguagem C e que devem ser inseridos adequadamente para a 
correta interpretação do compilador. Analisando os comandos a 
seguir, identifique qual está corretamente estruturado com os 
parâmetros de entrada correto e grafia. 
a) analogRead(pin) e analogReference(DEFAULT). 
RESPOSTA CORRETA 
A programação por meio da IDE do arduino é case sensitive, ou seja, o 
comando deve conter a exata grafia que está na documentação para que 
possa ser reconhecido pelo sistema e compilado. Qualquer letra a mais 
ou letra maiúscula/minúscula no lugar errado não permite o 
reconhecimento da função. Também funciona assim para os parâmetros 
de entrada das funções que devem estar corretos. Por isso, o correto 
é: analogRead(pin) e analogReference(DEFAULT). 
3) Um sistema de reprodução de áudio doméstico é basicamente um 
conversor digital-analógico ligado a uma caixa de som para emitir 
as vibrações sonoras. Considera-se que o ouvido humano tem 
capacidade de ouvir frequências entre 0 e 20kHz na sua 
melhor performance (idade, histórico de exposição ao ruído, etc.). 
Considerando essas informações, qual seria a taxa de amostragem 
que você escolheria para o seu sistema de áudio? 
c) 40kHz. 
RESPOSTA CORRETA 
Conforme indicado pelo Teorema de Nyquist, a taxa de amostragem 
deve ser no mínimo o dobro da taxa a qual queira reproduzir/gravar. 
Nesse caso, a audição humana tem capacidade de reconhecer até 
frequências de 20kHz e, portanto, dentre as opções, a taxa mais 
adequada é a de 40kHz. 
4) O conceito de PWM é muito utilizado para o controle de velocidade 
de motores, principalmente de motores de corrente contínua 
(CC) nos quais a rotação do eixo é proporcional à tensão aplicada 
(desconsiderando para efeito de exercício a carga sobre o eixo do 
motor). Considerando um sistema de saída analógica tipo PWM de 
8 bits (256) atuando sobre um motor elétrico com rotação máxima 
de 12.000RPM, qual é a diferença entre as rotações? 
d) 47RPM. 
RESPOSTA CORRETA 
Tendo o sistema a possibilidade de distinguir 256 níveis de PWM e o 
motor rotação máxima de 12kRPM, dividindo 12kRPM por 256, resultará 
em 47RPM. Portanto, o sistema não consegue colocar o motor em 
passos intermediários de 47RPM. Isto significa, por exemplo, que o 
motor pode ficar em 1000RPM ou 1047RPM, porém não irá assumir 
valores entre essas duas rotações. 
5) O conversor analógico-digital do tipo de aproximação sucessiva é 
utilizado no arduino devido a várias vantagens, entre elas tamanho 
e custo, além de ter eficiência no processo de conversão. 
Justamente esse processo tem tempo de conversão constante, 
independente da tensão de referência ou da tensão de entrada no 
pino analógico. Para um conversor de 10bits, quantas iterações são 
necessárias para obter o valor digital final? 
b) 10. 
RESPOSTA CORRETA 
Um conversor de aproximação sucessiva utiliza cada iteração para fazer 
a conversão bit a bit do valor analógico para digital. Portanto, um 
conversor de 10 bits levará 10 iterações para concluir a conversão. 
ASSUNTO 8 
INTERRUPÇÕES, TEMPORIZADORES E MEMÓRIA 
1) O hardware diponível para utilização nas placas Arduino é bem 
flexível e adaptável a vários projetos, porém nem todos os pinos 
têm a mesma funcionalidade. 
Quantos pinos de interrupção externa estão disponíveis no Arduino 
Uno? 
a) Dois. 
RESPOSTA CORRETA 
A placa de desenvolvimento Arduino Uno possui apenas dois pinos de 
entrada digital que podem ser utilizados como interrupção externa, 
sendo estes os pinos 2 e 3. 
2) A interpretação de códigos é uma atividade corriqueira, seja para 
entender simples exemplos, seja para códigos mais complexos, e exige 
que você conheça o funcionamento dos diferentes comandos. 
Considerando o código abaixo, determine os parâmetros da 
interrupção e a funcionalidade do código. 
int pin = 2; 
volatile unsigned int i; 
void setup() { 
Serial.begin(9600); 
pinMode(pin, INPUT); 
attachInterrupt(digitalPinToInterrupt(pin), interrupt_routine, RISING); 
} 
void loop() { 
i=0; 
Delay(1000); 
Serial.println(i); 
} 
interrup_routine() { 
i++; 
} 
b) Interrupção0, modo de borda de subida, funcionalidade: contador de pulsos 
por segundo. 
RESPOSTA CORRETA 
O código exibido utiliza uma interrupção na entrada digital do pino 2, ou 
também pode ser indicado como interrupção 0. O modo de operação 
é RISING, borda de subida, quando o nível lógico transita 
de LOW para HIGH. Pela análise lógica do código, é possível verificar que se 
trata de um contador de pulsos por segundo, uma vez que na execução da 
interrupção, esta incrementa a variável unitariamente e então disponibiliza a 
informação na porta serial a cada segundo. 
 
3) Você está desenvolvendo um sistema de controle de velocidade de 
um motor DC utilizando uma placa de desenvolvimento Arduino 
Uno. Para o acionamento do motor, será utilizado PWM e 
um encoder no eixo do motor para medição de velocidade. Qual é 
o timer que deve ser utilizado na rotina do encoder de forma a 
permitir que os dois recursos operem corretamente? 
c) Timer 2. 
RESPOSTA CORRETA 
O timer 2 é o mais indicado para esse caso, pois ele é utilizado pela 
função tone(), que não está sendo aplicada nesse código. 
O timer 0 é utilizado pela funções de delay(), então não é recomendado 
utilizá-lo. 
O timer 1 é utilizado pela função PWM, que está sendo utilizada nesse 
código. 
Os timers 3 e 4 estão disponíveis somente na placa de desenvolvimento 
Arduino Mega. 
4) Você deseja programar um temporizador para disparar uma 
determinada rotina a cada 0,1s. Supondo que você esteja operando 
a 16 MHz e utilizando um temporizado de 16 bits com prescaler de 
256, qual é o valor de contagem que deve ser definido para o 
registrador OCR1A? 
d) 6250. 
RESPOSTA CORRETA 
Estando o microcontrolador operando em 16 MHz, com prescaler de 256 
e o período desejado é de 0,1s (10 Hz), o resultado é 16000000/256/10 
= 6250. 
5) A memória EEPROM tem uma vida útil finita de escritas. Com base 
nessa afirmação, responda qual a melhor estratégia para gravar 
dados que devem estar disponíveis quando o hardware inicializar? 
e) Gravar novos dados somente quando forem diferentes dos dados que já 
estão na memória. 
RESPOSTA CORRETA 
A memória EEPROM tem vida finita para escritas, porém não tem 
limitações para leituras. Um código que grave um novo dado somente 
quando for diferente do dado que está gravado é o mais eficiente. 
Se for sempre gravado na memória, ela vai se 
desgastar prematuramente. Também não é possível prever quando 
ocorrerá um desligamento para salvar o dado antes do evento. 
 
	RESPOSTA CORRETA
	RESPOSTA CORRETA (1)
	RESPOSTA CORRETA (2)
	RESPOSTA CORRETA (3)
	RESPOSTA CORRETA (4)
	RESPOSTA CORRETA (5)
	RESPOSTA CORRETA (6)
	RESPOSTA CORRETA (7)
	RESPOSTA CORRETA (8)
	RESPOSTA CORRETA (9)
	RESPOSTA CORRETA (10)
	RESPOSTA CORRETA (11)
	Sendo o código executado com dados objetivos, fica muito claro que a resposta será um resultado objetivo. Quando a entrada analógica estiver obtendo um valor de conversão igual a 500, a função map irá mapear este valor dentro dos valores possíveis (0...
	RESPOSTA CORRETA (12)
	RESPOSTA CORRETA (13)
	RESPOSTA CORRETA (14)
	RESPOSTA CORRETA (15)
	RESPOSTA CORRETA (16)
	RESPOSTA CORRETA (17)
	RESPOSTA CORRETA (18)
	RESPOSTA CORRETA (19)
	RESPOSTA CORRETA (20)
	RESPOSTA CORRETA (21)
	RESPOSTA CORRETA (22)
	RESPOSTA CORRETA (23)
	RESPOSTA CORRETA (24)
	RESPOSTA CORRETA (25)
	RESPOSTA CORRETA (26)
	RESPOSTA CORRETA (27)
	RESPOSTA CORRETA (28)
	RESPOSTA CORRETA (29)
	RESPOSTA CORRETA (30)
	RESPOSTA CORRETA (31)
	RESPOSTA CORRETA (32)
	RESPOSTA CORRETA (33)
	RESPOSTA CORRETA (34)
	RESPOSTA CORRETA (35)
	RESPOSTA CORRETA (36)
	RESPOSTA CORRETA (37)
	RESPOSTA CORRETA (38)
	RESPOSTA CORRETA (39)

Continue navegando