You are on page 1of 2

IF-RS Instituto Federal de Educação, Ciência e

Tecnologia do Rio Grande do Sul


Câmpus Rio Grande
Curso de Automação Industrial
Disciplina de Eletrônica Digital - 110032 (subsequente)
Ano 2016 - Turma E
Prova 2 (peso 7,0 no bimestre)
Prof. Alexandre Souza
08/12/2016

Nome: _________________________________________

IMPORTANTE:

• Duração: 1h 40min
• A prova poderá ser resolvida a lápis ou caneta.

“O homem é mortal por seus temores e imortal por seus dizeres.” (Pitágoras)

1. (2,0 ponto) Explique de forma sucinta como funciona o programa a seguir no Arduino, considerando
que no pino A0 esteja ligado um potenciômetro (formando um divisor de tensão) e no pino 6 um
LED. Utilize a numeração das linhas como referência para a explicação.

1 #define POT A0
2 #define LED 6
3
4 int int_valor;
5
6 void setup()
7 {
8 pinMode(LED, OUTPUT);
9 }
10
11 void loop()
12 {
13 int_valor=analogRead(POT);
14
15
16 if (int_valor>=512)
17 digitalWrite(LED, HIGH);
18 else
19 digitalWrite(LED, LOW);
20 }

2. (1,0 ponto) Cite 5 periféricos internos do Arduino Nano.

3. (1,0 ponto) Qual a principal função da memória flash em um microcontrolador Arduino?

4. (2,0 ponto) Faça um programa em DevC++ que apresente na tela um contador de 0 a 100 incrementado
de 1,5 em 1,5. Declare as variáveis necessárias e obedeça a sintaxe da linguagem C. Cada valor
apresentado deverá ficar em uma linha na tela e deverão ser exibidos com duas casas decimais.
5. (1,0 ponto) Explique o que são as funções setup() e loop() de um programa para Arduino.

6. (1,0 ponto) Relacione a segunda coluna de acordo com a primeira:


[1] pinMode() [ ] Define o ciclo de trabalho (duty cycle) do PWM
[2] digitalWrite() [ ] Faz a leitura do estado de um pino de entrada
[3] digitalRead() [ ] Define um pino do microcontrolador como entrada ou saída
[4] analogRead() [ ] Ajusta o estado de um pino de saída
[5] analogWrite() [ ] Faz a leitura de dados de uma porta do conversor A/D

7. (2,0 ponto) Considerando que o código abaixo foi feito no DevC++, mostre o que será exibido na tela do
computador.

#include <stdio.h>
#include <conio.h>

void main (void)


{
float peso, preco_por_quilo, total_pagar, ICMS, lucro_liquido;
char tecla;

do
{
printf("Peso: ");
scanf("%f", &peso);
printf("Preço por Kg (R$): ");
scanf("%f", &preco_por_quilo);
total_pagar = peso * preco_por_quilo;
printf("Total a pagar: %.2f\n", total_pagar);
ICMS = total_pagar * 0.17;
printf("ICMS: %.2f\n", ICMS);
lucro_liquido = total_pagar - ICMS;
printf("Lucro líquido do açougue (R$): %.2f\n", lucro_liquido);
printf("Sair [S/N]?");
tecla = getche();
}
while (tecla=='N');
}

Simule a entrada de valores pelo usuário e mostre o que será apresentado na tela pelo algoritmo desenvolvido.
Apresente o resultado na tela de acordo com o layout (espaços, número de casas decimais, quebras de linha,
etc.) determinado pelo algoritmo. Os valores simulando a entrada de dados pelo usuário devem estar circulados,
como no exemplo apresentado abaixo. Não esqueça de indicar quando for necessário que o usuário pressione a
tecla ENTER.

BOA PROVA!

You might also like