Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Trabalho atividade prática, Resumos de Prática Aeroespacial

Ano 2025, uninter, trabalho prático Engenharia elétrica

Tipologia: Resumos

2025

Compartilhado em 16/03/2026

vitor-natalino
vitor-natalino 🇧🇷

2 documentos

1 / 18

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
CADERNO DE RESPOSTAS
DA ATIVIDADE PRÁTICA DE:
Linguagem de Programação
ALUNO: vitor natalino ferreira
RU: 4672925
Prof. Winston Sen Lun Fung, Esp.
ANO
2024
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Pré-visualização parcial do texto

Baixe Trabalho atividade prática e outras Resumos em PDF para Prática Aeroespacial, somente na Docsity!

CADERNO DE RESPOSTAS

DA ATIVIDADE PRÁTICA DE:

Linguagem de Programação

ALUNO: vitor natalino ferreira

RU: 4672925

Prof. Winston Sen Lun Fung, Esp.

ANO

Atividade Prática de Linguagem de Programação

PRÁTICA 01

Utilizar estruturas condicionais e loops para criar um semáforo que muda de cor

baseando-se no tempo e em um sensor de presença, simulando um semáforo

inteligente que se adapta ao fluxo de trânsito.

Deve-se programar o Arduino para controlar LEDs vermelho, amarelo e verde, onde

o LED verde deve permanecer aceso por mais tempo se o sensor de presença

detectar um carro esperando.

Monte o circuito adequado para ligar os LEDs e o sensor PIR no Arduino.

Para demonstrar o funcionamento faça as capturas de tela utilizando o último digito

do seu RU para o tempo em segundos para o sinal verde (caso o seu RU termine em

0 (zero) utilize o valor 9 (nove)).

I. Apresentação do código-fonte (colorido): // Definindo os pinos para os LEDs int pinLedVermelho = 11; int pinLedAmarelo = 12; int pinLedVerde = 13; int pinSensorPIR = 10; void setup() { // Inicializar pinos como saída ou entrada conforme necessário pinMode(pinLedVermelho, OUTPUT); pinMode(pinLedAmarelo, OUTPUT); pinMode(pinLedVerde, OUTPUT); pinMode(pinSensorPIR, INPUT); } void loop() { // Verificar o sensor de presença if (digitalRead(pinSensorPIR) == HIGH) { // Sensor detectou presença, dar mais tempo ao sinal verde ligarSinalVerde(15); // Tempo aumentado para 15 segundos } else { // Nenhum carro detectado, tempo normal para o sinal verde ligarSinalVerde(1); // Tempo padrão para 1 segundos } } void ligarSinalVerde(int tempoSegundos) { // Acender o LED verde digitalWrite(pinLedVermelho, LOW); digitalWrite(pinLedAmarelo, LOW); digitalWrite(pinLedVerde, HIGH); // Aguardar o tempo determinado delay(tempoSegundos * 1000);

Atividade Prática de Linguagem de Programação III. Apresentar a captura de tela evidenciado o funcionamento:

Atividade Prática de Linguagem de Programação

Atividade Prática de Linguagem de Programação } void armazenarTemperatura(float temperatura) { // Armazena a temperatura no vetor temperaturas[indiceLeitura] = temperatura; indiceLeitura++; // Se atingir o limite máximo de leituras, reinicia o índice if (indiceLeitura >= maxLeituras) { indiceLeitura = 5; } } void imprimirTemperaturasArmazenadas() { // Imprime no terminal serial as temperaturas armazenadas no vetor for (int i = 0; i < maxLeituras; i++) { Serial.print("Leitura "); Serial.print(i + 1); Serial.print(": "); Serial.println(temperaturas[i]); } } V. Apresentação a do circuito:

Atividade Prática de Linguagem de Programação VI. VII. Apresentar a captura de tela evidenciado o funcionamento:

Atividade Prática de Linguagem de Programação

PRÁTICA 03

Utilizar matrizes para armazenar mensagens personalizadas que são exibidas em

um display LCD, controlado por botões.

Deve-se definir uma estrutura que contém uma mensagem e seu tipo (por exemplo,

alerta, informação, erro) e usar matrizes para armazenar diferentes mensagens.

Botões diferentes devem exibir mensagens diferentes no display.

Monte o circuito adequado com o display LCD e os botões.

Para demonstrar o funcionamento faça as capturas de tela.

VIII. Apresentação do código-fonte (colorido): #include #define BTN1_PIN 6 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); const char mensagens[][2] = { {"Teste 1: Pressione BTN1", "Bem vindo"}, {"Teste 2: Pressione BTN1", "Lindo dia"}, {"Teste 3: Pressione BTN1", "Vc e especial"}, {"Teste 4: Pressione BTN1", "Amar e viver"}, {"Teste 5: Pressione BTN1", "Jesus te ama"}, {"Teste 6: Pressione BTN1", "Volte sempre"}, {"Teste 7: Pressione BTN1", "Perigo"}, {"Teste 8: Pressione BTN1", "Amor"}, {"Teste 9: Pressione BTN1", "Bozina"}, {"Teste 10: Pressione BTN1", "Fim"} }; int indiceAtual = 0; void setup() { lcd.begin(16, 2); pinMode(BTN1_PIN, INPUT_PULLUP); exibirMensagem(); // Exibe a primeira mensagem ao iniciar } void loop() { if (digitalRead(BTN1_PIN) == LOW) { incrementarIndice(); exibirMensagem(); delay(500); // Adiciona um pequeno delay para evitar leituras múltiplas do botão } } void incrementarIndice() { indiceAtual++;*

Atividade Prática de Linguagem de Programação if (indiceAtual >= sizeof(mensagens) / sizeof(mensagens[0])) { indiceAtual = 0; } } void exibirMensagem() { lcd.clear(); lcd.setCursor(0, 0); lcd.print(mensagens[indiceAtual][1]); lcd.setCursor(0, 1); lcd.print(mensagens[indiceAtual][0]); while (digitalRead(BTN1_PIN) == HIGH) { // Aguarda até que o botão seja pressionado novamente } delay(200); // Adiciona um pequeno delay para evitar leituras múltiplas do botão } IX. Apresentação a do circuito:

Atividade Prática de Linguagem de Programação

Atividade Prática de Linguagem de Programação

PRÁTICA 04

Implementar um sistema de iluminação que ajusta a intensidade de um LED baseado

na luz ambiente, utilizando alocação dinâmica de memória para armazenar leituras

de luz.

Deve-se usar um sensor de luz (LDR) para determinar a intensidade da luz ambiente

e ajustar a luminosidade de um LED adequadamente. O programa deve alocar

dinamicamente um espaço na memória para armazenar as últimas x leituras do

sensor e calcular a média para ajustar a intensidade do LED.

Para x = os dois primeiros dígitos do seu RU.

Monte o circuito adequado com o sensor de temperatura e o LED.

Para demonstrar o funcionamento faça as capturas de tela.

XI. Apresentação do código-fonte (colorido): const int LDR_PIN = A0; const int LED_PIN = 9; // Número de leituras a serem armazenadas para calcular a média const int NUM_LEITURAS = 45; // Estrutura para armazenar leituras struct Leituras { int valores; int indice; }; Leituras leituras; void setup() { Serial.begin(9600); pinMode(LDR_PIN, INPUT); pinMode(LED_PIN, OUTPUT); // Inicializa a estrutura de leituras leituras.valores = new int[NUM_LEITURAS]; leituras.indice = 0; } void loop() { // Lê o valor do LDR int valorLDR = analogRead(LDR_PIN); // Armazena a leitura atual leituras.valores[leituras.indice] = valorLDR; leituras.indice = (leituras.indice + 1) % NUM_LEITURAS; // Calcula a média das leituras int media = calcularMedia(leituras.valores, NUM_LEITURAS);*

Atividade Prática de Linguagem de Programação XIII. Apresentar a captura de tela evidenciado o funcionamento:

Atividade Prática de Linguagem de Programação

PRÁTICA 05

Utilizar a recursividade para criar uma sequência animada de acendimento de LEDs,

onde cada LED é acionado de forma sequencial com um intervalo de tempo, e após

o último LED, a sequência recomeça de maneira recursiva.

Deve-se aplicar a recursividade para criar uma animação visual interessante com

LEDs.

Monte o circuito adequado com os LEDs.

Para demonstrar o funcionamento faça as capturas de tela.

XIV. Apresentação do código-fonte (colorido): const int numLEDs = 5; const int pinosLED[] = {9, 10, 11, 12, 13}; const int intervalo = 500; void setup() { for (int i = 0; i < numLEDs; i++) { pinMode(pinosLED[i], OUTPUT); } } void loop() { animacaoRecursiva(0); } void animacaoRecursiva(int indice) { if (indice < numLEDs) { acenderLED(indice); delay(intervalo); apagarLED(indice); animacaoRecursiva(indice + 1); delay(intervalo); } else { animacaoRecursiva(0); // Recomeça a animação } } void acenderLED(int indice) { digitalWrite(pinosLED[indice], HIGH); } void apagarLED(int indice) { digitalWrite(pinosLED[indice], LOW); }