Você está na página 1de 16

ESCOLA TÉCNICA ESTADUAL – DRA.

RUTH CARDOSO – SÃO VICENTE

Aula 08 – 28/11/23 - SE – 2DS2


Curso: Técnico em Desenvolvimento de
Tempo de Aula Total: 2h05 minutos
Sistemas
Disciplina: Sistemas Embarcados DATA: 28/11/23 (15h55)

Explicação da Tarefa 03 – Avaliação.


Atividades de projeto e programação no Arduino.

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03 - Exercício 01 – Etapa 01

- Projetar um circuito de um semáforo no simulador de sua preferência.


O programa deve inicializar apresentando o nome dos componentes do
grupo no Monitor Serial e posteriormente realizar o ciclo do semáforo.
Abaixo segue o ciclo do semáforo:

LEDs Tempo Aceso em segundos (s)


LED Verde 10s
LED Amarelo 2s
LED Vermelho 12s

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03- Exercício 01 – Etapa 02

- A partir da primeira etapa, implementar um semáforo para pedestres.

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03 - Exercício 01 – Etapa 03 (Não obrigatória)


- Implementar um botão para que os pedestres
possam solicitar passagem. Se o botão for
acionado, o sistema deve terminar o ciclo
atual e fechar o semáforo de carros por 15
segundos para a passagem de pedestres.

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03 - Exercício 01 – Dica de ligação no Tinkercad

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03- Exercício 02 – INDIVIDUAL

- Proponha um problema de Sistemas Embarcados que utilize conceitos


que trabalhamos em nossas aulas. O problema deve conter os requisitos
mínimos abaixo:
- Inicializar apresentando o seu nome completo (aluno) no monitor serial;
- Utilizar uma entrada digital ou analógica;
- Utilizar uma saída digital ou PWM.

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03- Como devo responder no Teams?

- Respostas:
- Links das etapas do exercício 1 (GRUPO):
- O mesmo link para todos os componentes do grupo.

- Link do exercício 2 (INDIVIDUAL):


- Link do projeto individual.

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03 – Como programar? Definir variáveis!

- int ini=0; //inicialização para escrever o nome


- int sema=1; //se sema=1 o A está em vermelho e se sema=2 o A está em
verde

- #define RedsemA 8 // Luz vermelha do semáforo de carros


- #define YelsemA 7 // Luz Amarela do semáforo de carros
- #define GresemA 6 // Luz verde do semáforo de carros

- #define RedpedA 5 // Luz vermelha do semáforo de pedestres


- #define GrepedA 4 // Luz verde do semáforo de pedestres

- #define BotpedA 2 // botão pedestres

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03 – Como programar? Configurar hardware (void setup)


void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // inicializa a comunicação serial para o monitor serial
pinMode(2, INPUT_PULLUP); // define o botão pedestres como sinal de entrada
pinMode(4, OUTPUT); // define o pino 4 como saída - Luz verde do semáforo de
pedestres
pinMode(5, OUTPUT); // define o pino 5 como saída - Luz vermelha do semáforo de
pedestres
pinMode(6, OUTPUT); // define o pino 6 como saída - Luz verde do semáforo
pinMode(7, OUTPUT); // define o pino 7 como saída - Luz amarela do semáforo
pinMode(8, OUTPUT); // define o pino 8 como saída - Luz vermelha do semáforo
attachInterrupt(digitalPinToInterrupt(BotpedA), peda, RISING); // define
interrupção para o botão dos pedestres, chama a rotina peda e no modo RISING.
}

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03 – Como programar? Formas de Interrupção


Sintaxe

attachInterrupt(digitalPinToInterrupt(pino), ISR, modo);

attachInterrupt(digitalPinToInterrupt(BotpedA), peda, RISING);

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03 – Como programar? Lógica do programa

- void loop() {
- // put your main code here, to run repeatedly:
- if (ini==0) { //inicialização do sistema para escrever os nomes

- Serial.println("Cleber Neves"); //escreve o nome do componente

- ini++; //incrementa a variável de inicialização para ela nunca mais entrar


neste laço

- delay (3000); // tempo de 3 segundos para visualizar bem no monitor serial


- }

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03 – Como programar? Lógica do programa


- if (ini==1 && sema!=0) { // inicialização do - Serial.println("Cleber Neves sema 1 parte 2");
semáforo - delay (2000);
- sema=1; // semáforo de carros em vermelho - sema=2; //semáforo de carros em verde
- digitalWrite(RedsemA, HIGH); // semáforo - digitalWrite(RedsemA, LOW); // semáforo de
fechado carros aberto
- digitalWrite(YelsemA, LOW); - digitalWrite(YelsemA, LOW);
- digitalWrite(GresemA, LOW); - digitalWrite(GresemA, HIGH);

- digitalWrite(RedpedA, LOW); // semáforo de - delay(10000);


pedestres abertos
- digitalWrite(GrepedA, HIGH); - digitalWrite(YelsemA, HIGH); // semáforo de
carros vai para amarelo
- Serial.println("Cleber Neves sema 1"); - digitalWrite(GresemA, LOW);
- delay (10000); - delay (2000);
- digitalWrite(RedpedA, HIGH); // Fecha o de
pedestres para abrir o de carros - }
- digitalWrite(GrepedA, LOW);
- }

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03 – Como programar? Lógica do programa


- if (ini==2 && sema!=0) { //laço que só será acessado caso - if (ini==2 && sema!=0) { //laço que só será acessado caso o
o botão de pedestres seja acionado, pois ini=2 botão de pedestres seja acionado, pois ini=2
- if (sema==1) { // se o semáforo estiver em vermelho - if (sema==2) { // se o semáforo estiver em verde
- digitalWrite(RedsemA, HIGH); - digitalWrite(GresemA, LOW); // desliga o verde e aciona o
amarelo para os carros
- digitalWrite(YelsemA, LOW);
- digitalWrite(YelsemA, HIGH);
- digitalWrite(GresemA, LOW);
- delay(2000);
- digitalWrite(RedpedA, HIGH); - digitalWrite(RedsemA, HIGH); // fecha o semáforo de carros e
- digitalWrite(GrepedA, LOW); abre o de pedestres
- Serial.println("Cleber Neves INT semáforo em vermelho"); - digitalWrite(YelsemA, LOW);
- delay(2000); - digitalWrite(GresemA, LOW);
- digitalWrite(RedpedA, LOW); // verde para os pedestres - digitalWrite(RedpedA, LOW);
- digitalWrite(GrepedA, HIGH); - digitalWrite(GrepedA, HIGH);
- Serial.println("Cleber Neves INT semáforo em vermelho - Serial.println("Cleber Neves INT semáforo verde");
parte 2"); - delay(15000);
- delay (5000); - Serial.println("Cleber Neves INT semáforo verde parte 2");
- delay (15000);
- ini=1; //botão de pedestres foi atendido e a variável ini
- ini=1; //botão de pedestres foi atendido e a variável ini volta a
volta a ser igual a 1
ser igual a 1
- } - }
- }
- }
- }

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Tarefa 03 – Como programar? Lógica do programa


- void peda () { //rotina de interrupção quando se aperta o
botão de pedestres
- ini=2;
- }

- Link do exercício do Professor


- https://wokwi.com/projects/382640126764611585

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

Sucesso a todos e muito obrigado.

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS


ESCOLA TÉCNICA ESTADUAL – DRA. RUTH CARDOSO – SÃO VICENTE

REFERÊNCIAS
- ARDUINO - Documentação de Referência da Linguagem Arduino. Disponível em:
<https://www.arduino.cc/reference/pt/>. Acesso em: 15 de outubro de 2023.

PROF. CLEBER P. DA C. NEVES DISCIPLINA: SISTEMAS EMBARCADOS

Você também pode gostar