0% acharam este documento útil (0 voto)
11 visualizações3 páginas

Semáforo Controlado por Arduino

Enviado por

nene6247
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
11 visualizações3 páginas

Semáforo Controlado por Arduino

Enviado por

nene6247
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

SEMÁFORO NO ARDUINO

MATHEUS GIORDANI COSTA VELTRONI


RA 2833639

SÃO PAULO
2024

1
int vdVeiculo = 11;
int amVeiculo = 12;
int vmVeiculo = 13;

int vdPedestre = 6;
int vmPedestre = 7;

int btSemarofo = 2;

unsigned long tempoAtual = 0;


unsigned long tempoAnterior = 0;

void setup() {
// Configuraç~
ao dos pinos
pinMode(vdVeiculo, OUTPUT);
pinMode(amVeiculo, OUTPUT);
pinMode(vmVeiculo, OUTPUT);
pinMode(vdPedestre, OUTPUT);
pinMode(vmPedestre, OUTPUT);
pinMode(btSemarofo, INPUT);

Estado1(); // Inicia o semáforo no estado 1


}

void loop() {
tempoAtual = millis(); // Atualiza o tempo atual

// Verifica se o bot~
ao está pressionado ou se passou 15 segundos
if(digitalRead(btSemarofo) == LOW || tempoAtual - tempoAnterior >= 15000) {
// Altera os estados com atraso
Estado2();
delay(3000);
Estado3();

2
delay(20000);

tempoAnterior = millis(); // Atualiza o tempo da última transiç~


ao

Estado1(); // Retorna para o estado 1


}
}

// Semáforo verde para os veı́culo


void Estado1() {
digitalWrite(vdVeiculo, HIGH);
digitalWrite(amVeiculo, LOW);
digitalWrite(vmVeiculo, LOW);

digitalWrite(vdPedestre, LOW);
digitalWrite(vmPedestre, HIGH);
}

// Semáforo amarelo para os veı́culo


void Estado2() {
digitalWrite(vdVeiculo, LOW);
digitalWrite(amVeiculo, HIGH);
digitalWrite(vmVeiculo, LOW);

digitalWrite(vdPedestre, LOW);
digitalWrite(vmPedestre, HIGH);
}

// Semáforo vermelho para os veı́culo


void Estado3() {
digitalWrite(vdVeiculo, LOW);
digitalWrite(amVeiculo, LOW);
digitalWrite(vmVeiculo, HIGH);

digitalWrite(vdPedestre, HIGH);
digitalWrite(vmPedestre, LOW);
}

Você também pode gostar