Você está na página 1de 2
Nome: IMPORTANTE: IF-RS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Nome:

IMPORTANTE:

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

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.

apresentado abaixo. Não esqueça de indicar quando for necessário que o usuário pressione a tecla ENTER.

BOA PROVA!