Prévia do material em texto
MICROCONTROLADORES– ENIAC Assunto 01 - Projeto integrado 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: Você acertou! E. permite um aprendizado rápido, prático e sem riscos de queimar 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: Você acertou! E. a corrente no LED está muito alta. Para resolver isso, basta associar resistores, limitando a corrente em 25mA. 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. Você acertou! D. As placas de circuito impresso são as mais confiáveis de todas as opções, embora seu uso implique custo mais elevado. 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. Você acertou! D. Usar o multímetro na função amperímetro ligado em série com a bateria de 9V. 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? Você acertou! A. Sensores de luz ambiente e LEDs. Assunto 02 - Introdução a microcontroladores 1. O elemento central em um microcontrolador, responsável por comandar todas as operações é: Você acertou! C. a Unidade Central de Processamento (CPU). 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: Você acertou! E. microcontrolador. 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: Você acertou! B. portas de entrada e saída. 4. No microcontrolador, o dispositivo eletrônico capaz de armazenar os níveis lógicos dos bits e controlar algumas ações é chamado de: Você acertou! A. registrador. 5. As interfaces seriais mais utilizadas nos microcontroladores são: Você acertou! D. I2C, SPI e UART. Assunto 03 - Estrutura do Arduino 1. O código utilizado na 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? Você acertou! A. float 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 Você acertou! B. Posição 2. 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 Você acertou! C. O LED irá aumentar seu brilho e, em seguida, diminuir o brilho, iniciando novamente o ciclo. 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 Você acertou! D. if(analogRead(pin)>valor) {digitaWrite(pin,HiGH);} digitalWrite(pin,LOW); 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 Você acertou! 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. Assunto 04 - 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. Você acertou! A. digitalRead(pin) e digitalWrite(pin). 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? Você acertou! B. 8. 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. Você acertou! C. pinMode(2,OUTPUT); pinMode(10,INPUT); digitalWrite(2, HIGH); if(digitalRead(10){//OK} else{//NOK}. 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. Você acertou! D. 3. 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? Você acertou! E. 10 kOhm. Assunto 05 - Sensores para projetos Arduino 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. Você acertou! A. A velocidade linear é uma grandeza física secundária, sua unidade no SI é o metropor segundo e seu valor pode ser obtido com um medidor de deslocamento e um cronômetro. 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? Você acertou! B. Boia de nível e chave fim de curso. 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. Você acertou! C. DS18B20 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 termopares, apresenta uma curva aproximadamente linear (Figura abaixo). Suponha que você usa um termopar tipo K para medir a temperatura máxima de um forno elétrico que funciona até 600 ºC, ainda utiliza um microcontrolador cujo valor máximo da tensão de entrada do conversor ADC é de 5V. Quantas vezes tem que ser amplificado o sinal para que este valor máximo de temperatura corresponda ao fundo de escala do conversor ADC? Resposta correta. D. 250X 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. Você acertou! 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. Assunto 06 - Atuadores para projetos Arduino 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: Você acertou! 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. 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: Você acertou! 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. 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: Você acertou! B. o pino IN2 pode ser usado para controlar o sentido de giro do motor. 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 transistor e a lógica de programação corretas. Você acertou! 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. 5. Muitas aplicações requerem a utilização de Modulação por Largura de Pulso (ou PWM em inglês), tais como variar a intensidade de um lede, ou mesmo controlar a posição de um servomotor. Seguidamente, se apresenta um trecho de código em C que utiliza o módulo de PWM, nesta aplicação é apresentado o aumento da velocidade de um motor de corrente continua, onde ser realiza um incremento de 25% da velocidade em cada estágio. Os valores de PWM inseridos no comando “digitalWrite”, irão aumentar a velocidade do motor de de 0 até 100% da velocidade (100% da velocidade corresponde ao valor 255). Seguidamente se apresenta esta implementação. /* 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 “for”, e desta forma diminuir as linhas no código significativamente. 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=100; i>=0; i=i-25) //Ciclo ativo PWM { analogWrite (MOTOR, 255*i); delay(2000); //Espera 2s }//Fim do ciclo for Assunto 07 - 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? Você acertou! C. 36 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. Você acertou! A. 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? Você acertou! C. 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 doeixo é 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? Você acertou! D. 47RPM. 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? Você acertou! B. 10. Assunto 08 - 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? Você acertou! A. Dois. 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++; } Você acertou! B. Interrupção 0, modo de borda de subida, funcionalidade: contador de pulsos por 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? Você acertou! C. Timer 2. 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? Você acertou! D. 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? Você acertou! E. Gravar novos dados somente quando forem diferentes dos dados que já estão na memória.